解决方案 »

  1.   

    这个应该是不行操作的吧,前端的代码只是在这个浏览器的平台进行运行理论上,这些东西是不能改变平台的一些操作的不过可以进行一个提示
    window.onbeforeunload = function(){
    console.log("leave this page!");
    return false;
    }这样可以监听卸载当前页面的事件,如果向前返回的话,就会触发这个事件,这里只是会提示出,是否要离开,只能做到引导用户不要离开,不能限制说,不能离开当前页面。
      

  2.   

    同意楼上,不建议改变浏览器的这些行为,特别是不通知用户的前提下,这样改变了用户的使用习惯,会对用户产生不必要的困惑。但是也提供另外一种方法,可以考虑用history API方法解决。 这么试试:
    go.html
    <html>
    <head>
    <title>Go</title>
    </head>
    <body>
        <input type="button" value="Go" onclick="window.location.href = 'back.html#no-back';" />
    </body>
    </html>
    back.html
    <html>
    <head>
        <title>No Backwards</title>
        <script type="text/javascript">
            var history_api = typeof history.pushState !== 'undefined'; 
            if (location.hash == '#no-back') {
                if (history_api)
                    history.pushState(null, '', '#stay');
                else
                    location.hash = '#stay';            window.onhashchange = function() {
                    if (location.hash == '#no-back') {
                        alert("No backwards!");
                        if (history_api)
                            history.pushState(null, '', '#stay');
                        else
                            location.hash = '#stay';
                    }
                }
            }
        </script>
    </head>
    <body>
        <div>
            No backwards...</div>
    </body>
    </html>
    需要注意的是:IE10以上才支持hisotry api方法。参考:http://jordanhollinger.com/2012/06/08/disable-the-back-button-using-html5
      

  3.   

    可以试试 unload 事件,就是和 window.load() 相反的那个,具体我也不清楚。
      

  4.   

     window.onpopstate = function () {
                      //do something .. 
                    }html5 可以监听每次地址更换 。 如果是旧游览器你可以用 # ,监听hash change event