通過(guò)JS自動(dòng)隱藏手機(jī)瀏覽器的地址欄實(shí)現(xiàn)原理與代碼
大家通過(guò)手機(jī)自帶瀏覽器打開(kāi)百度、淘寶,在首頁(yè)加載完畢后,會(huì)自動(dòng)隱藏頁(yè)面上方的地址欄,加之這些網(wǎng)站針對(duì)手機(jī)瀏覽器做了優(yōu)化,乍看之下,還真難區(qū)分這是WEB APP還是Native App,如下左側(cè)圖片為通過(guò)safari打開(kāi)淘寶網(wǎng)的首頁(yè),要不是因?yàn)榈紫碌臑g覽器工具欄,還真像Native App。實(shí)際上它是有地址的,向下拖動(dòng)就會(huì)看到地址欄,如下右側(cè)圖片。
如何才能實(shí)現(xiàn)將瀏覽器地址欄隱藏呢?百度一下,有很多資料,很簡(jiǎn)單,主要利用window.scrollTo()方法,將當(dāng)前頁(yè)面在屏幕上向上滾動(dòng),造成地址欄超出視野范圍,如下:
<script>
window.onload=function(){
setTimeout(function() {
window.scrollTo(0, 1)
}, 0);
};
</script>
但若你做一個(gè)簡(jiǎn)單頁(yè)面,比如只有一句話(huà),加上如上腳本,你會(huì)悲摧的發(fā)現(xiàn),地址欄就是不自動(dòng)隱藏;難道window.scrollTo()方法在這個(gè)瀏覽器不生效?
但是若你網(wǎng)頁(yè)內(nèi)容比較多,超過(guò)屏幕高度時(shí),卻會(huì)自動(dòng)隱藏地址欄;
如何解決在內(nèi)容較少時(shí),同樣隱藏地址欄呢?需在滾動(dòng)之前程序動(dòng)態(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';
}
如下為一個(gè)頁(yè)面示例(默認(rèn)隱藏地址欄),右圖為下拉后看到地址欄的截圖:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<meta name="viewport" content="width=device-width, initial-scale=1,">
<title>我是個(gè)網(wǎng)頁(yè),但不顯示滾動(dò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%">
帳號(hào):<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)文章
Java遍歷集合方法分析(實(shí)現(xiàn)原理、算法性能、適用場(chǎng)合)
這篇文章主要介紹了Java遍歷集合方法分析(實(shí)現(xiàn)原理、算法性能、適用場(chǎng)合)的相關(guān)資料,需要的朋友可以參考下2016-04-04javascript斷點(diǎn)調(diào)試心得分享
javascript中程序是怎么可以中斷執(zhí)行,然后一步一步走下去。而且debug的時(shí)候,可以看到變量,調(diào)用棧等東西。這個(gè)是如何實(shí)現(xiàn)的?2016-04-04javascript實(shí)現(xiàn)的顏色塊滑動(dòng)的動(dòng)態(tài)效果
javascript實(shí)現(xiàn)的顏色塊滑動(dòng)的動(dòng)態(tài)效果...2007-08-08利用TypeScript從字符串字面量類(lèi)型提取參數(shù)類(lèi)型
這篇文章主要介紹了利用TypeScript從字符串字面量類(lèi)型提取參數(shù)類(lèi)型,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09js實(shí)現(xiàn)字符串轉(zhuǎn)日期格式的方法
這篇文章主要介紹了js實(shí)現(xiàn)字符串轉(zhuǎn)日期格式的方法,涉及javascript針對(duì)字符串與日期操作的相關(guān)技巧,需要的朋友可以參考下2015-05-05JS實(shí)現(xiàn)字符串轉(zhuǎn)駝峰格式的方法
這篇文章主要介紹了JS實(shí)現(xiàn)字符串轉(zhuǎn)駝峰格式的方法,結(jié)合實(shí)例形式分析了傳統(tǒng)的字符串遍歷轉(zhuǎn)換及正則替換兩種操作技巧,需要的朋友可以參考下2016-12-12通過(guò)滑動(dòng)翻頁(yè)效果實(shí)現(xiàn)和移動(dòng)端click事件問(wèn)題
這篇文章主要介紹了滑動(dòng)翻頁(yè)效果實(shí)現(xiàn)和移動(dòng)端click事件問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01BootStrap selectpicker后臺(tái)動(dòng)態(tài)綁定數(shù)據(jù)的方法
這篇文章主要為大家詳細(xì)介紹了BootStrap selectpicker后臺(tái)動(dòng)態(tài)綁定數(shù)據(jù)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07JS 實(shí)現(xiàn)雙色表格實(shí)現(xiàn)代碼
通過(guò)為<tr>元素添加屬性或類(lèi)型選擇器,再通過(guò)CSS設(shè)置可以實(shí)現(xiàn)雙色表格,但如果表格很長(zhǎng),逐個(gè)元素添加可真麻煩。而且這樣的代碼維護(hù)起來(lái)不容易。所以比較好的方式是用JS實(shí)現(xiàn)。2009-11-11