Восстановите классы объектов на кнопке «Назад» в Firefox - PullRequest
0 голосов
/ 24 ноября 2010
  1. У меня есть форма.Первоначально элемент ввода имеет класс «незаполненный».Когда форма заполнена, я динамически удаляю класс.

  2. Форма отправлена ​​и имеется перенаправление на другую страницу.

  3. Iнажмите кнопку «назад» и вернитесь к исходной форме, но в элементе отсутствует «незаполненный» класс.

Это не проблема в IE8.Я попытался добавить этот вызов jQuery, но он не выполняется при достижении страницы с помощью кнопки «назад»:

$('#my_input').hasClass('unfilled')

Спасибо!

edit: добавлена ​​неверная строка кода выше, извините.Должно быть:

$(document).ready(function() {
    $('#my_input').addClass('unfilled')

Ответы [ 2 ]

1 голос
/ 24 ноября 2010

Firefox поддерживает нечто, называемое bfcache (, читайте больше здесь ), которое в основном кэширует все состояние страницы в памяти и восстанавливает его, когда вы возвращаетесь.onload сценарии не выполняются снова, и элементы остаются в том же состоянии, в котором они находились ранее.Вы можете отключить это поведение, добавив фиктивный обработчик onunload на свою страницу.

0 голосов
/ 24 ноября 2010

Firefox сохраняет состояние при возврате, что очень удобно на страницах с большим количеством DHTML (например, если вы сгенерировали диалог, этот диалог все равно будет там, когда вы вернетесь).Вы просто должны учесть это в своем коде;Например, вы можете попробовать добавить обработчик onready, который добавляет «незаполненный» класс ко всем элементам ввода, например.

$(function() {
    $("INPUT").addClass("unfilled");
 });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...