从iOS应用程序在浏览器中打开超链接
我是iOS开发新手。我用超链接创建了一个基本的html页面。我使用以下代码将html页面转换为应用程序从iOS应用程序在浏览器中打开超链接,ios,swift,Ios,Swift,我是iOS开发新手。我用超链接创建了一个基本的html页面。我使用以下代码将html页面转换为应用程序 class ViewController: UIViewController, UIWebViewDelegate { @IBOutlet weak var lupView: UIWebView! override func viewDidLoad() { super.viewDidLoad() // Do any additional set
class ViewController: UIViewController, UIWebViewDelegate {
@IBOutlet weak var lupView: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
lupView.loadRequest(URLRequest(url: Bundle.main.url(forResource: "lup_package/lup/index", withExtension: "html")!))
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
当我将它构建到iPad Air上时,一切都很好。但当我点击超链接时,目标网站正在应用程序中打开。我希望它能在浏览器中打开。请帮助我实现这一点,如果您能向我解释这是否有效,那将是一件非常棒的事情。如果您只是想使用Safari打开url,以下内容应该会有所帮助
if let url = URL(string: "https://www.google.com") {
UIApplication.shared.open(url, options: [:])
}
如果您想使用Safari在WebView上打开超链接。退房您需要使用webView:shouldStartLoadWith
delegate方法。记住在视图控制器或情节提要中设置lupView.delegate=self
func webView(_ webView: UIWebView, shouldStartLoadWith request: URLRequest, navigationType: UIWebViewNavigationType) -> Bool {
if navigationType == .linkClicked {
// Open links in Safari
guard let url = request.url else { return true }
if #available(iOS 10.0, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
// openURL(_:) is deprecated in iOS 10+.
UIApplication.shared.openURL(url)
}
return false
}
// Handle other navigation types...
return true
}
我在html文档中有一个超链接,点击google.com“>点击这里进入谷歌。编辑了我的答案