問題:某次用WKWebView加載h5的時候發(fā)現(xiàn)點(diǎn)擊跳轉(zhuǎn)詳情無效
代碼:
<a class="ace-link ace-link-primary activity-mobile-keypoint-content-container-val-sign" target="_blank">詳情</a>
分析:
HTML代碼中 a 標(biāo)簽設(shè)置 target 屬性為 _blank,因?yàn)?_blank 屬性在瀏覽器中代表打開一個新窗口,但在 WKWebView 中會導(dǎo)致 WKNavigationDelegate 導(dǎo)航方法被調(diào)用兩次
解決:
頁面加載完成之后手動執(zhí)行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];
}