15

我正在为移动设备创建一个 HTML5 网络应用程序,并被要求隐藏浏览器导航栏(后退和前进按钮)(此处为错字)。我怎样才能做到这一点?

我想我应该能够使用 Phone Gap 来实现这一点。但我想知道“普通”网络应用程序是否有可能隐藏浏览器栏?如果我将网站/应用程序固定到主屏幕,我认为这可能吗?

iPhone 有http://ajaxian.com/archives/iphone-full-screen-webapps,但至少 Andriod 呢?

4

6 回答 6

13

我知道这个问题在这一点上有点过时了,所以这里有一个更新:

在适用于 iOS 7+ 的 Safari 上,这个解决方案很棒:

<meta name="viewport" content="minimal-ui, width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">

minimum-ui 属性使浏览器隐藏所有按钮,同时保持任务栏完好无损。

我还没有为android测试过这个。

于 2014-09-15T03:02:33.740 回答
6

如果您可以在您的网络应用程序中使用JQuery,那么我建议您使用NiceScroll插件。

它可用于移动和桌面浏览器,并将隐藏浏览器的滚动条。如果您的代码超出了浏览器的视口高度,它将创建一个自定义滚动条,如果不使用该滚动条会淡出。

这是它的演示

编辑:
根据您的更新,我想补充一点,我实际上不是本地移动网络应用程序开发人员,但在搜索您的问题时,我发现了一些可以帮助您进一步引领方向的问题:

这些教程:

于 2012-07-01T09:27:11.973 回答
2

您可以将此应用程序用于 Android:Kiosk Web/Html Browser,它会在您的 sd 卡中创建一个文件夹,您可以在其中放置 html,以全屏“沉浸式模式”显示。

于 2015-02-16T14:09:19.270 回答
2
<script> function requestFullScreen() {

  var el = document.body;

  // Supports most browsers and their versions.
  var requestMethod = el.requestFullScreen || el.webkitRequestFullScreen 
  || el.mozRequestFullScreen || el.msRequestFullScreen;

  if (requestMethod) {

    // Native full screen.
    requestMethod.call(el);

  } else if (typeof window.ActiveXObject !== "undefined") {

    // Older IE.
    var wscript = new ActiveXObject("WScript.Shell");

    if (wscript !== null) {
      wscript.SendKeys("{F11}");
    }
  }
}


</script>
<a href="#" onClick="requestFullScreen();"> click </a>
于 2019-02-06T02:00:54.847 回答
0

编辑

新答案

自从提出这个问题以来,情况发生了很大变化。现在对滚动、固定位置有了很好的原生支持,而且大多数操作系统的浏览器栏比当时小了很多。既然是这种情况,我建议不要像大多数网站和答案所推荐的那样诉诸滚动黑客。遵守操作系统的规则将提高您的 web 应用程序的稳定性、可用性和未来兼容性。

旧答案

当有人将 iPhone 作为 web 应用程序保存到主屏幕时,它是可能的。如果您添加正确的元标记,这将起作用。

对于标准浏览器模式,您必须回退到黑客攻击有点棘手。基本上,当您滚动时地址栏会消失(对于 Iphone,大多数情况下对于 android)。你可以用 javascript 伪造它。Mobile tuts 也有一篇很好的文章:http: //mobile.tutsplus.com/tutorials/mobile-web-apps/remove-address-bar/,但这仅适用于内容较长的屏幕分辨率。

于 2012-11-21T22:33:06.170 回答
0

最新的 Chrome for Android 测试版中有这样的功能: https ://developers.google.com/chrome/mobile/docs/installtohomescreen

于 2013-11-06T11:26:55.430 回答