www.example.com/batmanpage
允许您通过Safari打开外部链接(与基本网址不同)。
但是,有时您想在WKWebView
内打开所有链接。
对于例如,假设你有一个基本网址WKWebView
,但你有一个链接"https://trader.finmarkets.com"
,你也希望在"https://secure.transactions.finmarkets.com"
内打开,而不使用UIApplication.shared.open(url),它将在外部打开
问题是:
WKWebView
(当然除了电子邮件和电话号码)
谢谢。
答案 0 :(得分:0)
您可以尝试这样的事情:
func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void) {
if navigationAction.navigationType == .LinkActivated {
if let newURL = navigationAction.request.URL &&
UIApplication.sharedApplication().canOpenURL(newURL) &&
UIApplication.sharedApplication().openURL(newURL) {
print(newURL)
print("User clicked on link. Open it internally.")
decisionHandler(.Allow)
} else {
print("Cannot open URL")
}
} else {
print("Not a user click")
}
}
您可能需要稍微调整一下以使其完美地工作,但我认为它可能与您正在寻找的方式相符。