javascript "window.history.forward (1);"не работает - PullRequest
1 голос
/ 30 декабря 2010

Я пытаюсь запретить работу кнопки "Назад" на одной из моих страниц mvc asp.net. Я прочитал несколько мест, которые, если я поставлю "window.history.forward (1);" на моей странице это будет препятствовать тому, чтобы кнопка назад работала на данной странице. Вот что я сделал на своей странице:

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

Кажется, это не работает. Я использую это неправильно или это неправильный подход? спасибо.

Ответы [ 8 ]

3 голосов
/ 07 ноября 2012

Я видел этот трюк в том, чтобы поместить history.forward() на каждую страницу перед страницей, на которой вы не хотите, чтобы кнопка «Назад» работала, затем каждый раз, когда пользователь нажимает кнопку «Назад», он перенаправляет их обратно где они были. Обычное использование состоит в том, чтобы не дать другим вернуться на страницу (обычно в заданной линейной последовательности) после того, как они прогрессируют. Иногда это используется в последовательности входа в систему для банковских веб-сайтов, например.

Насколько я знаю, на самом деле невозможно отключить кнопку возврата. Иногда люди могут обойти это, открыв страницу в новом окне, в котором не будет истории страниц, предшествующих ей, и, следовательно, нечего возвращаться. Другие просто отображают предупреждающее сообщение, прежде чем вернуться, чтобы сообщить пользователю, что они могут потерять несохраненные данные, если это главная проблема.

Тем не менее, может быть, это поможет вам: http://viralpatel.net/blogs/disable-back-button-browser-javascript/

1 голос
/ 27 февраля 2014

Используйте на странице, на которой вы не хотите, чтобы кнопка «Назад» работала.

window.history.forward (1);
1 голос
/ 30 декабря 2010

возможно: ...

<script type="text/javascript">
   function disableBackButton()
   {
     window.history.forward();
   }
   setTimeout("disableBackButton()", 0);
    $(document).ready(function () {
       disableBackButton();
    });
</script>
0 голосов
/ 23 июля 2015
       <script>
            function preventBack() {
                window.history.forward();
            }

            setTimeout("preventBack()", 0);

            window.onunload = function () {
                null
            };
        </script>
0 голосов
/ 02 октября 2014
<SCRIPT type="text/javascript">
    window.history.forward();
    function noBack() { window.history.forward(); }
</SCRIPT>

А в HTML-теге Body напишите следующий код.

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

Попробуйте, у меня это сработало.

0 голосов
/ 11 мая 2013

Вы можете использовать

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)
0 голосов
/ 08 февраля 2013

Это работает для меня ... Надеюсь, это полезно для вас ..

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

 $(document).ready(function() {
            noBack();
}); 
0 голосов
/ 30 декабря 2010

Не уверен, что это актуально, но я нашел его, и, возможно, стоит попробовать:

<script type="text/javascript">
    function preventBack() {
        window.history.forward();
    }
    setTimeout("preventBack()", 0);
    window.onunload = function() {
        null
    };
</script>
...