美文网首页
WKWebView中a标签设置target问题

WKWebView中a标签设置target问题

作者: Money_YC | 来源:发表于2021-03-18 15:10 被阅读0次

    问题:某次用WKWebView加载h5的时候发现点击跳转详情无效

    代码:

     <a class="ace-link ace-link-primary activity-mobile-keypoint-content-container-val-sign" href="https://www.baidu.com" target="_blank">详情</a>
    

    分析:

    HTML代码中 a 标签设置 target 属性为 _blank,因为 _blank 属性在浏览器中代表打开一个新窗口,但在 WKWebView 中会导致 WKNavigationDelegate 导航方法被调用两次

    解决:

    页面加载完成之后手动执行JS方法修改target属性为_self

    - (void)webView:(WKWebView *)webView didFinishNavigation:(WKNavigation *)navigation {
        [webView evaluateJavaScript:@"var a = document.getElementsByTagName('a');for(var i=0;i<a.length;i++){a[i].setAttribute('target','_self');}" completionHandler:nil];
    }
    

    相关文章

      网友评论

          本文标题:WKWebView中a标签设置target问题

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