WKWebView 点击链接无反应

最近在项目开发中,遇到了点击链接无法跳转的问题,类似<a href="http://test.xxxx.com:8088/webServer/shareUrl/redirect?id=425" target="_blank">电脑</a>,因为这是个网页,开始还以为是h5开发人员没把这个链接的js事件监听没给我,后来才发现是自己有几个WKWebView的delegate方法没有实现,顿时一阵尴尬。

wkWebView 点击链接无反应 ,多半是因为网页中有target="_blank" 在新窗口打开链接,解决方法有2种任选一种实现就ok:

1. -(void)webView:(WKWebView*)webView decidePolicyForNavigationAction:(WKNavigationAction*)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{ 

 //如果是跳转一个新页面 if(navigationAction.targetFrame== nil){ 

         [webView loadRequest:navigationAction.request];

    }

    decisionHandler(WKNavigationActionPolicyAllow);

}

2.-(WKWebView *)webView:(WKWebView *)webView createWebViewWithConfiguration:(WKWebViewConfiguration *)configuration forNavigationAction:(WKNavigationAction *)navigationAction windowFeatures:(WKWindowFeatures *)windowFeatures

{

    NSLog(@"createWebViewWithConfiguration");

    if (!navigationAction.targetFrame.isMainFrame) {

        [webView loadRequest:navigationAction.request];

    }

    return nil;

}

2种方法都亲测有效。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容