美文网首页技术重塑固予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