Контроль восстановления формы Firefox - PullRequest
5 голосов
/ 19 июля 2011

У меня есть страница, которая содержит несколько элементов ввода флажка. Переключение между ними изменяет внешний вид страницы так, как это можно сделать только в Javascript.

Моя проблема возникает при закрытии и повторном открытии страницы. В короткий (на первый взгляд, непоследовательный) момент после загрузки страницы Firefox восстанавливает состояние флажков, не вызывая их событий обмена.

Есть ли способ определить, когда Firefox восстанавливает эти элементы, или, по крайней мере, есть ли способ отключить эту функцию, не требуя от пользователей изменения настроек браузера?

Я также использую jQuery на случай, если есть что-то, что может помочь.

Использование autocomplete="off" на входах не имеет никакого эффекта.

Ответы [ 2 ]

4 голосов
/ 19 июля 2011

Если вам просто нужно запустить обработчики изменений, чтобы сопоставить состояние страницы с последними предпочтениями пользователя (что кажется хорошей идеей), то что-то вроде этого должно сработать.:

$(window).load ( function () {
    $('input:checked').change ();
} );


См. Демонстрацию на jsBin .

2 голосов
/ 19 июля 2011

«Переключение этих параметров изменяет внешний вид страницы»

Вот твоя проблема. Страница должна зависеть от состояния переключателя, не должна изменяться при переключении. Я тоже столкнулся с событием "изменение" и историей браузера. Вместо того, чтобы бороться с этим, примите это как бесплатное хранилище пользовательских данных. Нарисуйте страницу, основываясь на состоянии ввода, даже если вы думаете, что знаете, что должно быть.

Если вы разместите какой-то конкретный код, я мог бы предложить изменения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...