странная проблема с кэшем: FireFox4

#javascript #firefox #caching

#javascript #firefox #кэширование

Вопрос:

Сегодня я наткнулся на странное поведение кэша Firefox 4, которое описано ниже.

  1. Существует форма

     <form name="widget">
    <input type="hidden" name="position" value="-1" />
    </form>  

  2. При произвольном событии я изменил его на «rss».

  3. После обновления страницы с помощью «F5» я получаю доступ к значению

     alert(document.widget.position.value);  

    который возвращает «rss«. ПОЧЕМУ СТАРОЕ ЗНАЧЕНИЕ?

  4. Но после обновления страницы с помощью «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. Спасибо, чувак, это было автозаполнение формы.