这里有很多主题,但它们都需要本机代码交互才能工作。
在我的情况下,必须能够直接从网址进行操作,而不与我的移动应用进行任何互动。
我试过了:
<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>
但没有任何作用。
任何人都知道如何解决这个问题?
答案 0 :(得分:1)
如果这是在safari中运行,它应该符合有关弹出窗口explained here的safari异步调用限制。
你应该修改你的代码,这样打开的窗口就会出现在函数之外的东西:
<script>
var windowReference = window.open();
$(document).on('click', 'a[target="_blank"]', function (ev) {
var url;
ev.preventDefault();
url = $(this).attr('href');
windowReference.location = url;
});
</script>
答案 1 :(得分:1)
有一个窍门。我们知道iOS Safari具有以下可用的URL方案:
(HTTP)-http://websiteurl (HTTPS)-https://websiteurl x-web-search:// (FTP)-ftp://locationtofileonftpserver
如果您使用Click here或window.open(“ http://somewebsite”)。它始终使用当前浏览器打开网址。
x-web-search://?[关键字]-它将切换到Safari应用,但搜索关键字
幸运的是,我们仍然有ftp://。它将切换到Safari应用。但是首先,您需要在托管中设置一个公用文件夹并创建一个桥接html文件,以将用户重定向回http:
ftp:// {youripaddress} /bridge.html
window.open(“ https:// yoururl”,“ _self”);现在,您可以通过任何浏览器在默认的Safari应用中打开您的网站。
答案 2 :(得分:0)
iOS上没有Safari的URL方案。
请参阅Apple的文档: https://developer.apple.com/library/archive/featuredarticles/iPhoneURLScheme_Reference/Introduction/Introduction.html
搜索一下,你会看到类似的答案: What is Mobile Safari's custom URL Scheme?