[英]Making certain links in WKWebView open in Safari, not the Webview
[英]Open links in Safari from WKWebView versus webView in iOS10+
我发现了关于该主题在iOS10 +中如何弃用openURL的许多有用文章。 但是我花了一些时间才能在我的项目中正确实现它。
这不适用于我(使用WKWebView),但这是我在现有代码中的处理方式 :
- (BOOL)WKWebView:(UIWebView *)WKWebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
...code to handle open url...
}
但是,此DID对我有用(使用webView):
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
...code to handle open url...
}
为什么是这样? 如果这很重要,我的应用程序的目标部署是8.0,并且我仍然具有支持较旧的“ openURL”方法的代码。
另外,根据文档, 我应该使用WKWebView 。
对于WKWebView
,应使用navigationDelegate
。 关于shouldStartLoadWithRequest
您可以编写:
- (void)webView:(WKWebView *)webView
decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction
decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.