Силовая ссылка для открытия в мобильном сафари из веб-приложения с помощью javascript

При вызове window.open() в веб-приложении iOS страница открывается в веб-приложении вместо мобильного сафари.

Как заставить веб-страницу открываться в мобильном сафари?

Примечание. Использование прямых ссылок <a href> не является вариантом.

Ответ 1

Это возможно. Протестировано автономным веб-приложением iOS5:

HTML:

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

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);

Можно протестировать здесь: http://www.hakoniemi.net/labs/linkkitesti.html

Ответ 2

Оказывается, НЕ ВОЗМОЖНО, чтобы избежать веб-приложения iOS с помощью JavaScript window.open(). Если вы хотите открыть ссылку в мобильном сафари, вы должны использовать ссылки <a href>.