Firefox плагин.
Здравствуйте, помогите мне пожалуйста!
Хочу написать плагин под фаерфокс, который будет применять к открытой страничке простой джаваскрипт код. В папке chrome/content/ лежит файл "sample.xul" Его содержание <?xml version="1.0"?> <overlay id="sample" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script> function KS () { var str = document.body.innerHTML.indexOf('begun_block_id'); if (str > -1) alert ("Yes"); var str = document.body.innerHTML.indexOf('begun'); if (str > -1) alert ("Yes"); alert('EEE'); } </script> <statusbar id="status-bar"> <statusbarpanel id="my-panel" label="Check BEGUN!" onclick="KS();"/> </statusbar> </overlay> Почему на работет? Справа внизу появляется чек бегун, но при нажатии ничего не происходит. |
Проще взять GreaseMonkey и написать UserScript. В плагинах другое пространство имен и ваш document может указывать совсем не на то, что вы предполагаете.
|
bd_snr, если оверлей подгрузился нормально, сначала проверьте, что срабатывает сам onclick на статусбаре - поставьте туда alert(1);. Дальше - вызов функции - с тем же содержимым - alert(1);. Если сработает - продолжайте проверять каждую строчку Вашего кода (я не уверен, что свойство .innerHTML доступно в XUL-неймспейсе, возможно проблема в этом).
Поставьте деббагер (Wenkman или Firebug). Цитата:
|
Цитата:
+ я хочу чтобы скрипт в любой момент времени мог срабатывать, а GreaseMonkey работает только после загрузки страницы. И еще хочу чтобы по нажатию клавиш срабатывал. |
Цитата:
Не подскажите, где прочитать про джаваскрипт в расширениях? Не знаю, что делать. |
bd_snr,
Цитата:
Цитата:
|
Dmitry A. Soshnikov,
писать плагин, который Цитата:
Если, конечно, цели не сугубо академические. |
Цитата:
|
Цитата:
|
Моя цель - сделать тулбар или расширение для фаерфокса, которая по нажатии на какую-нибудь кнопку будет смотреть исходный код страницы и говорить есть там определенное слово или нет. Если есть какие-то советы, буду очень признателен!
|
var elt = content.document.documentElement; alert(elt.innerHTML || new XMLSerializer().serializeToString(elt)); Но, по-хорошему, надо бы только текстовые узлы проверять. Пример: http://forum.mozilla-russia.org/view...360150#p360150. Впрочем, это зависит от цели. А document ссылается на window.document, причем window.location.href === "chrome://browser/content/browser.xul". И да, следует давать уникальные имена добавляемым глобальным переменным. |
Цитата:
Про документ я так и подумал, но не знал, что есть content. А проверять надо весь документ от <html? до </html> Спасибо, что не ленитесь отвечать! |
Цитата:
И еще вопрос, откуда, теоретически, можно было прочитать про "content"? |
Цитата:
https://developer.mozilla.org/en/DOM/window.content https://developer.mozilla.org/en/Cod...selec ted_tab |
Часовой пояс GMT +3, время: 07:38. |