Полезная информация

Хотите узнать больше о расширениях? Посмотрите ролики, рассказывающие о работе с расширениями Firefox.

№106-11-2008 13:40:01

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 3.0

Не срабатывает повторно расширение на FF3

Есть расширение, работало на FireFox 0.9-2 нужно было только цифирки в максимальной версии менять, но на FF3 эта лафа кончилась. Суть была в том, что по горячей клавише запускалась функция из дополнения  и обрабатывала страничку. Теперь команда выполняется лишь один раз после запуска браузера. 
Консоль ошибок включена, ошибок/предупреждений  не появляется ни при удачном срабатывании ни при последующих вызовах. Может в FF3 есть какой-то параметр который не даёт выполняться повторно?

Отсутствует

 

№206-11-2008 13:51:39

Al_H
Away
 
Группа: Members
Откуда: SPb
Зарегистрирован: 10-06-2005
Сообщений: 5508
UA: Sunrise 1.7

Re: Не срабатывает повторно расширение на FF3

Телепаты в отпуске. Что за расширение?

Отсутствует

 

№306-11-2008 14:11:18

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 3.0

Re: Не срабатывает повторно расширение на 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)

Отсутствует

 

№406-11-2008 23:02:44

idler
developer
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 18-04-2008
Сообщений: 22
UA: Firefox 3.0
Веб-сайт

Re: Не срабатывает повторно расширение на FF3

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


my.brain = function(){window.close();}

Отсутствует

 

№507-11-2008 09:43:36

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 3.0

Re: Не срабатывает повторно расширение на FF3

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

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

Отредактировано Орец (07-11-2008 09:46:31)

Отсутствует

 

№610-11-2008 11:44:04

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 3.0

Re: Не срабатывает повторно расширение на FF3

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

Отсутствует

 

№710-11-2008 12:16:24

Shutnik
Участник
 
Группа: Extensions
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Iceweasel 3.0

Re: Не срабатывает повторно расширение на FF3

Орец пишет

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

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

idler пишет

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

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

Отсутствует

 

№810-11-2008 17:11:01

Орец
Участник
 
Группа: Members
Зарегистрирован: 18-08-2006
Сообщений: 84
UA: Firefox 3.0

Re: Не срабатывает повторно расширение на FF3

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

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]