使用javascript从Web应用程序强制链接在移动Safari中打开

时间:2022-10-22 14:53:41

When calling window.open() in a iOS web app, the page opens in the web app instead of mobile safari.

在iOS Web应用程序中调用window.open()时,页面将在Web应用程序中打开,而不是在移动Safari中打开。

How can I force the webpage to open in mobile safari?

如何强制在移动野生动物园中打开网页?

Note: Using straight <a href> links is not an option.

注意:使用直接链接不是一种选择。

2 个解决方案

#1


63  

This is possible. Tested with iOS5 stand-alone web app:

这个有可能。使用iOS5独立Web应用程序进行测试:

HTML:

HTML:

<div id="foz" data-href="http://www.google.fi">Google</div>

JavaScript:

JavaScript的:

document.getElementById("foz").addEventListener("click", function(evt) {
    var a = document.createElement('a');
    a.setAttribute("href", this.getAttribute("data-href"));
    a.setAttribute("target", "_blank");

    var dispatch = document.createEvent("HTMLEvents");
    dispatch.initEvent("click", true, true);
    a.dispatchEvent(dispatch);
}, false);

Can be tested here: http://www.hakoniemi.net/labs/linkkitesti.html

可以在这里测试:http://www.hakoniemi.net/labs/linkkitesti.html

#2


8  

Turns out it is NOT POSSIBLE to escape the iOS web app with a JavaScript window.open(). If you want a link to open in mobile safari you have to use <a href> links.

事实证明,使用JavaScript window.open()逃离iOS网络应用程序是不可能的。如果您想要在移动Safari中打开链接,则必须使用链接。

#1


63  

This is possible. Tested with iOS5 stand-alone web app:

这个有可能。使用iOS5独立Web应用程序进行测试:

HTML:

HTML:

<div id="foz" data-href="http://www.google.fi">Google</div>

JavaScript:

JavaScript的:

document.getElementById("foz").addEventListener("click", function(evt) {
    var a = document.createElement('a');
    a.setAttribute("href", this.getAttribute("data-href"));
    a.setAttribute("target", "_blank");

    var dispatch = document.createEvent("HTMLEvents");
    dispatch.initEvent("click", true, true);
    a.dispatchEvent(dispatch);
}, false);

Can be tested here: http://www.hakoniemi.net/labs/linkkitesti.html

可以在这里测试:http://www.hakoniemi.net/labs/linkkitesti.html

#2


8  

Turns out it is NOT POSSIBLE to escape the iOS web app with a JavaScript window.open(). If you want a link to open in mobile safari you have to use <a href> links.

事实证明,使用JavaScript window.open()逃离iOS网络应用程序是不可能的。如果您想要在移动Safari中打开链接,则必须使用链接。