Я использую Firefox и заметил кое-что интересное во время работы над своим сайтом. На одной странице есть таблица с информацией, но также поддерживаются переменные Javascript, указывающие на содержимое таблицы, чтобы упростить поиск информации.
Когда я ухожу со страницы, вводя URL-адрес, а затем нажимаю кнопку «Назад», чтобы вернуться, я заметил, что страница, похоже, сохраняет свое состояние. Таблица по-прежнему имеет то же содержимое, что и при моем уходе, и дальнейшее взаимодействие со страницей показывает, что переменные Javascript также сохранили свои значения.
Я предполагал, что мои функции $(document).ready();
будут запускаться снова при нажатии кнопки «Назад», но это явно не так, поскольку я написал эти функции, чтобы убедиться, что страница находится в исходном состоянии, независимо от текущего содержимого страницы.
Я думаю, что восстановление страницы таким образом вполне приемлемо, если я могу рассчитывать на правильное восстановление страницы. Если вместо этого страница будет восстановлена в исходное состояние, это также будет приемлемо.
Безопасно ли полагаться на такое поведение? Было бы лучше использовать что-то вроде onunload
, чтобы гарантировать, что состояние страницы не будет сохранено? Должен ли я просто предположить, что браузер будет делать все правильно?
Я бы сказал, что состояние моего веб-сайта определяется HTML на странице и содержимым переменных Javascript. Он использует AJAX (или, я думаю, технически AJAJ) для взаимодействия со страницами PHP, но все взаимодействия дискретны. транзакции. Единственным состоянием/сеансом, необходимым серверу, являются файлы cookie для аутентификации при входе в систему, которые не должны быть затронуты этим.
header('Cache-Control: no-cache, no-store, must-revalidate'); header('Pragma: no-cache'); header('Expires: 0');
поможет удалить кеш. - person Alexis Paques   schedule 28.04.2015$(document).ready();
функции. Так безопасно ли тогда полагаться на него? Либо он загрузит все это идеально, либо перезагрузит его с нуля? - person bytesized   schedule 28.04.2015