• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: can't get DOMDocument from WebView
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: can't get DOMDocument from WebView


  • Subject: Re: can't get DOMDocument from WebView
  • From: Kenny Leung <email@hidden>
  • Date: Tue, 2 May 2006 16:14:38 -0700

Hmmm... It seems that there is no way to get the document to load without returning to the run loop. This makes life difficult. Funny how they designed the system to do something difficult but then made it very difficult to do something very simple. Reminds me of Java.

-Kenny


On May 2, 2006, at 2:20 PM, glenn andreas wrote:


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
  • Follow-Ups:
    • Re: can't get DOMDocument from WebView
      • From: Nicko van Someren <email@hidden>
    • Re: can't get DOMDocument from WebView
      • From: John Stiles <email@hidden>
References: 
 >can't get DOMDocument from WebView (From: Kenny Leung <email@hidden>)
 >Re: can't get DOMDocument from WebView (From: glenn andreas <email@hidden>)

  • Prev by Date: Re: Efficiently getting characters
  • Next by Date: Re: can't get DOMDocument from WebView
  • Previous by thread: Re: can't get DOMDocument from WebView
  • Next by thread: Re: can't get DOMDocument from WebView
  • Index(es):
    • Date
    • Thread