使用WKWebView发现,部分网页里面的"a"标签点击没反应,后来咨询前端发现跳转都是这样的:
<a href="https://www.baidu.com/" target="_blank" >按钮< /a>
target="_blank"
的意思就是打开一个新的标签页,但是在项目中我们并没有让它打开一个新的页面,所以就会导致点击没反应。
解决方法:
方法1:判断是不是在本页面打开,如果不是,就重新 load一下
在 WKWebView的代理方法中,加入面的判断即可:
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler
{
// 如果是跳转一个新页面
if (navigationAction.targetFrame == nil) {
[webView loadRequest:navigationAction.request];
}
decisionHandler(WKNavigationActionPolicyAllow);
}
方法2:直接调用Safari打开
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"https://www.baidu.com/"]];
网友评论