Определить, использовал ли пользователь кнопку «Назад» - PullRequest
8 голосов
/ 23 марта 2010

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

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

Ответы [ 4 ]

4 голосов
/ 23 марта 2010

Я бы подумал, что использование куки - это самый простой способ сделать это

0 голосов
/ 23 марта 2010

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

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

Возможно, вы захотите просмотреть исходные тексты, например gmail, и посмотреть, как они это делают.библиотека для того, что вы ищете, кстати

0 голосов
/ 23 марта 2010

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

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

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

0 голосов
/ 23 марта 2010

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

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

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

http://www.java - образцы.com / showtutorial.php? tutorialid = 582

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

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