簡體   English   中英

如何在Safari中使用UIWebView打開除了一些鏈接之外的所有鏈接?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM