ios – didFinishNavigation未被调用

前端之家收集整理的这篇文章主要介绍了ios – didFinishNavigation未被调用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试在WKWebView控件中加载网页而不将其作为子视图加载:
  1. WKPreferences *preferences = [[WKPreferences alloc] init];
  2. preferences.javaScriptEnabled = YES;
  3. WKWebViewConfiguration *configuration = [[WKWebViewConfiguration alloc] init];
  4. configuration.preferences = preferences;
  5. WKWebView *webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:configuration];
  6. webView.navigationDelegate = self;
  7. NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
  8. [urlRequest setValue:@"Safari" forHTTPHeaderField:@"User-agent"];
  9. [webView loadRequest:urlRequest];

我正在尝试加载的网址是:

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

调用以下WKNavigationDelegate方法

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

我的NSObject类符合WKNavigationDelegate协议.

我还需要做点什么吗?

非常感谢任何帮助.

解决方法

加载相同的URL似乎对我有用.

请注意:在主帧加载完成后调用didFinishNavigation方法(这包括从主框架中存在的其他主机加载内容).因此,如果某些内容响应缓慢,则在解决之前不会调用didFinishNavigation方法.

猜你在找的iOS相关文章