2013-08-03 118 views
0

脚本下方的地址栏隐藏了移动设备上的地址栏,但没有隐藏显示/桌面上的地址栏。这是期望的结果,但我不明白为什么会发生这种情况。我会猜想这也会隐藏所有设备上的地址栏。有没有更好的方法来隐藏地址栏?有人可以像我一样善意地引导我完成这个任务吗?在iPhone/Android上隐藏地址栏

我也读过,我需要将以下元标记添加到标题中,但我不认为它有影响。感谢您的输入!

<meta name="apple-mobile-web-app-capable" content="yes" 


<script> 
window.addEventListener("load",function() { 
    // Set a timeout... 
    setTimeout(function(){ 
    // Hide the address bar! 
    window.scrollTo(0, 1); 
    }, 0); 
}); 

var preventDefault = function(e) { 
    e.preventDefault(); 
    return false; 
}; 
</script> 

回答

1

你有两种不同的技巧。

第一个说“这是一个单页的web应用程序”,所以将打开一个iOS设备上没有地址栏iff从主屏幕图标启动(显然,这要求用户访问该页面地址栏可见)并将其添加到主屏幕)。

第二个只是试图向上滚动页面,使地址栏滚动屏幕。移动设备这样做是因为它们有小屏幕,所以它们让地址栏从屏幕顶部滚动。用户可以轻松向下滚动以取回。

桌面浏览器通常不会在小屏幕上显示,所以他们在滚动时没有理由隐藏它。另一方面,允许用户知道他们正在访问的页面的地址是非常重要的反钓鱼措施。

因此:网站无法在现代浏览器中隐藏用户的地址栏。

+0

这也是一个潜在的安全漏洞 –

+0

非常感谢您的澄清。 – JaggsWaggert