Отключить кнопку «Назад» в браузере с помощью jquery? - PullRequest
10 голосов
/ 14 июля 2010

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

if(getCookie('username') == ""){
   Disable back button;// we use "window.history.redirect" for javascript i look jquery for this

}

Пожалуйста, помогите мне ..

Ответы [ 8 ]

19 голосов
/ 18 февраля 2017

Вы должны вставить свой URL в pushState и очистить историю браузера:

попробуйте это:

$(document).ready(function() {
        window.history.pushState(null, "", window.location.href);        
        window.onpopstate = function() {
            window.history.pushState(null, "", window.location.href);
        };
    });
4 голосов
/ 09 июня 2017

Используйте следующий код как :

window.onload = function () {
    if (typeof history.pushState === "function") {
        history.pushState("jibberish", null, null);
        window.onpopstate = function () {
            history.pushState('newjibberish', null, null);           
        };
    }
    else {
        var ignoreHashChange = true;
        window.onhashchange = function () {
            if (!ignoreHashChange) {
                ignoreHashChange = true;
                window.location.hash = Math.random();                
            }
            else {
                ignoreHashChange = false;   
            }
        };
    }
};
4 голосов
/ 03 февраля 2016
var path = 'Test.aspx'; //write here name of your page 
history.pushState(null, null, path + window.location.search);
window.addEventListener('popstate', function (event) {
    history.pushState(null, null, path + window.location.search);
});

Это работает во всех браузерах (кроме

Для этого вам даже не нужен jquery.

посмотрите здесь , чтобы применить это к своей странице.

4 голосов
/ 01 октября 2011
Это еще один способ отключить функцию возврата на любой веб-странице. Мы можем отключить обратную навигацию, добавив следующий код на веб-странице. Теперь выгода заключается в том, что вы должны добавить этот код на все страницы, где вы хотите, чтобы пользователь не вернулся с предыдущей страницы. Например, пользователь следует за страницей навигации1 -> страницей2. И вы хотите остановить пользователя со страницы 2, чтобы вернуться на страницу 1. В этом случае весь следующий код на стр. 1.

КОД:

<HTML>
    <HEAD>
        <SCRIPT type="text/javascript">    
             window.history.forward();
             function noBack() { 
                  window.history.forward(); 
             }
        </SCRIPT>
    </HEAD>
    <BODY onload="noBack();" onpageshow="if (event.persisted) noBack();" onunload="">
    </BODY>
</HTML>
1 голос
/ 14 июля 2010

Это не совсем ваш подход, но вы можете отключить панель навигации любого окна, используя обычный JavaScript.Просто установите window.menubar и window.toolbar видимость на false следующим образом,

window.menubar.visible = false ;
window.toolbar.visible = false ;

Обновление:

Изменение видимости меню и панели инструментовсуществующее окно нарушает протоколы безопасности.(https://developer.mozilla.org/en/DOM/window.menubar)

Поэтому единственный реальный способ - это открыть новое окно с меню и панелью инструментов, для которых в первую очередь установлено значение «нет»:

window.open(url,name,"menubar=no,toolbar=no[, additional options]",true) ;

Если вы установите аргумент замены(последний аргумент) для истины, новое окно также должно наследовать историю окна, в котором оно было открыто.

Проверьте https://developer.mozilla.org/en/DOM/window.open и http://msdn.microsoft.com/en-us/library/ms536651(VS.85).aspx для справки.

0 голосов
/ 28 апреля 2015

Sunil был верным, но для использования jQuery вставьте приведенный ниже код на любую страницу, которую вы также хотите предотвратить, чтобы вернуться назад.Я проверял это в IE 11, Chrome и FF, который работал нормально.

$(document).ready(function () {
    function disableBack() {window.history.forward()}

    window.onload = disableBack();
    window.onpageshow = function (evt) {if (evt.persisted) disableBack()}
});
0 голосов
/ 14 февраля 2014

Это будет работать, у меня это сработало, так как я имею дело с мобильными браузерами, android и ios.

window.history.forward();
window.onload = function()
{
  window.history.forward();
};

window.onunload = function() {
  null;
};
0 голосов
/ 19 октября 2013

Простая логика: двигаться вперед при нажатии вперед


function preventBack() {
    window.history.forward();
}
 window.onunload = function() {
    null;
};
setTimeout("preventBack()", 0);

Сохраните этот код js на своей странице, чтобы он работал.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...