Re: can't get DOMDocument from WebView
Re: can't get DOMDocument from WebView
- Subject: Re: can't get DOMDocument from WebView
- From: glenn andreas <email@hidden>
- Date: Tue, 2 May 2006 16:20:36 -0500
On May 2, 2006, at 4:09 PM, Kenny Leung wrote:
Hi All.
I've been working all morning trying to get A DOM Document from a
WebView. Actually, I don't want to use a WebView. I just want to
gain access to the DOM parsing functionality. I would be happy if I
could get it without instantiating a WebView. Here is the code I've
been using, complete with temporary hacks:
self = [super init];
if ( self ) {
window = [[NSWindow alloc] initWithContentRect:NSMakeRect
(0, 0, 100, 100) styleMask:NSBorderlessWindowMask
backing:NSBackingStoreBuffered defer:NO];
webView = [[[WebView alloc] initWithFrame:NSMakeRect(0, 0,
100, 100)] autorelease];
[window setContentView:webView];
[window makeKeyAndOrderFront:self];
frame = [webView mainFrame];
request = [NSURLRequest requestWithURL:[NSURL
fileURLWithPath:path]];
data = [NSData dataWithContentsOfFile:path];
// [frame loadRequest:request];
string = [[NSString alloc] initWithData:data
encoding:NSUTF8StringEncoding];
[frame loadHTMLString:string baseURL:[NSURL
URLWithString:@"http://www.quickceph.com"]];
// while ( ![frame dataSource] ) {
sleep(1);
// }
domDoc = [frame DOMDocument];
}
Everything checks out (not nil) until it gets to the last line of
asking for the DOMDocument. The DOMDocument is nil. Has anyone else
been successful at this?
Your "while (![frame dataSource]) sleep(1);" does not do what you
think it does (regardless of how it is commented or not).
You need to set a load delegate to the web view and implement the
webView:didFinishLoadForFrame: routine to actually be notified when
the frame is fully loaded (at which point you can do whatever you
want with the DOMDocument)
Glenn Andreas email@hidden
<http://www.gandreas.com/> wicked fun!
Widgetarium | the quickest path to widgets
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden