2011-05-02 117 views
25

我知道1种方法。在移动设备浏览器中隐藏地址栏

<body onload="setTimeout(function() {window.scrollTo(0, 1)}, 100)"> 
... 
</body> 

但是,只有当页面足够大才能滚动时,它才有效。如果页面适合屏幕上述功能将无法正常工作。在这种情况下如何隐藏地址栏?我需要得到它与iPhone,iPad,Android设备。

+2

此代码隐藏地址栏的浏览器是什么? – 2011-05-02 10:18:17

+0

在iphone和android等移动设备中,地址栏占用大量空间,我们可以将其用于页面。 – Prabhat 2011-05-02 10:20:02

+0

@Pekka - 移动Safari(尽管我认为它可能无法在最新版本中运行) – Quentin 2011-05-02 11:16:47

回答

16

也许你可以将身体的高度设置得更大。 480px垂直模式下的屏幕高度+ 60px地址栏高度= 540px。

例子:

body { min-height:540px; }  
body[orient="portrait"] { min-height:540px; } 
body[orient="landscape"] { min-height:400px; } 
+0

这是一个好主意。但设置最小高度可能是一个问题。因为我也是从iPad访问页面的。如果我将最小高度设置为比iPad高度多一点,那么我们将为iPhone设置一个大滚动视图。 – Prabhat 2011-05-02 11:39:00

+0

我不确定,但我认为无法隐藏iPad上的地址栏。所以你可以将它设置为iPhone最小高度。 – 2011-05-02 18:19:38

+3

这实际上有所帮助。我目前通过获取屏幕的视口高度并添加60px来设置最小高度。 – Prabhat 2011-05-06 03:16:55

16

iPhone:

作品只有在移动“应用”添加到主屏幕(通过加图标 - >添加到主屏幕)

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

我与其他没有经验移动操作系统,但一个快速的谷歌搜索隐藏浏览器的网址栏android导致了一个类似的解决方案,你的,与window.scrollTo。

+0

其实我的是web应用程序。所以我怀疑这会起作用。 – Prabhat 2011-05-02 11:09:21

+0

事实上,如果你只是想让人们去你的应用程序的网址,并立即使用它,绝对不是解决方案。 – sanderd 2011-05-02 11:30:35

1

我发现

function hideAddressBar() { 
    if(!window.location.hash) { 
    if(document.height < window.outerHeight) 
     document.body.style.height = (window.outerHeight + 50) + 'px'; 
    setTimeout(function(){ 
     window.scrollTo(0, 1); 
     document.body.style.height = 'auto'; 
     }, 50); 
    } 
} 

有点修改

作品相当不错在某些浏览器,但至少我无法得到它的工作的Android铬。

相关问题