美文网首页技术重塑固予UIWebView与WKWebView的使用
关于WKWebView 加载网页 点击link不会跳转的解决方案

关于WKWebView 加载网页 点击link不会跳转的解决方案

作者: 青春微凉来时路 | 来源:发表于2016-05-12 14:39 被阅读10573次

最近一个项目,为了尝鲜,就抛弃了iOS7,最低兼容iOS8 项目中的UIWebView 也换成WKWebView了,使用起来就是输入,再也不用担心进度条了,可是,偶然间却发现部分网页里面的 "a"标签点击没反应, 后来发现 这些不会跳转的link 都有一个共同点,那就是跳转方式

 都为<a href = "xxx" target = "_black">

原来 "_black" 是开一个新的页面 打开网页,就像safari中弹出一个新的页面显示一样 但是在项目中我们并没有让他打开一个新的页面,所以就会导致点击没反应 解决方法也很简单,判断如果不是在本页面打开 就重新 load一下 也可以 调用safari打开

在 WKWebView的代理方法中 加入面的判断即可

-(void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler
{
    //如果是跳转一个新页面
    if (navigationAction.targetFrame == nil) {
        [webView loadRequest:navigationAction.request];
    }
   
    decisionHandler(WKNavigationActionPolicyAllow);
}

相关文章

网友评论

    本文标题:关于WKWebView 加载网页 点击link不会跳转的解决方案

    本文链接:https://www.haomeiwen.com/subject/pohprttx.html