這種方式梆惯,可以消除后退的所有動(dòng)作备韧。包括 鍵盤劫樟、鼠標(biāo)手勢等產(chǎn)生的后退動(dòng)作。
原理:利用popstate事件和pushState方法,popstate是html5新增的一個(gè)事件叠艳,它會(huì)在瀏覽器歷史發(fā)生變化時(shí)觸發(fā)奶陈,大致上可以這么理解,用戶點(diǎn)擊后退按鈕時(shí)附较,會(huì)觸發(fā)popstate事件吃粒。
例如一下代碼:
<script language="javascript">
//防止頁面后退
history.pushState(null, null, document.URL);
window.addEventListener('popstate', function () {
history.pushState(null, null, document.URL);
});
</script>