Определить, использовал ли пользователь кнопку возврата

Моя веб-страница запускает функцию javascript при загрузке страницы. Однако я не хочу, чтобы функция запускалась, если пользователь вернется на эту страницу с помощью кнопки «Назад». Как я могу предотвратить это с помощью javascript?

$(document).ready(function(){
  // Do not run this function if the user has arrived here using the back button  
  RefreshThePage();
});

person Tom    schedule 23.03.2010    source источник
comment
возможный дубликат трека stackoverflow.com/questions/55871/   -  person T.J. Crowder    schedule 30.03.2010
comment
Дубликат: stackoverflow.com/questions/55871/ Хотя бы один лучший ответ здесь, однако вопрос следует объединить, но не удалять.   -  person T.J. Crowder    schedule 30.03.2010
comment
У меня сейчас такая же проблема, не могли бы вы рассказать, как вы ее решили?   -  person Agung Setiawan    schedule 01.09.2014


Ответы (4)


Я бы подумал, что проще всего это сделать с помощью файлов cookie.

person matpol    schedule 23.03.2010
comment
У меня такая же проблема прямо сейчас, не могли бы вы указать, как использовать файлы cookie для решения этой проблемы? - person Agung Setiawan; 01.09.2014

Думаю, вам может помочь изучение того, как Struts обрабатывает дублирующиеся формы.

Некоторые ссылки:

http://www.techfaq360.com/tutorial/multiclick.jsp

http://www.java-samples.com/showtutorial.php?tutorialid=582

http://www.xinotes.org/notes/note/369/

person thelost    schedule 23.03.2010

Отслеживайте, когда пользователь нажимает кнопку "Назад" в браузере

Есть несколько способов сделать это, хотя некоторые из них работают только в определенных браузерах. Один из тех, что я знаю, - это встроить крошечный почти невидимый iframe на страницу. Когда пользователь нажимает кнопку «Назад», происходит возврат в iframe, который вы можете обнаружить, а затем обновить свою страницу. Вот еще одно решение.

Вы также можете просмотреть исходный код в чем-то вроде Gmail и посмотреть, как они это делают.

Вот библиотека для того, что вы, кстати, ищете

person Haim Evgi    schedule 23.03.2010

Объект события предлагает вам получить код ключа. так что в основном вы регистрируете прослушиватель событий onKeyDown. Используйте полученное событие. если код клавиши совпадает с понравившейся клавишей, продолжайте выполнение функции.

document getElementById('elementId').onKeyDown = checkKey();
function checkKey(event) {
  if (event.keyCode === keyCode) then . . . 
}

поиграйте с предупреждением (event.keyCode); найти правильный.

person Markus Maria Miedaner    schedule 23.03.2010
comment
Том имеет в виду кнопку "Назад" в браузере, а не кнопку "Назад" на странице. И я не думаю, что вы можете зафиксировать кнопку возврата браузера как событие клавиатуры в JavaScript. - person Prutswonder; 23.03.2010