在使用WKWebView时发现的一个问题,点击加载成功的网页后,点击页面内的了解无法进行跳转,查了资料说是可能因为链接的网页中含有_black,原来 "_black" 是开一个新的页面打开网页,按照资料给出的方法进行修改,发现并没有效果,多次尝试后发现是缺少了一个代理的实现,下面给出正确的方法。
1.添加代理,并遵循:
大家都知道WKWebView的一个代理是WKNavigationDelegate,此处我们需要的是另一个代理——WKUIDelegate;
webView.UIDelegate = self;
2.实现代理方法:
-(WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigationAction:(WKNavigationAction *)navigationAction windowFeatures:(WKWindowFeatures *)windowFeatures
{
if (!navigationAction.targetFrame.isMainFrame) {
[webView loadRequest:navigationAction.request];
}
return nil;
}
通过以上简单的操作就可以解决WKWebView内点击链接不跳转的问题了。
网友评论