停止 WKWebView 重定向到另一个基于 Universal link 的应用
Stop WKWebView redirecting to another app based on Universal link
我们正在使用 WKWebview 来自定义加载和管理我们的 ServiceNow 实例,但是当登录成功时,如果用户安装了 "ServiceNow" 移动应用程序 post登录它会打开 ServiceNow 应用程序。
尝试阻止最后的 Url 导航操作 (decidePolicyfor navigationAction) 但没有成功。
这是由于 Universal link 在 ServiceNow 结束时发生的。 http://service-now.com/apple-app-site-association
有什么方法可以在我们这边阻止这个操作。
希望 WKWebView 自定义代理对您有用。使用以下代码
webView.customUserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36"
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
decisionHandler(WKNavigationActionPolicy(rawValue: WKNavigationActionPolicy.allow.rawValue + 2)!)
}
这似乎解决了问题。
我们正在使用 WKWebview 来自定义加载和管理我们的 ServiceNow 实例,但是当登录成功时,如果用户安装了 "ServiceNow" 移动应用程序 post登录它会打开 ServiceNow 应用程序。
尝试阻止最后的 Url 导航操作 (decidePolicyfor navigationAction) 但没有成功。
这是由于 Universal link 在 ServiceNow 结束时发生的。 http://service-now.com/apple-app-site-association
有什么方法可以在我们这边阻止这个操作。
希望 WKWebView 自定义代理对您有用。使用以下代码
webView.customUserAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.95 Safari/537.36"
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
decisionHandler(WKNavigationActionPolicy(rawValue: WKNavigationActionPolicy.allow.rawValue + 2)!)
}
这似乎解决了问题。