[英]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.