通過JS自動隱藏手機瀏覽器的地址欄實現(xiàn)原理與代碼
大家通過手機自帶瀏覽器打開百度、淘寶,在首頁加載完畢后,會自動隱藏頁面上方的地址欄,加之這些網(wǎng)站針對手機瀏覽器做了優(yōu)化,乍看之下,還真難區(qū)分這是WEB APP還是Native App,如下左側(cè)圖片為通過safari打開淘寶網(wǎng)的首頁,要不是因為底下的瀏覽器工具欄,還真像Native App。實際上它是有地址的,向下拖動就會看到地址欄,如下右側(cè)圖片。


如何才能實現(xiàn)將瀏覽器地址欄隱藏呢?百度一下,有很多資料,很簡單,主要利用window.scrollTo()方法,將當前頁面在屏幕上向上滾動,造成地址欄超出視野范圍,如下:
<script>
window.onload=function(){
setTimeout(function() {
window.scrollTo(0, 1)
}, 0);
};
</script>
但若你做一個簡單頁面,比如只有一句話,加上如上腳本,你會悲摧的發(fā)現(xiàn),地址欄就是不自動隱藏;難道window.scrollTo()方法在這個瀏覽器不生效?
但是若你網(wǎng)頁內(nèi)容比較多,超過屏幕高度時,卻會自動隱藏地址欄;
如何解決在內(nèi)容較少時,同樣隱藏地址欄呢?需在滾動之前程序動態(tài)設(shè)置一下body的高度,增加如下代碼:
if(document.documentElement.scrollHeight <= document.documentElement.clientHeight) {
bodyTag = document.getElementsByTagName('body')[0];
bodyTag.style.height = document.documentElement.clientWidth / screen.width * screen.height + 'px';
}
如下為一個頁面示例(默認隱藏地址欄),右圖為下拉后看到地址欄的截圖:


<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<meta name="viewport" content="width=device-width, initial-scale=1,">
<title>我是個網(wǎng)頁,但不顯示滾動條</title>
<script>
window.onload=function(){
if(document.documentElement.scrollHeight <= document.documentElement.clientHeight) {
bodyTag = document.getElementsByTagName('body')[0];
bodyTag.style.height = document.documentElement.clientWidth / screen.width * screen.height + 'px';
}
setTimeout(function() {
window.scrollTo(0, 1)
}, 0);
};
</script>
<style>
/*輸入框圓角顯示*/
input {
background:#fff; border: 1px solid #080;
padding:5px;
-webkit-border-radius:5px;
}
/* button
---------------------------------------------- */
.button {
display: inline-block;
zoom: 1; /* zoom and *display = ie7 hack for display:inline-block */
*display: inline;
vertical-align: baseline;
margin: 0 2px;
outline: none;
cursor: pointer;
text-align: center;
text-decoration: none;
font: 14px/100% Arial, Helvetica, sans-serif;
padding: .5em 2em .55em;
text-shadow: 0 1px 1px rgba(0,0,0,.3);
-webkit-border-radius: .5em;
-webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
}
/* green */
.green {
color: #e8f0de;
border: solid 1px #538312;
background: #64991e;
background: -webkit-gradient(linear, left top, left bottom, from(#7db72f), to(#4e7d0e));
}
</style>
</head>
<body style="background: #ededed;">
<div style="padding-top:40%;padding-left:20%">
帳號:<input type="text"><br/>
密碼:<input type="text"><br/>
<div>
<div style="padding-top:5%;padding-left:23%"><input type="button" class="button green" value="登錄"></div>
</body>
</html>
相關(guān)文章
JavaScript實現(xiàn)留言板實戰(zhàn)案例
這篇文章主要給大家介紹了關(guān)于JavaScript實現(xiàn)留言板的相關(guān)資料,使用JavaScript來編寫留言板功能相信大家都不陌生,文中給出了詳細的示例代碼,需要的朋友可以參考下2023-07-07
JavaScript異步編程:異步數(shù)據(jù)收集的具體方法
我們先嘗試在不借助任何工具函數(shù)的情況下來解決這個問題。筆者能想到的最簡單的方法是:因前一個readFile的回調(diào)運行下一個readFile,同時跟蹤記錄迄今已觸發(fā)的回調(diào)次數(shù),并最終顯示輸出。下面是筆者的實現(xiàn)結(jié)果。2013-08-08
js中的escape及unescape函數(shù)的php實現(xiàn)代碼
js中的escape及unescape函數(shù)的php實現(xiàn)代碼...2007-09-09
Javascript實現(xiàn)圖片加載從模糊到清晰顯示的方法
這篇文章主要介紹了使用Javascript實現(xiàn)圖片加載從模糊到清晰顯示的方法,通俗易懂,需要的朋友可以參考下。2016-06-06
js實現(xiàn)三張圖(文)片一起切換的banner焦點圖
這篇文章主要介紹了js實現(xiàn)三張圖(文)片一起切換的banner焦點圖,推薦給大家,有需要的小伙伴可以參考下。2015-08-08
electron-builder允許安裝時請求提升權(quán)限的場景分析
electron-builder 作為一個用于 Electron 應用程序打包的工具,需要下載并使用 Electron 運行時來創(chuàng)建可執(zhí)行文件,這篇文章給大家介紹electron-builder允許安裝時請求提升權(quán)限的相關(guān)知識,感興趣的朋友跟隨小編一起看看吧2024-03-03
JS實現(xiàn)保留n位小數(shù)的四舍五入問題示例
這篇文章主要介紹了JS實現(xiàn)保留n位小數(shù)的四舍五入問題,結(jié)合完整實例形式分析了javascript針對小數(shù)四舍五入操作技巧,需要的朋友可以參考下2016-08-08

