您好,登錄后才能下訂單哦!
怎么在Html5中監聽攔截Android返回鍵?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
瀏覽器窗口有一個history對象,用來保存瀏覽歷史。
如果當前窗口先后訪問了三個網址,那么history對象就包括三項,history.length屬性等于3。
history對象提供了一系列方法,允許在瀏覽歷史之間移動:
window.history.back():移動到上一個訪問頁面,等同于瀏覽器的后退鍵。
window.history.forward():移動到下一個訪問頁面,等同于瀏覽器的前進鍵。
window.history.go(num):接受一個整數作為參數,移動到該整數指定的頁面,比如go(1)相當于forward(),go(-1)相當于back()。
window.history.pushState():HTML5為history對象添加了兩個新方法,window.history.pushState()和window.history.replaceState(),用來在瀏覽歷史中添加和修改記錄。
注:1.如果移動的位置超出了訪問歷史的邊界,以上三個方法并不報錯,而是默默的失敗。
2.設置時,頁面通常是從瀏覽器緩存之中加載,而不是重新要求服務器發送新的網頁。
重點講解下: window. history.pushState()
window.history.pushState(state, title, utl),在頁面中創建一個 history 實體。直接添加到歷史記錄中。
其中參數:
state:一個與指定網址相關的狀態對象,popstate事件觸發時,該對象會傳入回調函數。如果不需要這個對象,此處可以填null。
title:新頁面的標題,但是所有瀏覽器目前都忽略這個值,因此這里可以填null。
url:新的網址, 必須與當前頁面處在同一個域 。瀏覽器的地址欄將顯示這個網址。
注:pushState方法不會觸發頁面刷新,只是導致history對象發生變化,地址欄會有反應。
舉例實現:
Html5 監聽攔截Android返回鍵方法如下:
1. 監聽 popstate 事件
window.addEventListener("popstate", function(){ //doSomething }, false)
2.取消默認的返回操作,即監聽攔截返回鍵:添加一條空的 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>
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。