刷新后防止后退不起作用

时间:2014-12-09 05:14:14

标签: javascript html dom

我从这里开始阻止编码

  

prevent back in browser and warning, strict way needed

在用户刷新后,它没有工作,托德,帮我解决这个问题。

参考代码如下:

<html>
    <head>
         <title>Stay put, or else</title>
     </head>
     <body>
         <h1>welcome to purgatory</h1>
        <script>
            if (location.hash == '#noBack') {
                history.pushState(null, '', '#sit');
                //whatever hashes that suit your project
                window.onhashchange = function() {
                    if (location.hash == '#noBack') {
                        history.pushState(null, '', '#sit');
                    }
                }
            }
        </script>
    </body>
</html>

1 个答案:

答案 0 :(得分:0)

[ 注意: 这是OP提供的代码的解决方法。]

根据您导航到炼狱 [Second]页面时的代码,您将连接标签'#noBack'。因此,当在炼狱页面浏览器解释脚本时,如果找到条件,当该位置具有标签'#noBack'并将标签更改为'#sit'时。

这次刷新页面时,它有#sit'标签我用另一个条件处理,只是将标签改回'#noBack'。因此,您将在if和else-if之间进行切换,并且不会转到上一页。

<script>        
    if (location.hash == '#noBack') {
        history.pushState(null, '', '#sit');
        //whatever hashes that suit your project
        window.onhashchange = function() {
            if (location.hash == '#noBack') {
                history.pushState(null, '', '#sit');
            }
        }
    } else if(location.hash == "#sit"){
        history.pushState(null, '', '#noBack');
        window.onhashchange = function() {
            if (location.hash == '#sit') {
                history.pushState(null, '', '#noBack');
            }
        }
    }
</script>