我正在使用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)
}
Best,Drew
答案 0 :(得分:0)
因为您需要创建一个看起来像链接的按钮。
应该做的诀窍:
UIApplication.sharedApplication().openURL(NSURL(string: "http://...")!)
答案 1 :(得分:0)
如果该按钮实际位于WebView的网页上...除非您操纵iOS中的链接,否则该链接实际上不受应用程序控制。它看起来像HTML目标=" _new"按钮上的标签可能适用于更高版本的iOS。它是iOS 7中的一个错误,已在7.0.3中修复。使用按钮上的HTML目标标记为App尝试更高的iOS版本目标。 How to open Safari from a WebApp in iOS 7