如何禁用或隐藏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中的最后一个条目,这样用户就无法返回。