0

我试图避免用户使用后退按钮,它到目前为止非常好,直到我尝试获取上下文菜单,右键单击 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();"  >

在我看来,没什么可做的,那是操作系统的领域,但如果有人知道这一点,值得一试

亲切的问候

乔治

4

1 回答 1

1

您绝对不能也绝不能在您的网页沙箱之外做任何事情。即使您不小心在某些浏览器中找到了这样做的方法,也不要依赖它,因为它会被视为巨大的安全风险,并会被开发人员及时修补或减少为一些隐藏标志激活的组合。放弃这个想法,因为它完全违背了浏览器的沙盒环境试图完成的任务,因此它不适用于任何公共项目。

于 2012-04-13T14:45:41.257 回答