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, время: 13:29. |