在横向方向上隐藏iPhone主屏幕Web应用程序中的状态栏

时间:2013-11-28 17:14:59

标签: iphone mobile-safari

是否可以隐藏(完全删除,不更改样式)主屏幕Web应用程序中的iOS Safari状态栏?

当您在横向模式下浏览Safari中的网页时,状态栏会在开始滚动后与浏览器的其余部分一起消失。

我添加到主屏幕的网络应用程序,如果符合显示器的大小,则不可滚动。

设置后:

<meta content='initial-scale=1, maximum-scale=1, user-scalable=no' name='viewport'>
<meta content='yes' name='apple-mobile-web-app-capable'>
<meta content='white-translucent' name='apple-mobile-web-app-status-bar-style'>

所有浏览器镶边都消失了,但状态栏信息仍然覆盖在屏幕方向的页面顶部。是否可以隐藏它?

1 个答案:

答案 0 :(得分:0)

没有直接的方法(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   而不是零,而是处理手头的问题。