В моем случае после того, как конечный пользователь отправит свои новые данные на сервер, он будет перенаправлен на другую страницу.Но когда конечный пользователь нажмет кнопку «Назад», форма будет заполнена старыми данными.Итак, перезагрузка страницы необходима.
Я сделал обходной путь для Firefox и еще один для Google Chrome.Они имеют различное поведение для отображения кэшированных страниц.
Это не позволит Firefox кэшировать страницу, а кнопка «Назад» выведет страницу с сервера.
window.onunload = function(){};
Но Google Chrome делает это по-другому, и вышеуказанное решение не работаетдля меня.Поэтому я сделал еще один обходной путь для Chrome.Я сделал флаг, помечающий форму как грязную.
Вверху <head>
, перед загрузкой чего-либо, я проверяю cookie
if(document.cookie.match(/my-form=dirty/)) {
document.cookie = "my-form=; expires=-1; path="+document.location.pathname;
window.location.reload();
}
С помощью jQuery я пишуфайл cookie, когда пользователь изменяет что-либо
$(document).load(function(){
$(':input').change(function(){
document.cookie = "my-form=dirty; expires=86400000; path="+document.location.pathname;
})
})
Полезно знать: