【问题标题】:Open links in Safari from WKWebView versus webView in iOS10+从 WKWebView 与 iOS10+ 中的 webView 在 Safari 中打开链接
【发布时间】:2017-09-12 17:57:57
【问题描述】:

我发现了很多有用的帖子,关于如何在 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”方法。

另外,根据文档,I should be using WKWebView。

【问题讨论】:

标签: ios objective-c xcode ios10 openurl


【解决方案1】:

对于WKWebView,您应该使用navigationDelegate。 关于shouldStartLoadWithRequest可以写:

- (void)webView:(WKWebView *)webView 
decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction 
decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler;

【讨论】:

    猜你喜欢
    • 2013-01-07
    • 1970-01-01
    • 1970-01-01
    • 2012-05-10
    • 2015-08-16
    • 1970-01-01
    • 2020-11-27
    相关资源
    最近更新 更多