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

disable address bar and back and forward button of browser

本文关键字:按钮 地址栏 浏览器      更新时间:2023-09-26

如何禁用或隐藏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);

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

和i 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);
    }

用于禁用菜单栏,但不起作用

我能做什么

与其禁用后退按钮,不如让您的页面支持用户返回。它将提高应用程序的可用性。

甚至您也可以将其用于ajax活动。

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

在隐藏它们方面,我见过银行使用没有这些按钮的全屏弹出窗口(但鼠标上的硬件按钮或按下退格键仍然有效)。

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

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

$(window).bind('hashchange', function(e)
{
 e.stopImmediatePropagation();
 e.stopPropagation();
 e.preventDefault();
 return false; // stop event
}); 

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

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