我正在构建一个单页JavaScript / PHP网络应用,目前隐藏网址栏并使用以下代码全屏成功:
<meta name="apple-mobile-web-app-capable" content="yes">
我现在需要做的是隐藏实际状态栏。我尝试过以下元标记无济于事:
<meta name="apple-mobile-web-app-status-bar-style" content="default">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
我是否可以使用其他元标记或JavaScript / PHP代码来完全隐藏状态栏?我注意到Belly Card iPad mini网络应用程序(www.bellycard.com)成功完成了这项工作,我不确定如何。任何见解都是真正的赞赏。
干杯!
答案 0 :(得分:5)
没有直接的方法(see: similar question),但......这个链接看起来很有希望:
主要评论(在链接):
在Safari中查看网站时,您无法自定义 状态栏以任何方式。以前的iOS版本提供了 能够以全屏模式查看网站,但已删除 iOS7,见
http://www.mobilexweb.com/blog/safari-ios7-html5-problems-apis-review
主要说明( in link ):
StatusBar Cordova插件
借助iOS7,Apple推出了一些原生的Objective C API来控制 状态栏。因为科尔多瓦,我们有能力弥合这些 原生API直接进入JavaScript API 对我们来说幸运的是@shazron已经用StatusBar plugin完成了这个。
将插件添加到您的应用程序后,您将获得一个StatusBar 对象有多种方法来操纵状态栏 直接使用JavaScript ...
您可以使用 StatusBar.hide()隐藏状态栏,甚至可以更改它 StatusBar.backgroundColorByName()或的背景颜色 StatusBar.backgroundColorByHexString()。
例如,以下设置将状态栏设置为绿色。<script> document.addEventListener('deviceready', function() { StatusBar.overlaysWebView(false); StatusBar.backgroundColorByName('green'); }, false); </script>
...
未解决的问题虽然网络已经为大多数iOS7状态提供了变通方法 酒吧问题,还有一些尚未解决。
- 状态栏仍然覆盖了cordova InAppBrowser中显示的内容。 没有已知的解决方法,但修复程序为slated for cordova 3.2。
- StatusBar插件在将设备锁定为横向模式的应用程序中不起作用。
主要评论家评论(在链接):
这些解决方案似乎只适用于Phonegap应用程序 我们谁不使用这个,只是简单地将我们的应用程序包装在webview中 唯一容易的解决方案是将webview的top属性设置为20 而不是零,而是处理手头的问题。