Есть ли способ сделать кнопку возврата пользователя в свой браузер, вызвать функцию javascript вместо возврата страницы?
Javascript: изменение функции кнопки назад
Ответ 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({}, '');