提供兩種解決方法吧,都是網上來的,侵權刪,畢竟我等只是搞后端的……
第一種方法:
// 阻止安卓實體鍵后退 // 頁面載入時使用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中的,不帶后退按鈕的瀏覽器,也就是說頁面中的返回按鈕是我們自己寫的事件那種。