#javascript #firefox #caching
#javascript #firefox #кэширование
Вопрос:
Сегодня я наткнулся на странное поведение кэша Firefox 4, которое описано ниже.
-
Существует форма
<form name="widget"> <input type="hidden" name="position" value="-1" /> </form>
-
При произвольном событии я изменил его на «rss».
-
После обновления страницы с помощью «F5» я получаю доступ к значению
alert(document.widget.position.value);
который возвращает «rss«. ПОЧЕМУ СТАРОЕ ЗНАЧЕНИЕ?
-
Но после обновления страницы с помощью «Control F5» я получаю доступ к значению
alert(document.widget.position.value);
который возвращает правильное «-1«. ПОЧЕМУ НЕ В ПЕРВЫЙ РАЗ?
Я действительно смущен таким поведением.
ПРИМЕЧАНИЕ: Это делает только FireFox4, chrome у меня в порядке, но не тестировался в ie.
Комментарии:
1. Подтверждаю, я думаю, что это ошибка кэша…
2. Похоже, что ошибка функции автозаполнения форм.
3. Что у вас за «произвольное событие»?
Ответ №1:
Я думаю, что вас беспокоит кэширование FF значений элементов forms / input. Возможно, вы захотите использовать:
<form id="widget">
<input type="hidden" id="position" value="-1" />
</form>
и чтобы изменить значение:
document.getElementById('position').value = /*[your value]*/;
Кроме того, <form ... autocomplete="off">
кажется, работает.
Комментарии:
1. 1, Спасибо за ваш ответ, я довольно уверен в автозаполнении формы, потому что, когда я перехожу к исходному коду в браузере, все в порядке. А также firefox не так сильно отстой в кэшировании. Надеюсь, я протестирую это на следующем сеансе.
2. Спасибо, чувак, это было автозаполнение формы.