禁用地址栏和浏览器的后退和前进按钮

时间:2012-02-29 07:08:49

标签: javascript

如何在ie和firefox中禁用或隐藏地址栏和后退和前进按钮

我尝试了很多链接和解决方案,但没有工作 例如,禁用后退按钮:

<script type = "text/javascript" >
function changeHashOnLoad() {
    window.location.href += "#";
    setTimeout("changeHashAgain()", "50");
}

function changeHashAgain() {
    window.location.href += "1";
}

var storedHash = window.location.hash;
window.setInterval(function () {
    if (window.location.hash != storedHash) {
        window.location.hash = storedHash;
    }
}, 50);

但它似乎转到上一页然后返回

和我trid:

 window.scrollTo(0, 0); // reset in case prev not scrolled  
        var nPageH = $(document).height();
        var nViewH = window.outerHeight;
        if (nViewH > nPageH) {
            nViewH -= 250;
            $('BODY').css('height', nViewH + 'px');
        }
        window.scrollTo(0, 1);
    }

用于禁用菜单栏但它没有工作

我能做什么

3 个答案:

答案 0 :(得分:1)

尝试使您的页面支持用户返回,而不是禁用后退按钮。它将增加您的应用程序的可用性。

即使你也可以为ajax活动而恭维它。

答案 1 :(得分:0)

未经测试,但您可以绑定到窗口的hashchange事件。

例如,在jQuery中很容易做到:

$(window).bind('hashchange', function(e)
{
 e.stopImmediatePropagation();
 e.stopPropagation();
 e.preventDefault();

 return false; // stop event
}); 

结果是,当锚在网址中时,后退按钮不会更改页面。但我同意第一个答案(我认为这不是一个真正的答案,这是一个建议)。

您还可以覆盖window.history中的最后一个条目,因此用户无法返回。

答案 2 :(得分:0)

不要以为你可以禁用浏览器上的按钮。我的意思是,否则,我们在间谍软件感染的网站上看到了它......

就隐藏它们而言,我已经看到银行使用全屏popup而没有这些按钮(但鼠标上的硬件按钮或击退退格仍然有效)。