Страницы: 1
Есть расширение, работало на FireFox 0.9-2 нужно было только цифирки в максимальной версии менять, но на FF3 эта лафа кончилась. Суть была в том, что по горячей клавише запускалась функция из дополнения и обрабатывала страничку. Теперь команда выполняется лишь один раз после запуска браузера.
Консоль ошибок включена, ошибок/предупреждений не появляется ни при удачном срабатывании ни при последующих вызовах. Может в FF3 есть какой-то параметр который не даёт выполняться повторно?
Отсутствует
Расширение находит на страничке название совпадающее с заданным и переходит ссылке.
<?xml version="1.0" encoding="WINDOWS-1251" ?> <?xml-stylesheet href="chrome://browser/skin/" type="text/css"?> <overlay id="iny_kbd" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:nc="http://home.netscape.com/NC-rdf#" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <script type="application/x-javascript"> <![CDATA[ function iny_kbd_trim(str) { return str.replace(/^\s*|\s*$/g,""); } var iny_kbd_cmdStack = new Array(); var iny_kbd_working = false; function iny_kbd_onload() { if ( iny_kbd_cmdStack.length > 0 ) { var cmd = iny_kbd_cmdStack.shift(); if (!eval(cmd)) { iny_kbd_working=false; iny_kbd_cmdStack = new Array(); } } else { iny_kbd_working = false; } } function iny_kbd_postEvent(ev) { iny_kbd_cmdStack.push(ev); if (!iny_kbd_working) { iny_kbd_working=true; iny_kbd_onload(); } } function iny_kbd_init() { window._content.addEventListener("load",function() { iny_kbd_onload(); }, true); } function iny_kbd_clickAtLink(curWindow, sampLink,skip,evalfunc) { var gotLink; var range = document.createRange(); var sk=Number(skip); var alinks = curWindow.document.links; for(var i = 0; i < alinks.length; i++) { var link = alinks[i]; range.selectNode(link); gotLink= iny_kbd_trim(range.toString()); if (eval(evalfunc)!=0) { if (sk>0) { sk=sk-1; } else { return iny_kbd_openLink(curWindow, link, eval(evalfunc)==2); } } } return false; } window.addEventListener("load", function() { iny_kbd_init(); }, true); ]]> </script> <keyset id="MyKeyset"> <key id="key2" modifiers="" key="1" disabled="false" oncommand="ushogram('войти/m;проверить почту');" /> <key id="key3" modifiers="" key="2" disabled="false" oncommand="ushogram('отправить группе;группа DerVis');" /> <key id="key8" modifiers="" key="3" disabled="false" oncommand="ushogram('переместить в раздел;Корзина');" /> </keyset> </overlay>
Отредактировано Орец (10-11-2008 17:13:08)
Отсутствует
Ну во первых windows-1251 давно уже не катит, а во вторых стоит проверить - есть ли id для оверлейев... <overlay id="iny_kbd"
my.brain = function(){window.close();}
Отсутствует
Ну во первых windows-1251 давно уже не катит, а во вторых стоит проверить - есть ли id для оверлейев... <overlay id="iny_kbd"
Ну работает же это в FF2
Да и в FF3, но один раз для одного окна.
Отредактировано Орец (07-11-2008 09:46:31)
Отсутствует
Консоль ошибок включена, ошибок/предупреждений не появляется ни при удачном срабатывании ни при последующих вызовах.
а вы все настройки для их показа сделали? https://developer.mozilla.org/en/Settin … references
самый простой способ - воткнуть какой-нибудь дебаг где нужно и узнать выполняется ли код до него
Ну во первых windows-1251 давно уже не катит
кодировка может быть абсолютно любой, главное в ней сохранить и указать об этом браузеру
Отсутствует
С настройками всё было верно.
Как оказалось в ff3 оказалась задействована ветвь скрипта которой не было. Пришлось дописать к if ещё и else. Несмотря на то что сейчас работал параллельно с одним примером на FF2 и FF3, что случилось такого, из-за чего в ранних версиях работает без изменений, а на FF3 начинает работать иначе, непонятно.
Shutnik, спасибо.
Отсутствует
Страницы: 1