В фф (последний, стоит на автообновлении), наблюдаю непонятный глюк.
Есть простая html страничка с формой, которая загружается вместе со страницей и отправляется через аякс, но перед отправкой формы отключаются поля (устанавливается disabled), чтобы не было правок пока идет обработка запроса.
Если после такой отправки просто обновить страницу через f5, то страница перезагружается, форма грузится вместе со страницей, но поля формы остаются отключенными, и например радио кнопки сохраняют свой выбор, который был сделан при отправке формы. Такое чувство, что фф каким-то образом закешировал этот блок и вставил.
Если посмотреть исходный код страницы после загрузки, то форма чистая, в html нет disabled, если смотреть результат загрузки через консоль или файрбаг, то видно, что страница тоже приходит чистая. Все заголовки и мета прописаны, чтобы страница не кешировалась. Сбросить можно только через сброс кэша, нажав CTRL+F5.
Сначала грешил на джаваскрипты, но между нажатиями F5 удаляю со страницы все джаваскрипты, обновляю страницу, страница отдается в первозданном виде вместе с формой, ни один скрипт не выполняется, но форма чудесным образом отображается с отключенными полями и с выбранными радиокнопками.
Как такое происходит и как это побороть? В других браузерах такое не замечал, да и в фф это происходит не всегда, не заметил бы, если бы не тестировал страницу.
Каким еще образом можно указать фф не кешировать страницу никогда и ни при каких случаях?..
если бы я мог это повторить, то я бы уже 100% нашел бы решение сам.
я даже повторить такое не могу не то что в другом месте, но и на самой странице это проявляется в одном случае из пяти попыток.
плюс как написал выше, между попытками обновить страницу через f5 я вырезаю весь джаваскрипт на странице и если браузер что-то "закешировал", то выводит пока не нажмешь ctrl+f5, то есть дело не в джаваскрипте (да и в других браузерах ничего подобного и близко нет).
код отправки данных банальнее некуда:
отправляю данные этим запросом, все отрабатывает нормально, после этого нажимаю f5 и получаю страницу с формой с отключенными инпутами (то есть кешируется состояние непосредственно перед отправкой данных (которое получается после вызова disableInputs()). хотя сервер отдает страницу в начальном состоянии как и положено. дело 100% на стороне браузера и даже не в джаваскрипте.
добавил обработку события unload, вроде не появляется.
но так и не понял, почему она срабатывала случайным образом и не у всех.
оставлю тут, мало ли кто тоже столкнется.