自己看的文章iOS日常bug

WKWebView系列--点击按钮无反应

2019-08-13  本文已影响0人  JQWONG
问题
分析
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
    if ([webView.URL.absoluteString containsString:@"crowdrise"]) {
        [[UIApplication sharedApplication] openURL:webView.URL];
    }
    if (navigationAction.targetFrame == nil) {
        [webView loadRequest:navigationAction.request];
    }  else {
        decisionHandler(WKNavigationActionPolicyAllow);
        return;
    }
    decisionHandler(WKNavigationActionPolicyCancel);
}

可以解决问题,但是并不懂其中原理,继续查找资料
有资料说是因为html源码中有一个可点击的标签带有target='_blank'就会导致WKWebView无法加载点击后的网页的问题

验证

用Safari对webview进行调试,html源码的确有`target='_blank'
验证完成


描述
target=' _blank' 在新窗口中打开被链接文档
target='_self' 默认 在相同的框架中打开被链接文档
target='_parent' 在父框架集中打开被链接文档
target='_top' 在整个窗口中打开被链接文档
target='framename' 在指定的框架中打开被链接文档
如何用Safari调试webview

参考
https://blog.csdn.net/u012265444/article/details/79070742
尊重原创,谢谢!
未经授权请勿转载!
上一篇 下一篇

猜你喜欢

热点阅读