当前位置:   article > 正文

iOS WKWebView网页文字加载完了但过了很久才执行didFinishNavigation该怎么办,我需要在文字的加载完后进行页面操作_swift wkwebview 等待页面内容加载完成执行操作

swift wkwebview 等待页面内容加载完成执行操作

这是因为少量的图片视频没有下载完,但不影响网址文字整体内容查看,原生该如何如何监听呢?

研究过程不写了,直接写最终解决方法

1.创建WKWebViewConfiguration的时候注入监听代码$(document).ready(function(){})

  1. WKUserScript *script = [[WKUserScript alloc] initWithSource:@"$(document).ready(function(){alert('YYYyesYYY');})" injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];
  2. [userCC addUserScript:script];

2.在这个方法里 和原生交互,调用原生方法,这里以alert为例

3.在runJavaScriptAlertPanelWithMessage进行判断处理

  1. - (void)webView:(WKWebView *)webView runJavaScriptAlertPanelWithMessage:(NSString *)message initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(void))completionHandler {
  2. if ([message isEqualToString:@"YYYyesYYY"]) {
  3. [self dealwith:webView];
  4. completionHandler();
  5. return;
  6. }
  7. }

4.然后在dealwith方法里就可以执行js代码了evaluateJavaScript,获取body,添加标签都可以的

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/109525
推荐阅读
相关标签
  

闽ICP备14008679号