У меня есть аддон для Firefox, который имеет эту строку кода
var imgs = document.getElementsByTagName('IMG')
document.getElementsByTagName('IMG')
, кажется, ссылается только на текущую вкладку, когда я запускаю в ней веб-консоль, но когда она упакована в аддон,imgs.length = 0, хотя я знаю, что на странице текущей вкладки есть теги img, потому что она отлично работала в веб-консоли.Что мне нужно добавить, скажем javascript, чтобы ссылаться на HTML на текущей странице?
Кроме того, эта строка находится внутри функции, которая вызывается с этим.
var current = browser.tabs.getCurrent();
current.then(listenForClick, report);
Почему then.current
не подразумевает выполнение функции listenForClick для веб-страницы на текущей вкладке?
Когда я загрузил аддон как временную, я понял, что это былопоскольку временные пользователи ограничены просмотром веб-страницы, которая их загрузила, но даже после подписания надстройки, чтобы я мог официально загрузить ее в Firefox, как настоящую надстройку, проблема, упомянутая выше, сохраняется.
Обновление
После прочтения комментария Jaromanda X я попытался снова выполнить метод сценария содержимого, и на этот раз он сработал.Это сделало мой день, когда весь процесс разработки моего первого в истории расширения для браузера был очень разочаровывающим и болезненным процессом.Мне не нравится, что в JS аргументы могут быть неявно переданы функциям.IMO, который делает JS очень трудным для чтения тем, кто читает код другого пользователя.Также из-за болезненного процесса выполнения этого у меня все еще есть последний вопрос.Почему скрипт контента не появляется в отладчике firefox, когда вы временно загружаете аддон?(даже если он указан в файле манифеста, что, как ни странно, нарушает мою надстройку, так как у меня уже есть фоновый скрипт, упомянутый в моем, но даже для примера надстройки, который имел только скрипт контента и поэтому упомянул его в своем файле манифеста, скрипт контента STILL не сделал 'не появляется в отладчике) Если бы я смог отладить свой скрипт контента с самого начала, когда я пытался использовать скрипт контента ранее в процессе разработки, я бы, вероятно, не задавал этот вопрос.
PS Я не былне может найти ответ на этот вопрос при поиске в Google.