Запуск Javascript на кэшированной странице? - PullRequest
1 голос
/ 15 апреля 2010

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

У меня есть страница с выпадающим элементом формы SELECT с несколькими параметрами. Если выбрана одна конкретная опция (в данном случае первый элемент), мы показываем дополнительный контент (через jQuery). Это отлично работает.

Однако, что происходит, если я выбираю пункт 2, дополнительный контент исчезает, как и должно быть. Затем я перехожу на другую страницу и затем нажимаю НАЗАД. В этот момент страница должным образом скрыла этот дополнительный контент (как это было в последнем состоянии), но меню SELECT было сброшено до первого элемента. Затем мне нужно нажать кнопку SELECT, выбрать другую опцию, затем снова выбрать ее, выбрав первую опцию, которая, наконец, возвращает дополнительный контент.

Я не могу вызвать Javascript из того, что я могу сказать на кэшированной странице (или есть ли способ?) Какие-нибудь другие умные варианты?

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

Ответы [ 2 ]

0 голосов
/ 29 мая 2016

Похоже, для вашего конкретного случая этого ответа из здесь будет достаточно:

В настоящее время навигация поддерживается большинством браузеров (т.е. 9+): http://www.w3.org/TR/navigation-timing/#sec-navigation-info-interface

Вы можете использовать это так:

 if (!!window.performance && window.performance.navigation.type === 2) {
    // page has been hit using back or forward buttons
  } else {
    // regular page hit
 }
0 голосов
/ 15 апреля 2010

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

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