这里有很多主题,但它们都需要本地代码交互才能工作。
在我的例子中,有必要能够直接从 url 执行此操作,而无需与我的移动应用进行任何交互。
我试过:
<a href="safari://google.com" target="_blank">Open Google in Safari</a>
和
<a href="webkit://google.com" target="_blank">Open</a>
并位于 this post .
<script>
$(document).on('click', 'a[target="_blank"]', function (ev) {
var url;
ev.preventDefault();
url = $(this).attr('href');
window.open(url, '_system');
});
</script>
但没有任何作用。
有人知道如何解决这个问题吗?
最佳答案
有一个技巧。我们知道 iOS Safari 有这些可用的 URL 方案:
(HTTP) — http://websiteurl (HTTPS) — https://websiteurl x-网络搜索:// (FTP) — ftp://locationtofileonftpserver
如果您使用 Click here或 window.open("http://somewebsite")。它始终使用当前浏览器打开 url。
x-web-search://?[keyword] - 它将切换到 Safari 应用程序但搜索关键字
幸运的是我们还有ftp://。它将切换到 Safari 应用程序。但首先您需要在您的主机中设置一个公用文件夹并创建一个桥接 html 文件以将用户重定向回 http:
ftp://{你的地址}/bridge.html
window.open("https://yoururl", "_self");现在您可以在任何浏览器的默认 Safari 应用程序中打开您的网站。
原始答案在这里:JS - Mobile - Open Safari from any browser
更新(2021 年 1 月): Apple 似乎在 iOS 上修复了这个问题,这不再有效了!
关于javascript - 如何从 webview 打开 safari 移动应用程序中的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45378919/