Ios 如何使用UIWebView在Safari中打开除部分链接之外的所有链接?
我从获得了以下代码,用于打开与Safari中我的域不匹配的所有其他链接:Ios 如何使用UIWebView在Safari中打开除部分链接之外的所有链接?,ios,swift,uiwebview,Ios,Swift,Uiwebview,我从获得了以下代码,用于打开与Safari中我的域不匹配的所有其他链接: func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool { if navigationType == UIWebViewNavigationType.LinkClicked { UIApp
func webView(webView: UIWebView, shouldStartLoadWithRequest request: NSURLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if navigationType == UIWebViewNavigationType.LinkClicked {
UIApplication.sharedApplication().openURL(request.URL!)
return false
}
return true
}
虽然我如何允许在my
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
}