怎么在Html5中監(jiān)聽(tīng)攔截Android返回鍵?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

瀏覽器窗口有一個(gè)history對(duì)象,用來(lái)保存瀏覽歷史。
如果當(dāng)前窗口先后訪問(wèn)了三個(gè)網(wǎng)址,那么history對(duì)象就包括三項(xiàng),history.length屬性等于3。
history對(duì)象提供了一系列方法,允許在瀏覽歷史之間移動(dòng):
window.history.back():移動(dòng)到上一個(gè)訪問(wèn)頁(yè)面,等同于瀏覽器的后退鍵。
window.history.forward():移動(dòng)到下一個(gè)訪問(wèn)頁(yè)面,等同于瀏覽器的前進(jìn)鍵。
window.history.go(num):接受一個(gè)整數(shù)作為參數(shù),移動(dòng)到該整數(shù)指定的頁(yè)面,比如go(1)相當(dāng)于forward(),go(-1)相當(dāng)于back()。
window.history.pushState():HTML5為history對(duì)象添加了兩個(gè)新方法,window.history.pushState()和window.history.replaceState(),用來(lái)在瀏覽歷史中添加和修改記錄。
注:1.如果移動(dòng)的位置超出了訪問(wèn)歷史的邊界,以上三個(gè)方法并不報(bào)錯(cuò),而是默默的失敗。
2.設(shè)置時(shí),頁(yè)面通常是從瀏覽器緩存之中加載,而不是重新要求服務(wù)器發(fā)送新的網(wǎng)頁(yè)。
重點(diǎn)講解下: window. history.pushState()
window.history.pushState(state, title, utl),在頁(yè)面中創(chuàng)建一個(gè) history 實(shí)體。直接添加到歷史記錄中。
其中參數(shù):
state:一個(gè)與指定網(wǎng)址相關(guān)的狀態(tài)對(duì)象,popstate事件觸發(fā)時(shí),該對(duì)象會(huì)傳入回調(diào)函數(shù)。如果不需要這個(gè)對(duì)象,此處可以填null。
title:新頁(yè)面的標(biāo)題,但是所有瀏覽器目前都忽略這個(gè)值,因此這里可以填null。
url:新的網(wǎng)址, 必須與當(dāng)前頁(yè)面處在同一個(gè)域 。瀏覽器的地址欄將顯示這個(gè)網(wǎng)址。
注:pushState方法不會(huì)觸發(fā)頁(yè)面刷新,只是導(dǎo)致history對(duì)象發(fā)生變化,地址欄會(huì)有反應(yīng)。
舉例實(shí)現(xiàn):
Html5 監(jiān)聽(tīng)攔截Android返回鍵方法如下:
1. 監(jiān)聽(tīng) popstate 事件
window.addEventListener("popstate", function(){
//doSomething
}, false)2.取消默認(rèn)的返回操作,即監(jiān)聽(tīng)攔截返回鍵:添加一條空的 history 實(shí)體作為替代原來(lái)的 history 實(shí)體
window.history.pushState(null, null, "#");
舉例:
<!DOCTYPE html>
<html>
<meta name="viewport" content="width=device-width">
<script type="text/javascript">
var count = 0 ;
window.history.pushState(null, null, "#");
window.addEventListener("popstate", function(e) {
window.history.pushState(null, null, "#");
document.getElementById('logView').innerHTML = "用戶點(diǎn)擊返回" + (++count)
})
</script>
<body>
<p id="logView">test</p>
</body>
</html>看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。
網(wǎng)頁(yè)標(biāo)題:怎么在Html5中監(jiān)聽(tīng)攔截Android返回鍵-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)地址:http://chinadenli.net/article30/shhpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、App設(shè)計(jì)、品牌網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站制作、品牌網(wǎng)站建設(shè)、做網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容