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