在Chrome中打开网址并关闭Safari标签

时间:2015-07-19 16:09:41

标签: javascript ios google-chrome safari

我在互联网上找到了这段代码:

javascript:location.href="googlechrome"+location.href.substring(4);

如果该代码放在Safari中的书签中,它将打开Chrome浏览器并加载用户在Safari中的当前网页。

但我想要的是当用户点击书签时,在Chrome中打开之前,该选项卡将在Safari中关闭。这有可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用window.close()关闭当前标签。

javascript:location.href="googlechrome"+location.href.substring(4); window.close();

请注意,如果您的网址以https://而不是http://开头,您解析网址的方式将无效。

以下示例使用URI.js将当前网址中的协议替换为googlechrome,这应该比使用location.href.substring(4)更可靠。

<!DOCTYPE html>
<html>

  <head>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/URI.js/1.7.2/URI.min.js"></script>
    <script>
      function closeSafariAndOpenChrome()
      {
        var chromeProtocol = 'googlechrome';
        var redirectedUrl = URI(location.href)
           .protocol(chromeProtocol);
        location.href = redirectedUrl;
        window.close();
      }
    </script>

  </head>

  <body>
    <a href="javascript:closeSafariAndOpenChrome();">Click here to open chrome</a>
  </body>

</html>