2014-10-14 31 views
6

Ich versuche, eine Webseite in einem WKWebView Steuerelement zu laden, ohne sie als ein Subview zu Laden:didFinishNavigation nicht aufgerufen wird

WKPreferences *preferences = [[WKPreferences alloc] init]; 
preferences.javaScriptEnabled = YES; 
WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init]; 
configuration.preferences = preferences; 
WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:configuration]; 
webView.navigationDelegate = self; 
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url]; 
[urlRequest setValue:@"Safari" forHTTPHeaderField:@"User-agent"]; 
[webView loadRequest:urlRequest]; 

Die URL ich zu laden bin versucht, ist dies:

https://www.google.com/search?q=mustang 

die folgende WKNavigationDelegate Methode wird nicht aufgerufen wird:

- (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation 
{ 
    [webView evaluateJavaScript:@"document.getElementsByTagName('html')[0].outerHTML" completionHandler:^(id result, NSError *error) { 
     NSLog(@"Result %@", result); 
    }]; 
} 

Meine NSObject Klasse der 0 entsprichtProtokoll.

Muss ich etwas anderes tun?

Vielen Dank für jede Hilfe.

Antwort

0

Das Laden der gleichen URL scheint für mich zu funktionieren.

Hinweis: Die Methode didFinishNavigation wird aufgerufen, nachdem der Ladevorgang abgeschlossen ist (dies beinhaltet das Laden von Daten von anderen Hosts, die im Hauptrahmen vorhanden sind). Wenn also etwas langsam reagiert, wird die Methode didFinishNavigation nicht aufgerufen, bis sie aufgelöst wird.

Verwandte Themen