js如何禁止頁面回退

2022-05-18 08:26:47 字數 726 閱讀 7333

js本身是無法禁止頁面回退的,但是我們可以通過一些特殊操作來達到這個效果,我們主要用到:

為瀏覽器加乙個當前**的歷史記錄,這樣當點選回退時,就會回到當前頁面,相當於沒回退,然後給使用者的感覺就是沒有回退

window.history.pushstate(null, null, document.url);

首先我們需要在剛進入頁面時在瀏覽器歷史記錄中加一條當前頁面的記錄,入上**,

另外我們需要監聽頁面後退,在頁面後退的**方法中再加一條當前**的歷史記錄,為什麼呢?

當我們回退成功後,如果不加歷史記錄,那麼再次回退時,就回退到了之前的歷史記錄了,所謂的禁止回退的效果就失效了,所以我們需要在回退的**函式內加一條歷史記錄,防止下一次回退會真正的回退到之前的記錄,

這樣迴圈往復,我們點選回退,永遠都會停留在當前頁面,從而造成禁止瀏覽器回退的假象。

監聽瀏覽器回退的方法:

window.addeventlistener('popstate', this.popstatefun,false);

popstatefun方法

popstatefun()

另外,注意一點的是,在頁面銷毀時,記得將這個方法解除繫結,否者,所有的頁面都無法回退了

window.removeeventlistener('popstate', this.popstatefun);

js禁止蘋果頁面底部滾動 js 禁止 允許頁面滾動

出處 方法一 ios允許滾動會無效 function scrcontrol t passive 引數不能省略,用來相容ios和android else if t 1 passive,設定該屬性的目的主要是為了在阻止事件預設行為導致的卡頓。等待 的執行是耗時的,有些甚至耗時很明顯,這樣就會導致頁面卡頓...

js 靜止滾輪 js禁止頁面滾動

開發移動端頁面的時候有乙個很比較常見的需求,在出現彈窗時,禁止滑動彈窗後面的主體頁面。如何實現呢,往下看 js實現整個頁面禁止滾動 document.body.addeventlistener touchmove function e passive 引數不能省略,用來相容ios和android p...

HTML頁面禁止選擇 頁面禁止複製 頁面禁止右鍵

轉至 html頁面內容禁止選擇 複製 右鍵 剛在乙個看乙個站點的源 的的時候發現的,其實原來真的很簡單 關鍵就在 nc ntextmenu return false ndragstart return false onselectstart return false nselect document...