[英]How to open all links, besides some, in Safari with UIWebView?
我从这里获得以下代码以打开与Safari中的域名不匹配的所有其他链接:
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if navigationType == UIWebViewNavigationType.LinkClicked {
UIApplication.sharedApplication().openURL(request.URL!)
return false
}
return true
}
虽然我如何允许在我的UIWebView
而不是Safari中打开另一个指定的域,例如paypal.com
?
您可以存储允许的URL列表,并过滤请求URL的主机名。 如果主机与其中一个允许的URL匹配,则返回true以允许在Web视图中加载URL。 否则,使用UIApplication.openURL()在Safari中打开URL。
例如:
let safeList = [ "paypal.com", "google.com" ]
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if navigationType == UIWebViewNavigationType.LinkClicked {
if let host = request.URL?.host where safeList.contains(host) {
return true // Open in web view
}
UIApplication.sharedApplication().openURL(request.URL!)
return false
}
return true
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.