【发布时间】:2015-12-08 04:18:33
【问题描述】:
我正在使用 Swift,并且在我的原生应用程序的 WebView 中嵌入了基于 Web 的内容(外部网页)。同样,在该网页上,即应用内,我需要在 Safari 中打开一个链接,而不是在应用中。网页上的 HTML 目标 _blank 代码不起作用(我希望它这么简单),正在寻找在 Swift 中执行此操作的正确代码。
我已将此代码用于 uiwebview:
@IBOutlet var news: UIWebView!
var theURL = "http://"
override func viewDidLoad() {
super.viewDidLoad()
loadWebPage()
}
func loadWebPage(){
let requestURL = NSURL (string: theURL)
let URLrequest = NSURLRequest (URL: requestURL!)
news.loadRequest(URLrequest)
我已将此代码用于 WKNaviagtionDelegate:
func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: ((WKNavigationActionPolicy) -> Void)) {
if (navigationAction.navigationType == WKNavigationType.LinkActivated && !navigationAction.request.URL!.host!.lowercaseString.hasPrefix("http://")) {
UIApplication.sharedApplication().openURL(navigationAction.request.URL!)
decisionHandler(WKNavigationActionPolicy.Cancel)
} else {
decisionHandler(WKNavigationActionPolicy.Allow)
}
最好的,德鲁
【问题讨论】:
-
你能告诉我们你已经尝试过什么(相关代码sn-ps等)吗?
-
我刚刚用我使用的两种形式的代码更新了我的帖子。
标签: html ios swift webview uiwebview