Я не могу найти способ выполнить скрипт, когда страница будет достигнута с помощью кнопки BACK или клавиши браузера. (Предыстория: мне нужно знать, была ли открыта страница с помощью кнопки BACK браузера или команды ключа. Затем я мог проверить сохраненную переменную sessionStorage и вызвать некоторые подходящие вещи).Запуск скрипта (js или jQuery) с помощью функции браузера браузера «BACK»
Если, например, я это в мой код страницы
<script>
$(document).ready(function() {
alert("YES!");
/* in the real situation: do something */
})
</script>
, предупреждение будет отображаться, когда я загрузить страницу по ссылке или открыв его непосредственно, введя его URL в адресную строку ,
Но это предупреждение будет не появляется, когда я прихожу на эту страницу с помощью кнопки BACK.
Я попробовал то же самое, используя $(window).on("load", function() {...
и $(window).on("navigate", function() {...
- нет успеха либо ...
EDIT/Сложение:
Я просто понял, что браузеры ведут себя по-разному в этом отношении: Chrome, Opera, IE и Firefox Windows, перезагрузит страницу правильно (и вызовет события document.ready()
и onload()
), но Firefox Mac и Safari не будут - они загружают всю страницу из кеша без запуска document.ready()
или onload()
. (Я еще не пробовал мобильных браузеров)
Итак, я искал решения, избегающие кэшированного контента, но то, что я нашел и попытался до сих пор (это много!), Не сработало ...
возможных дублей: http://stackoverflow.com/questions/ 26650496/как-для-обнаружить-если-a-user-has-go-to-a-page-by-use-the-browser-back-button http://stackoverflow.com/questions/2008806/how -to-detect-if-the-user-clicked-the-back-button –
@ZverevEugene это * не * дубликат: вопрос, который вы цитируете, даже не имеет ответа, а лишь несколько позже добавленных обходных путей в вопросе, со скрытой формой, в которой OP признает, что он даже не понимает этого сам. – Johannes
Посмотрите на вторую статью. Во всяком случае, есть довольно много вопросов по одному и тому же вопросу. Я только что упомянул о первых двух. –