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

来源:互联网 发布:ubuntu usr目录在哪 编辑:程序博客网 时间:2024/06/06 02:45

我们项目使用WKWebView加载网页,相比UIWebView优化了很多,可是,偶然间却发现天猫网页里面的 "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);}



阅读全文
0 0