Подтвердить что ты не робот

Javascript: изменение функции кнопки назад

Есть ли способ сделать кнопку возврата пользователя в свой браузер, вызвать функцию javascript вместо возврата страницы?

4b9b3361

Ответ 1

Вы не можете переопределить поведение, которое, если пользователь перейдет по ссылке на вашу страницу, нажав "Назад", он снова отключит его.

Но вы можете сделать действия JavaScript на своей странице, добавлять записи в историю, как если бы они были кликами на новые страницы, и контролировать, что происходит с Back и Forward в контексте этих кликов.

Для этого есть библиотеки JavaScript, с Really Simple History - популярный пример.

Ответ 2

да, вы можете. Используйте этот js:

(function(window, location) {
    history.replaceState(null, document.title, location.pathname+"#!/stealingyourhistory");
    history.pushState(null, document.title, location.pathname);

    window.addEventListener("popstate", function() {
      if(location.hash === "#!/stealingyourhistory") {
            history.replaceState(null, document.title, location.pathname);
            setTimeout(function(){
              location.replace("http://www.programadoresweb.net/");
            },0);
      }
    }, false);
}(window, location));

Это приведет к перенаправлению вашей кнопки "Назад" на место. Укажите, что вы указываете

Ответ 3

Я думаю, это будет трюк. вы можете написать свой собственный код для выполнения при нажатии кнопки браузера внутри функции onpopstate. Это работает в HTML5.

 window.onpopstate = function() {
       alert("clicked back button");
    }; history.pushState({}, '');