如何使用javascript禁用浏览器中的后退按钮

时间:2013-11-12 10:28:09

标签: javascript

想要禁用网站的后退按钮

每当用户点击浏览器后退按钮时,它就不能进入他之前访问过的页面。

4 个答案:

答案 0 :(得分:238)

history.pushState(null, null, document.title);
window.addEventListener('popstate', function () {
    history.pushState(null, null, document.title);
});

此脚本将覆盖尝试使用当前页面的状态来回导航。


更新

有些用户报告使用document.URL代替document.title取得了更大的成功:

history.pushState(null, null, document.URL);
window.addEventListener('popstate', function () {
    history.pushState(null, null, document.URL);
});

答案 1 :(得分:20)

一个人无法禁用浏览器后退按钮功能,只有可以做的事情就是阻止他们。

以下JavaScript代码需要放在页面的head部分,您不希望用户使用后退按钮重新访问:

<script>
  function preventBack(){window.history.forward();}
  setTimeout("preventBack()", 0);
  window.onunload=function(){null};
</script>

假设有两个页面Page1.phpPage2.php以及Page1.php重定向到Page2.php

因此,为防止用户使用后退按钮访问Page1.php,您需要将上述脚本放在Page1.php的标题部分。

了解更多信息:Reference

答案 2 :(得分:-10)

我们的方法很简单,但是工作! :)

当用户点击我们的LogOut按钮时,我们只需打开登录页面(或任何页面)并关闭我们的页面...模拟在新浏览器窗口中打开w /无历史记录返回。

<input id="btnLogout" onclick="logOut()" class="btn btn-sm btn-warning" value="Logout" type="button"/>
<script>
    function logOut() {
        window.close = function () { window.open('Default.aspx', '_blank'); };
    }
</script>

答案 3 :(得分:-32)

你不能,也不应该。

每个其他方法/替代方案只会导致用户参与度非常差。

这是我的意见。