在浏览器中禁用后退按钮

时间:2014-03-06 14:20:57

标签: java javascript jquery jsp servlets

我有一个要求在登录页面到来时禁用后退按钮。

注意下面的代码无效。

function DisableBackButton() {
    window.history.go();
}

window.onbeforeunload = DisableBackButton;

对于服务器端,我还添加了一些服务器端代码,如下所示。

response.setHeader("Cache-Control", "no-cache");
response.setHeader("Cache-Control", "no-store");
response.setHeader("Pragma", "no-cache");
response.setDateHeader("Expires", 0);%>

3 个答案:

答案 0 :(得分:0)

这是HTML5的可能解决方案:

<script type="text/javascript">
    location.hash='#no-';
    if(location.hash == '#no-') {
        location.hash='#_';
        window.onhashchange=function() {
            if(location.hash == '#no-')
                location.hash='#_';
        }
    }
</script>

答案 1 :(得分:0)

禁用后退按钮无法正常工作的原因有很多。最好的办法是警告用户:

window.onbeforeunload = function() { return "You work will be lost."; };

此页面列出了许多可以尝试禁用后退按钮的方法,但没有保证

click this link

答案 2 :(得分:0)

试试这个:

window.onload = function () { history.forward(); }; //force user to redirect
window.onunload = function() {}; // trick for some browsers like IE