Swift:在特定浏览器选项卡中打开URL?

时间:2016-10-09 22:26:23

标签: ios swift

使用JavaScript,您可以在特定浏览器标签中打开网址。

如何使用iOS应用中的Swift完成相同的操作,即在特定选项卡中的Safari / Chrome中打开URL。

UIApplication open function未列出有关options参数的信息,这似乎可以让您指定用于打开网址的命名选项卡。

3 个答案:

答案 0 :(得分:3)

将网址的协议详细信息(HTTP或HTTPS)更改为googlechrome,应用程序将在Chrome中打开该链接:

let sUrl = "googlechrome://www.google.com"
UIApplication.shared.openURL(NSURL(string: sUrl) as! URL)

答案 1 :(得分:3)

这就是我在 Google Chrome 中打开链接的方式:

get

Opera Mini

var newLink: String = "http://www.apple.com"
newLink = link.stringByReplacingOccurrencesOfString("http://", withString: "googlechrome://")
if UIApplication.sharedApplication().canOpenURL(NSURL(string: newLink)!) {
UIApplication.sharedApplication().openURL(NSURL(string: newLink)!)
} else {
    let alertController = UIAlertController(title: "Sorry", message: "Google Chrome app is not installed", preferredStyle: .Alert)
    let okAction = UIAlertAction(title: "OK", style: .Default, handler: nil)
    alertController.addAction(okAction)
    self.presentViewController(alertController, animated: true, completion: nil)
}

<强>火狐

opera://open-url?url=http://

<强>海豚

firefox://open-url?url=http://

<强>勇敢

dolphin://

答案 2 :(得分:1)

最后,我只是让Google Chrome(在iOS上)完成了所有驴工作(它似乎愿意保存该网站的密码以供将来检索)。我还在网站的HTTPS版本的URL中提交了内容,现在看起来一切都好一些。

if URL(string: fullURL) != nil {
    //let safariVC = SFSafariViewController(url: url)
    //self.present(safariVC, animated: true, completion: nil)
    UIApplication.shared.openURL(NSURL(string: fullURL)! as URL) 
}