history.back (); не вызывает $ (document) .ready (); - PullRequest
16 голосов
/ 02 сентября 2010

У меня есть веб-страница, использующая $(document).ready() для создания интерфейса.Затем пользователь может перейти на дочернюю страницу, а чтобы вернуться на исходную страницу, он может нажать кнопку «предыдущая» браузера или кнопку «Возврат» на странице, которая вызывает history.back();.Вернувшись на исходную страницу, $(document).ready() не запускается, поэтому на странице отсутствует информация.

есть ли способ вызвать ее автоматически, как если бы это была "реальная загрузка"?

спасибоВы!

edit

помещая в него оповещение, оповещение всплывает, но в моем интерфейсе отсутствует содержимое, например, отсутствует какая-то часть события ready.Расследование ...

изменить 2

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

Извините, это совершенно плохо для меня: (

Ответы [ 4 ]

12 голосов
/ 26 апреля 2016

Для быстрого решения этой проблемы используйте вместо этого «onpageshow».

window.onpageshow = function(event) {
    //do something
};
7 голосов
/ 02 сентября 2010

Если пользователь использует кнопку Back для навигации и вам требуется полная перезагрузка страницы, вы можете установить политику NO-CACHE страницы.

Таким образом, браузер вынужден перезагрузитьстраницу с сервера, даже используя кнопку Back.

3 голосов
/ 02 сентября 2010

1.) Поместите скрипты внизу вашей страницы.
2.) выполнить плагины и еще много чего в последнем теге (тегах) скрипта.
3.) Не используйте реализации onDomReady вообще, это избыточно.

Люди настолько привыкли загружать или готовить, что они упускают из виду тот факт, что размещение ваших сценариев внизу страницы делает практически то же самое без необходимости опроса и просмотра, доступен ли ваш HTML.

Кроме того, это также хорошая практика, поскольку ваши сценарии также не блокируют рендеринг html / css.

Вне зависимости от реализаций onDomReady или onLoad решает множество проблем.

1 голос
/ 02 сентября 2010

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

...