这是一个像Open mobile Safari From a link in a webview这样的问题
上述问题的答案提到可以从Chrome打开。
此外,这个question提供了一个解决方案,但在iOS 8上面的webview中无法正常工作。
但是,我想要实现的目标是通过点击应用程序的webview中的URL来打开移动Safari(它可能是gmail客户端,whatsapp,facebook messengers..etc)。
我会描述我的用户场景,以使我的问题更清晰。
我的网站链接网站 A 。用户可以在gmail app,facebook messenger或whatsapp中收到我的网站的URL。当用户点击我的网站的网址时,该网站将直接显示在该应用的网页浏览中。当用户点击网站 A 的链接时,我希望它可以在移动版Safari 中打开网站 A ,而不是留在网页浏览中,因为我需要Safari提供的添加到屏幕功能,以便用户可以更方便地将网站 A 添加到主屏幕。
没有类似'
的网址方案。是否有任何safari://xxx
或JavaScript
方法可以实现此目的?
我在网上搜索过,但在上面的iOS 8上找不到可行的解决方案
任何建议表示赞赏。非常感谢!
答案 0 :(得分:1)
是的。
向您的webview添加委托并实施以下方法:
optional func webView(_ webView: UIWebView,
shouldStartLoadWithRequest request: NSURLRequest,
navigationType navigationType: UIWebViewNavigationType) -> Bool
如下:
func webView(webView: UIWebView, request: NSURLRequest,navigationType: UIWebViewNavigationType) -> Bool {
//Check if the URL is the one you want in mobile safari
if request.URL.absoluteString == THE_URL_TO_OPEN_IN_MOBILE_SAFARI {
UIApplication.sharedApplication.openURL(request.URL)
return false
}else{
return true
}
}