iPhone Safari Web App在新窗口中打开链接

将图标添加到主屏幕后,我遇到了问题。 如果网页从主屏幕启动,所有链接将在Safari的新窗口中打开(并且失去全屏功能)。 我怎样才能防止它? 我找不到任何帮助,只有同样的未答复的问题。


我在iWebKit框架中找到了JavaScript解决方案:

var a=document.getElementsByTagName("a");
for(var i=0;i<a.length;i++)
{
    a[i].onclick=function()
    {
        window.location=this.getAttribute("href");
        return false
    }
}

这里的其他解决方案或者不考虑外部链接(你可能想在Safari中从外部打开)或者不考虑相对链接(没有相关链接)。

html5移动样板项目链接到这个主题上,该主题就这个主题进行了很好的讨论:https://gist.github.com/1042026

以下是他们提出的最终代码:

<script>(function(a,b,c){if(c in b&&b[c]){var d,e=a.location,f=/^(a|html)$/i;a.addEventListener("click",function(a){d=a.target;while(!f.test(d.nodeName))d=d.parentNode;"href"in d&&(d.href.indexOf("http")||~d.href.indexOf(e.host))&&(a.preventDefault(),e.href=d.href)},!1)}})(document,window.navigator,"standalone")</script>

如果你使用jQuery,你可以这样做:

$("a").click(function (event) {
    event.preventDefault();
    window.location = $(this).attr("href");
});
链接地址: http://www.djcxy.com/p/90927.html

上一篇: iPhone Safari Web App opens links in new window

下一篇: create im4java equivalent code for imageMagick to find histogram