У меня есть расширение, которое помогает автоматически отправлять формы для процесса на работе. Мы сталкиваемся с проблемой двойных блоков выбора, в которых выбран один параметр, а затем этот выбор изменяет параметры другого поля. Поскольку установка свойства selected для параметра true не вызывает событие onchange поля, я пытаюсь сделать это с помощью кода.
Проблема, с которой я столкнулся, заключается в том, что если я пытаюсь получить доступ или запустить функции на объекте поля из расширения, я получаю ошибку
Ошибка: необработанное исключение: [Исключение ... "Компонент недоступен" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame :: chrome: //webformsidebar/content/webformsidebar.js :: WebFormSidebar_FillProcess :: строка 499 "данные: нет]
строка, вызывающая ошибку ...
if (typeof thisField.onchange === 'function')
Строка прямо перед тем, как она работает просто отлично ...
thisField.options[t].selected=true;
... поэтому я не уверен, почему это приводит к такой ошибке.
Что меня больше всего удивляет, так это то, что проверка существования функции приводит к ошибке.
Такое чувство, что проблема связана с кодом, выполняющимся в контексте расширения вместо документа окна браузера. Если да, есть ли способ вызвать функцию в контексте окна браузера? Нужно ли мне как-то вводить код на страницу? Есть еще идеи? Спасибо