1

我试图阻止后退按钮在我的一个 asp.net mvc 页面上工作。我读过几个地方,如果我放“window.history.forward(1);” 在我的页面中,它将阻止后退按钮在给定页面上工作。这是我在我的页面中所做的:

<script type="text/javascript">
        $(document).ready(function () {
            window.history.forward(1);
        });
    </script>

它似乎不起作用。我是在错误地使用它还是这种方法是错误的?谢谢。

4

9 回答 9

4

我看到这个技巧的使用方式是将history.forward()每个页面放在您不希望后退按钮工作的页面之前,然后每次用户点击后退按钮时,它都会将它们转发回原来的位置。常见的用途是防止其他人在前进后返回页面(通常以给定的线性顺序)。例如,这有时用于银行网站的登录序列中。

据我所知,没有办法真正禁用后退按钮。有时人们会通过在新窗口中打开页面来解决这个问题,新窗口不会有之前页面的历史记录,因此没有什么可返回的。其他人只是在返回之前显示一条警告消息,通知用户他们可能会丢失未保存的数据,如果这是主要问题的话。

也就是说,也许这会对您有所帮助:http: //viralpatel.net/blogs/disable-back-button-browser-javascript/

于 2012-11-07T02:20:43.190 回答
2

也许:...

<script type="text/javascript">
   function disableBackButton()
   {
     window.history.forward();
   }
   setTimeout("disableBackButton()", 0);
    $(document).ready(function () {
       disableBackButton();
    });
</script>
于 2010-12-30T19:32:27.333 回答
1

在您不希望后退按钮起作用的页面上使用。

window.history.forward(1);
于 2014-02-27T06:25:36.533 回答
0

这对我有用...希望对您有帮助..

<script type="text/javascript">
    window.history.forward();
    function noBack(){ 
    window.history.forward();
     }
</script>   

 $(document).ready(function() {
            noBack();
}); 
于 2013-02-08T13:36:08.747 回答
0
<SCRIPT type="text/javascript">
    window.history.forward();
    function noBack() { window.history.forward(); }
</SCRIPT>

并在 html Body 标签中编写以下代码。

<body  onload="noBack();" onpageshow="if (event.persisted) noBack();" onunload=" " > 

试试这个,它对我有用。

于 2014-10-02T17:50:36.083 回答
0

不确定这是否相关,但我找到了它,可能值得一试:

<script type="text/javascript">
    function preventBack() {
        window.history.forward();
    }
    setTimeout("preventBack()", 0);
    window.onunload = function() {
        null
    };
</script>
于 2010-12-30T19:24:03.117 回答
0

您可以使用

history.go(index)
index =0 //for the current page.
index>0 //e.g 1,2 for forward navigation
index<0 //e.g -1,-2 for backward navigation

history.go(-2)
于 2013-05-11T16:15:36.200 回答
0
       <script>
            function preventBack() {
                window.history.forward();
            }

            setTimeout("preventBack()", 0);

            window.onunload = function () {
                null
            };
        </script>
于 2015-07-23T05:39:23.780 回答
0
window.history.forward();
function noBack()
{ 
    window.history.forward();
}

function setit() {
    noBack();
}
于 2020-07-23T13:59:31.683 回答