Есть расширение, работало на 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>

Ну во первых  windows-1251 давно уже не катит, а во вторых стоит проверить - есть ли id  для оверлейев... <overlay id="iny_kbd"

Ну во первых  windows-1251 давно уже не катит, а во вторых стоит проверить - есть ли id  для оверлейев... <overlay id="iny_kbd"

Ну работает же это  в FF2  :)
Да и в FF3, но один раз для одного окна. :sick:

:whiteflag:
Никто не знает как с этим бороться?  :angel:
Если знает пусть рассказывает. :whistle:

Орец пишет

Консоль ошибок включена, ошибок/предупреждений  не появляется ни при удачном срабатывании ни при последующих вызовах.

а вы все настройки для их показа сделали? https://developer.mozilla.org/en/Settin … references
самый простой способ - воткнуть какой-нибудь дебаг где нужно и узнать выполняется ли код до него

idler пишет

Ну во первых  windows-1251 давно уже не катит

кодировка может быть абсолютно любой, главное в ней сохранить и указать об этом браузеру

С настройками всё было верно.
Как оказалось в ff3 оказалась задействована ветвь скрипта которой не было. Пришлось дописать к if ещё и else. Несмотря на то что сейчас работал параллельно с одним примером на FF2 и FF3,  что случилось такого, из-за чего в ранних версиях работает без изменений, а на FF3  начинает работать иначе, непонятно. :dumb:
Shutnik, спасибо.