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

Aro*_*ost 36 javascript web-applications mobile-safari ios iphone-standalone-web-app

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

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

注意:使用直接<a href>链接不是一种选择.

zvo*_*ona 63

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

HTML:

<div id="foz" data-href="http://www.google.fi">Google</div>
Run Code Online (Sandbox Code Playgroud)

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);
Run Code Online (Sandbox Code Playgroud)

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

  • 对于我的上述评论:iOS 10.1,示例工作正常,但是当我尝试通过单击webgl按钮而不是div来调用它时 - 没有任何事情发生.要解决它,只需删除"a.setAttribute("target","_ blank");" 并使用a.dispatchEvent(new MouseEvent("click",{'view':window,'bubbles':true,'cancelable':true}););. 它打开了一个新的野生动物园窗口.绝对不知道为什么在这种情况下target = _blank是不必要的. (5认同)
  • 这在iOS 4.3.3上的Facebook应用浏览器中不起作用. (3认同)
  • 在iOS 11中,这对我不起作用。它只是打开嵌入式UIWebView中的链接。 (2认同)

Aro*_*ost 9

原来它是不是可能的逃跑与一个JavaScript iOS的Web应用程序window.open().如果您想要在移动版Safari中打开链接,则必须使用<a href>链接.

  • 关心详细说明?我想要一个 &lt;a href&gt; 链接来从 ios 上的 chrome/opera 打开 safari (2认同)