阻止安卓實體返回鍵后退的網頁js實現


提供兩種解決方法吧,都是網上來的,侵權刪,畢竟我等只是搞后端的……

第一種方法:

// 阻止安卓實體鍵后退
// 頁面載入時使用pushState插入一條歷史記錄
history.pushState(null, null, '#' );
window.addEventListener('popstate', function(event) {
// 點擊回退時再向歷史記錄插入一條,以便阻止下一次點擊回退
    history.pushState(null, null, '#' );
}); 

第二種直接貼鏈接吧:

H5中 JS 禁用安卓手機物理返回鍵 , 微信瀏覽器中也支持

 ========================================2017-11-10更新內容=====================================================

第一種方法的修改:我發現如果插入#的話,那么如果異常刷新就會進入項目的根路徑,這個並不是我們所期望的,所以稍加修改成這樣的

//攔截安卓回退按鈕
history.pushState(null, null, location.href);
window.addEventListener('popstate', function(event) {
    history.pushState(null, null, location.href );
    //此處加入回退時你要執行的代碼
}); 

其中location.href會自動獲取到當前路徑的url,添加到歷史記錄,然后每次點擊都會先加入一次歷史記錄,然后再加入一次防止下次返回鍵觸碰失效

好了,這樣就能實現一種你想不讓這個頁面用戶自己回退,或者返回鍵執行響應的方法,那么這個方法就很簡單了。

ps:這個功能僅支持app中的,不帶后退按鈕的瀏覽器,也就是說頁面中的返回按鈕是我們自己寫的事件那種。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM