Firefox не запоминает данные, введенные в текстовое поле, сгенерированное моим расширением Firefox - PullRequest
2 голосов
/ 11 октября 2011

Мое расширение Firefox динамически добавляет поля имени пользователя / пароля на каждую страницу. Проблема в том, что он не помнит, что я ввожу, как обычно. Почему это происходит?

1 Ответ

0 голосов
/ 11 октября 2011

Глядя на nsLoginManager.js , формы обычно заполняются при возникновении события DOMContentLoaded (см. Вызов _fillDocument()). Насколько я понимаю, вы вставляете свои элементы после того, как это событие уже обработано, чтобы их значения больше не восстанавливались. Однако можно явно вызвать nsILoginManager.fillForm () , чтобы восстановить значения полей после изменения формы:

Components.classes["@mozilla.org/login-manager;1"]
          .getService(Components.interfaces.nsILoginManager)
          .fillForm(form);

Этого должно быть достаточно, из кода кажется, что наличие атрибута id необязательно.

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