欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解Html5 監(jiān)聽攔截Android返回鍵方法

  發(fā)布時間:2018-04-18 16:00:56   作者:申文哲   我要評論
這篇文章主要介紹了詳解Html5 監(jiān)聽攔截Android返回鍵方法的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

瀏覽器窗口有一個history對象,用來保存瀏覽歷史。

如果當(dāng)前窗口先后訪問了三個網(wǎng)址,那么history對象就包括三項,history.length屬性等于3。

history對象提供了一系列方法,允許在瀏覽歷史之間移動:

window.history.back():移動到上一個訪問頁面,等同于瀏覽器的后退鍵。

window.history.forward():移動到下一個訪問頁面,等同于瀏覽器的前進(jìn)鍵。

window.history.go(num):接受一個整數(shù)作為參數(shù),移動到該整數(shù)指定的頁面,比如go(1)相當(dāng)于forward(),go(-1)相當(dāng)于back()。

window.history.pushState():HTML5為history對象添加了兩個新方法,window.history.pushState()和window.history.replaceState(),用來在瀏覽歷史中添加和修改記錄。

注:1.如果移動的位置超出了訪問歷史的邊界,以上三個方法并不報錯,而是默默的失敗。

2.設(shè)置時,頁面通常是從瀏覽器緩存之中加載,而不是重新要求服務(wù)器發(fā)送新的網(wǎng)頁。

重點講解下: window. history.pushState()

window.history.pushState(state, title, utl),在頁面中創(chuàng)建一個 history 實體。直接添加到歷史記錄中。

其中參數(shù):

state:一個與指定網(wǎng)址相關(guān)的狀態(tài)對象,popstate事件觸發(fā)時,該對象會傳入回調(diào)函數(shù)。如果不需要這個對象,此處可以填null。

title:新頁面的標(biāo)題,但是所有瀏覽器目前都忽略這個值,因此這里可以填null。

url:新的網(wǎng)址, 必須與當(dāng)前頁面處在同一個域 。瀏覽器的地址欄將顯示這個網(wǎng)址。

注:pushState方法不會觸發(fā)頁面刷新,只是導(dǎo)致history對象發(fā)生變化,地址欄會有反應(yīng)。

舉例實現(xiàn):

Html5 監(jiān)聽攔截Android返回鍵方法如下:

1. 監(jiān)聽 popstate 事件

window.addEventListener("popstate", function(){
    //doSomething
}, false)

2.取消默認(rèn)的返回操作,即監(jiān)聽攔截返回鍵:添加一條空的 history 實體作為替代原來的 history 實體

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 = "用戶點擊返回" + (++count)
     })
  </script>
<body>
  <p id="logView">test</p>
</body>
</html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論