我试图避免用户使用后退按钮,这是如此之好,直到我尝试获取上下文菜单,右键单击Chrome的标题栏我看到其他页面没有我这样做的选择。
我使用了这段代码:
< script type="text/javascript">
function disableBackButton() {
window.history.forward(1);
}
setTimeout("disableBackButton()", 0);
window.oncontextmenu = function() { return false }
</ script>
< script type="text/javascript">
if (typeof window.event != 'undefined')
document.onkeydown = function() {
if (event.srcElement.tagName.toUpperCase() != 'INPUT')
return (event.keyCode != 8);
}
else
document.onkeypress = function(e) {
if (e.target.nodeName.toUpperCase() != 'INPUT')
return false;
}
</ script>
< script type="text/javascript">
document.onkeydown = chkEvent
var formInUse = false;
function chkEvent(e) {
var keycode;
if (window.event) keycode = window.event.keyCode; //*** for IE ***//
else if (e) keycode = e.which; //*** for Firefox ***//
if (keycode == 8) {
return false;
}
}
</ script>
< body onload="disableBackButton();" >
< script type="text/javascript">
function disableBackButton() {
window.history.forward(1);
}
setTimeout("disableBackButton()", 0);
window.oncontextmenu = function() { return false }
</ script>
< script type="text/javascript">
if (typeof window.event != 'undefined')
document.onkeydown = function() {
if (event.srcElement.tagName.toUpperCase() != 'INPUT')
return (event.keyCode != 8);
}
else
document.onkeypress = function(e) {
if (e.target.nodeName.toUpperCase() != 'INPUT')
return false;
}
</ script>
< script type="text/javascript">
document.onkeydown = chkEvent
var formInUse = false;
function chkEvent(e) {
var keycode;
if (window.event) keycode = window.event.keyCode; //*** for IE ***//
else if (e) keycode = e.which; //*** for Firefox ***//
if (keycode == 8) {
return false;
}
}
</ script>
< body onload="disableBackButton();" >
在我看来,没有太多事情要做,而且那是操作系统领域,但如果有人知道这一点,值得一试
亲切的问候
乔治
答案 0 :(得分:1)
绝对不能也绝不允许在网页沙箱之外做任何事情。即使您不小心在某些浏览器中找到了这样做的方法,也不要依赖它,因为它会被视为巨大的安全风险,并且会被开发人员迅速修补或缩减为某些隐藏标记激活的kludge。只是完全违背浏览器的沙盒环境试图完成的想法,所以它不适用于任何公共项目。