Программирование > JavaScript & JScript
Не работает document.getElementById в расширении для FF
android9:
Привет!
Подскажите плиз, почему не работает document.getElementById
Есть расширение для Firefox. И есть форма, возвращаемая сайтом. В эту форму пользователь что-то пишет. Задача расширения считать текст с формы, сделать что-то с ним и поместить обратно в форму. Мое расширение вызывается из Tools (Firefox). Пользователь нажимает кнопку и вызывается функция расширения read_form.form_read
--- Код: ---var read_form = {
form_read: function() {
var f = document.getElementById( \'postMessage\' );
if(!f ) { alert(\'ERROR\'); return;}
// Step through the form elements
for( var i = 0; i < f.elements.length; i++ ) {
alert( f.elements[i].name );
}
}
};
--- Конец кода ---
Но проблема в том, что эта функция не находит форму \'postMessage\'! Как указать, что document - это текущая вкладка в браузере?
brainkiller:
А в консоли ошибок что пишется?
android9:
--- Цитировать ---brainkiller:
А в консоли ошибок что пишется?
--- Конец цитаты ---
Пишет
Error: document.postMessage is undefined
Source File: chrome://helloworld/content/overlay.js
Line: 15
overlay.js
13. var read_form = {
14. form_read: function() {
15. alert (document.postMessage.message.value);
}
};
overlay.xul
12.
Я не понимаю, почему он ругается на PostMessage. Когда я ввожу в адресной строке браузера javascript:alert(document.postMessage.message.value)
мне выдает то что надо.
android9:
Я еще пробовала в overlay.xul считывать значение:
тоже ошибка
Error: document.postMessage is undefined
Source File: chrome://helloworld/content/overlay.xul
Line: 1
Может, надо как-то подгружать страничку? Наподобие, как я указываю
указать, что нужные элементы на page.php ?
brainkiller:
Признаться честно, я расширений для браузеров не писал, но у меня такое впечатление, что ошибка где-то в самом обращении к элементу. Возможно, стоит попробовать обратиться не к document, а к window.document?
Навигация
Перейти к полной версии