【问题标题】:JavaScript for iPhone to open in Safari from non-default iOS browser用于 iPhone 的 JavaScript 从非默认 iOS 浏览器在 Safari 中打开
【发布时间】:2012-10-22 03:08:39
【问题描述】:

在移动版Safari中打开的“googlechrome://www.lego.com”会切换到谷歌浏览器iOS应用打开网址。这允许像下面这样的脚本,它允许您在 Google Chrome iOS 应用程序中打开当前页面,从移动 Safari 切换:

(function()%7Bif(document.location.href.indexOf('http')===0)document.location.href=document.location.href.replace(/%5Ehttp/,'googlechrome');%7D)();

我的问题是,可以反过来吗?我试过“safari://www.lego.com”,它只是一个无效的 URL。您能否制作一个将 Google Chrome 移动 Safari 切换到打开当前页面的小脚本。

【问题讨论】:

  • 你看到了吗:stackoverflow.com/questions/7930001/…?不确定它是否适合您的情况。
  • 以前没有,但现在有。谢谢!那里给出的解决方案似乎不起作用。我在 iOS Chrome 中测试了 zvona 的链接(hakoniemi.net/labs/linkkitesti.html),其中的链接打开了一个新的 URL,但是并没有切换到 Safari。
  • 与 Chrome 不同,Safari 似乎没有记录在案的用于跨应用程序通信的 URL 方案developer.apple.com/library/ios/#featuredarticles/…。如果您正在开发自己的应用程序,您可以实现应用程序的委托openURL:。如果你只对 JS 感兴趣,那么没有记录的方法可以做到这一点。
  • chrome 在此之前必须支持 url scheming。你能像 facebook://... 这样从 chrome 调用 facebook
  • 是的。例如,“waze://”成功地从 Chrome 中打开了 waze 应用程序(“facebook://”特别是不支持的 URL)。输入omnibar,它会简单地变成一个谷歌查询。但作为一个链接,是的,它有效。感谢您的信息。不幸的是,我只对 JS 方法感兴趣。

标签: javascript ios safari


【解决方案1】:

答案是肯定的。礼貌或 MacStories (http://www.macstories.net/tutorials/chrome-for-ios-send-a-webpage-back-to-safari-via-bookmarklet/),我找到了这段代码:

window.location='googlechrome-x-callback://x-callback-url/open/?url='+encodeURIComponent(location.href)+'&x-source=Safari&x-success='+encodeURIComponent(location.href);

执行该代码,转到您的主屏幕,重新打开 Chrome,然后有一个神奇的返回按钮可以返回 Safari。这可能不是您想要的,但它确实有效......有点纠结。

祝你好运!

更新: 这是一个屏幕截图: 链接(对不起,我没有足够的声望把它放在帖子里):http://i.stack.imgur.com/OR175.jpg

更新:
似乎执行此操作的功能已损坏。谢谢!

【讨论】:

  • 这个“黑客”还在工作吗?自 2014 年 7 月 15 日起,我的 Mobile Safari 在新选项卡中打开 location.href 而不是 Safar。
  • @Metaphox - 您是否按照macstories.net/tutorials/… 的特别说明进行操作?很有可能它已被删除,但我会测试一下。
  • @Metaphox - 似乎此功能已被删除。对不起。
猜你喜欢
  • 2012-02-04
  • 1970-01-01
  • 2015-12-02
  • 2020-11-27
  • 1970-01-01
  • 2017-11-26
  • 1970-01-01
  • 2010-09-14
  • 1970-01-01
相关资源
最近更新 更多