webview_flutter 中超链接在iOS中不能跳转问题

2,088 阅读1分钟

webview_flutter在iOS中使用wkwebview,wkwebview在点击的超链接打开新窗口时不会自动加载,这是iOS机制问题,解决方法有三个: 1:协调h5同学,不使用新窗口打开需要跳转的网页即可. 2:flutter中使用webview时会在

WebView(onWebViewCreated: (controller){},);

中返回controller,拿到这个controller保存起来,拿到超链接后手动load即可 3:在iOS端修改 该组件会在iOS端生成一个 FLTWKNavigationDelegate 来处理网络请求 找到

- (**void**)webView:(WKWebView*)webView

    decidePolicyForNavigationAction:(WKNavigationAction*)navigationAction

                    decisionHandler:(**void** (^)(WKNavigationActionPolicy))decisionHandler{}

方法,在最后添加:

**if**(navigationAction.targetFrame== **nil**){

                       [webView loadRequest:navigationAction.request];

                   }

即可