javascript - 在 Chrome 中打开 url 并关闭 Safari 选项卡

标签 javascript ios google-chrome safari

我在网上找到这段代码:

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

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

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

最佳答案

您可以使用window.close()关闭当前选项卡。

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

但请注意,如果您的网址以 https:// 而不是 http:// 开头,则解析网址的方式将不起作用。

这是一个使用 URI.js 的示例将当前 URL 中的协议(protocol)替换为 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>

关于javascript - 在 Chrome 中打开 url 并关闭 Safari 选项卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31503199/

相关文章:

javascript - 从 div 到 div 来回移动和/或拖动元素并动态捕获它的 div 字符串

Javascript - 检查方法原型(prototype)是否已更改?

ios - 来自 NIB 的可扩展自定义 UITableViewCell

ios - iPhone 6S、7+、X 和 iPad Pro 的 FaceTime 摄像头的 FPS 是多少?

css - Chrome 打印网站,缺少布局选项

jquery - 获取 Chrome 浏览器宽度(忽略滚动条)

javascript - 这些变量名代表什么?

javascript - 如何使用 javascript/jquery 从 url 中提取文件名?

ios - 使用 Realm studio 打开我的 Realm 文件时出现问题

google-chrome - Webusb 扫描文件