js隐藏手机浏览器地址栏

医院的项目,由于采用的是Web APP模式,移动护理平台,对于操作的护士来说不需要他们输入和修改浏览器地址,找了很久的解决方案,一直没找到有效的能够隐藏浏览器地址栏和下部导航栏的方法,有介绍采用window.scrollTo()实现的,但是治标不治本,实现的效果有限,附上代码大家也可以探讨一下。今天看到一个帖子介绍方法的,实验了一下效果蛮不错,推荐一下。

      有效的方法:(此方法效果较好,建议采用)

Android 和 ios两个平台要用不同的实现方法。

Android版的实现方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
function hideAddressBar_android(){
	var self = document.getElementsByTagName('body')[0];
	if (self.requestFullscreen) {
		//html5新增的全屏方法
		self.requestFullscreen();
	} else if (self.mozRequestFullScreen) {
		//针对mozlia内核的hack
		self.mozRequestFullScreen();
	} else if (self.webkitRequestFullScreen) {
		//针对webkit内核的hack
		self.webkitRequestFullScreen();
	}
};

执行上面那段代码就可以让页面进入全屏模式,底部导航,和顶部的地址栏是看不到的喔~

IOS版的实现方法:

给页面添加一个载入事件的监听;
页面载入完成后,延迟100毫秒后使页面向上移动一部分,使地址栏隐藏掉。

js代码如下:

1
2
3
4
5
window.addEventListener('load', function(){
    setTimeout(function(){ 
        window.scrollTo(0, 1); 
    }, 100);
});

不难发现,如果页面高度不够的情况下,这个方法是没办法隐藏地址栏的。
解决方法就是在滚动页面的时候,给页面设置一个高度。

修改后的代码如下:

1
2
3
4
if(document.documentElement.scrollHeight <= document.documentElement.clientHeight) {
    bodyTag = document.getElementsByTagName('body')[0];
    bodyTag.style.height = document.documentElement.clientWidth / screen.width * screen.height + 'px';
}

最后,还要记得在head里加上这两句:

1
2
<meta name="viewport" content="minimal-ui,width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
转自:http://www.vqianduan.com/245.html

    方法2:(此方法实现的效果不好,不建议采用)

主要利用window.scrollTo()方法,将当前页面在屏幕上向上滚动,造成地址栏超出视野范围,如下:

[javascript]  view plain copy
  1. <script>  
  2.     window.οnlοad=function(){  
  3.         setTimeout(function() {  
  4.             window.scrollTo(0, 1)  
  5.         }, 0);  
  6.     };  
  7. </script>  
但若你做一个简单页面,比如只有一句话,加上如上脚本,你会悲摧的发现, 地址栏就是不自动隐藏 ;难道window.scrollTo()方法在这个浏览器不生效?

但是若你网页内容比较多,超过屏幕高度时,却会自动隐藏地址栏;

如何解决在内容较少时,同样隐藏地址栏呢?需在滚动之前程序动态设置一下body的高度,增加如下代码:

[javascript]  view plain copy
  1. if(document.documentElement.scrollHeight <= document.documentElement.clientHeight) {  
  2.     bodyTag = document.getElementsByTagName('body')[0];  
  3.     bodyTag.style.height = document.documentElement.clientWidth / screen.width * screen.height + 'px';  
  4. }  

如下为一个页面示例(默认隐藏地址栏),右图为下拉后看到地址栏的截图:















如上截图的完整源码如下:

[html]  view plain copy
  1. <!DOCTYPE html>   
  2. <html>   
  3.     <head>   
  4.         <meta charset=utf-8 />  
  5.         <meta name="viewport" content="width=device-width, initial-scale=1,">   
  6.         <title>我是个网页,但不显示滚动条</title>   
  7.         <script>  
  8.             window.onload=function(){  
  9.                 if(document.documentElement.scrollHeight <= document.documentElement.clientHeight) {  
  10.                     bodyTag = document.getElementsByTagName('body')[0];  
  11.                     bodyTag.style.height = document.documentElement.clientWidth / screen.width * screen.height + 'px';  
  12.                 }  
  13.                 setTimeout(function() {  
  14.                     window.scrollTo(0, 1)  
  15.                 }, 0);  
  16.             };  
  17.         </script>  
  18.         <style>  
  19.             /*输入框圆角显示*/  
  20.             input {  
  21.                 background:#fff; border: 1px solid #080;  
  22.                 padding:5px;  
  23.                 -webkit-border-radius:5px;  
  24.             }  
  25.             /* button   
  26.             ---------------------------------------------- */  
  27.             .button {  
  28.                 display: inline-block;  
  29.                 zoom: 1; /* zoom and *display = ie7 hack for display:inline-block */  
  30.                 *display: inline;  
  31.                 vertical-align: baseline;  
  32.                 margin: 0 2px;  
  33.                 outline: none;  
  34.                 cursor: pointer;  
  35.                 text-align: center;  
  36.                 text-decoration: none;  
  37.                 font: 14px/100% Arial, Helvetica, sans-serif;  
  38.                 padding: .5em 2em .55em;  
  39.                 text-shadow: 0 1px 1px rgba(0,0,0,.3);  
  40.                 -webkit-border-radius: .5em;   
  41.                 -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);  
  42.             }  
  43.   
  44.             /* green */  
  45.             .green {  
  46.                 color: #e8f0de;  
  47.                 border: solid 1px #538312;  
  48.                 background: #64991e;  
  49.                 background: -webkit-gradient(linear, left top, left bottom, from(#7db72f), to(#4e7d0e));  
  50.             }  
  51.         </style>  
  52.     </head>   
  53.     <body style="background: #ededed;">   
  54.         <div style="padding-top:40%;padding-left:20%">  
  55.             帐号:<input type="text"><br/>  
  56.             密码:<input type="text"><br/>  
  57.         <div>  
  58.         <div style="padding-top:5%;padding-left:23%"><input type="button" class="button green" value="登录"></div>  
  59.     </body>  
  60. </html>  

如上按钮的效果,参考自:http://www.webdesignerwall.com/demo/css-buttons.html


要实现更为完整的隐藏地址栏的效果,可参考:http://menacingcloud.com/?c=iPhoneAddressBar

转自:http://blog.csdn.net/hbcui1984/article/details/8350107
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值