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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№65101-04-2015 22:28:45

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 4001
UA: Palemoon 24.0

Re: Обсуждение кнопок CB

Что-то вроде этого не подойдёт ?
https://forum.mozilla-russia.org/viewto … 90#p416590

Отредактировано Coroner (01-04-2015 22:29:00)

Отсутствует

 

№65201-04-2015 23:26:10

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

VORON пишет

Скажите,есть ли кнопка-остановить/перезагрузить страницу?После 28 го лиса,очень не хватает.

Остановить - Перезагрузить

Отсутствует

 

№65301-04-2015 23:37:20

VORON
Участник
 
Группа: Members
Зарегистрирован: 03-04-2013
Сообщений: 158
UA: Firefox 31.0

Re: Обсуждение кнопок CB

bunda1
Спасибо,то что надо!

Отсутствует

 

№65406-04-2015 13:20:45

Coroner
Участник
 
Группа: Members
Зарегистрирован: 29-10-2012
Сообщений: 4001
UA: Firefox 39.0

Re: Обсуждение кнопок CB

Ослеп и ничего не вижу. Для 39 (Developer Edition ) не ? :(

Отсутствует

 

№65507-04-2015 11:34:07

VORON
Участник
 
Группа: Members
Зарегистрирован: 03-04-2013
Сообщений: 158
UA: Firefox 31.0

Re: Обсуждение кнопок CB

bunda1
А нельзя яркость у кнопки увеличить?Уж больно тусклая на фоне остальных
http://i.imgur.com/UpwPSwh.png

Отсутствует

 

№65607-04-2015 19:44:25

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

VORON пишет

bunda1
А нельзя яркость у кнопки увеличить?Уж больно тусклая на фоне остальных
http://i.imgur.com/UpwPSwh.png

Можно конечно, замени иконку кнопки или Css стилем изменить или положить в кнопку что то типа:

Выделить код

Код:

this.style.cssText = "opacity: 1 !important;"; // Css стиль для кнопки

Отсутствует

 

№65708-04-2015 08:58:36

sonyas75
Участник
 
Группа: Members
Откуда: Ставрополь
Зарегистрирован: 22-03-2011
Сообщений: 557
UA: Firefox 31.0

Re: Обсуждение кнопок CB

Есть кнопочка Proxy В ней по ЛКМ меняется состояние network.proxy.type с 1 на 0 и обратно. Я сменил на 2 и 5

Выделить код

Код:

if ( e.button == 0 ) { 
        cbu.setPrefs("network.proxy.type", (cbu.getPrefs("network.proxy.type") == 2 ) ? 5 : 2 );
        }

но так как я совсем нифига не понимаю ни в коде, ни в кнопках, то у меня не меняется состояние иконки, с красного на зеленый :( . какой параметр подкрутить?

о! понял

Выделить код

Код:

// Установливать нужную иконку кнопки при старте баузера или при изменениях в 'about:config' ................................
var  s = "network.proxy.type";
function toggleImage() {
    var icon = self.ownerDocument.getAnonymousElementByAttribute( self, "class", "toolbarbutton-icon");
    icon.src = ( cbu.getPrefs(s) == 2 )

надо менять cbu.getPrefs(s) == с 2 на 5, ну или наоборот.

Отредактировано sonyas75 (08-04-2015 09:29:09)

Отсутствует

 

№65819-04-2015 15:49:18

HaGEN
Забанен
 
Группа: Members
Зарегистрирован: 04-07-2013
Сообщений: 155
UA: Firefox 32.0

Re: Обсуждение кнопок CB

Что не так снопкой, поглядите...
Нужно запустиь программу с двумя параметрами из папки профиля. Не получается, подставляется только второй параметр(урл) , а "средний"  который должен не вставляется.
Нужно так       ProfD\Soft\Tools\DomainHostingView.exe /StartDomain [url]
Второй парам. не подставляется. Щас сделал чтобы копировался в буфер, вариант в общем-то... но хотелось бы сразу. Поглядите

скрытый текст

Выделить код

Код:

var urllink = getBrowser().currentURI.spec;
    gClipboard.write(urllink);
var param="/StartDomain";

     var file = Services.dirsvc.get('ProfD', Ci.nsIFile);
            file.initWithPath(file.path + "\\Soft\\Tools\\DomainHostingView.exe"); 

        startProcess(file.path,param,[urllink]);

        function startProcess(path,param,args) {
    var file = Components.classes["@mozilla.org/file/local;1"]
        .createInstance(Components.interfaces.nsILocalFile);

     file.initWithPath(path);

    if(file.exists()) {
       var process = Components.classes["@mozilla.org/process/util;1"]
              .createInstance(Components.interfaces.nsIProcess);
       process.init(file);
        process.run(false, args, args.length);
      } else custombuttons. alertBox ("URL не найден", path); 
};

Отредактировано HaGEN (19-04-2015 15:52:00)

Отсутствует

 

№65919-04-2015 19:29:00

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

HaGEN пишет

Что не так снопкой, поглядите...

Выделить код

Код:

var file = Services.dirsvc.get('ProfD', Ci.nsIFile);
   file.initWithPath(file.path + "\\Soft\\Tools\\DomainHostingView.exe");
   var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
   process.init(file);
   process.run(false, ["/StartDomain",content.window.location], 1);

Отредактировано bunda1 (19-04-2015 19:30:42)

Отсутствует

 

№66019-04-2015 21:13:44

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2253
UA: Firefox 31.0

Re: Обсуждение кнопок CB

bunda1 пишет

process.run(false, ["/StartDomain",content.window.location], 1);

Почему не
process.run(false, ["/StartDomain", content.document.domain], 2);

Отсутствует

 

№66119-04-2015 21:22:30

HaGEN
Забанен
 
Группа: Members
Зарегистрирован: 04-07-2013
Сообщений: 155
UA: Firefox 32.0

Re: Обсуждение кнопок CB

Благодарю bunda1! такой "упрощенный" вариант даже лучше.
Еле догнал методом тыка что последняя цифра в process.run(...) отвечает за количество параметров :lol:
Теперь бы узнать что означает первый , который обычно всегда false в примерах..?

Выделить код

Код:

var url = getBrowser().currentURI.spec;
    
 var file = Services.dirsvc.get('ProfD', Ci.nsIFile);
    file.initWithPath(file.path + "\\Soft\\Tools\\DomainHostingView.exe");
   var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
   process.init(file);
   process.run(false, ["/StartDomain", url], 2);

Добавлено 19-04-2015 21:24:01
Dumby - ну очепятка, бываить ;)

Добавлено 19-04-2015 21:47:42
Dumby блин, дошло до меня :(   Именно так, сударь!    content.document.domain  ибо на httpS страницах программа сама не фильтрует. Так вообще законченная кнопка, идеальная.
bunda1 мне поправил именно то шо я просил, без "отсебя", хехех... за дополнение благодарю.

Выделить код

Код:

var file = Services.dirsvc.get('ProfD', Ci.nsIFile);
    file.initWithPath(file.path + "\\Soft\\Tools\\DomainHostingView.exe");
   var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
   process.init(file);
   process.run(false, ["/StartDomain", content.document.domain], 2);

Отредактировано HaGEN (19-04-2015 21:47:42)

Отсутствует

 

№66228-04-2015 10:19:32

VORON
Участник
 
Группа: Members
Зарегистрирован: 03-04-2013
Сообщений: 158
UA: Firefox 31.0

Re: Обсуждение кнопок CB

bunda1
Что-то поменялось в 37-й лисе,что кнопка VT ,при запуске лисы всегда запускается развёрнутой.

Отсутствует

 

№66328-04-2015 18:51:55

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

VORON
Попробуй последнюю версию:

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EVT%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAKP+AAIX/gAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAFf+AABUAAAAAAAAAAAAAAAAAAAAA/4AAJP+AAP//gAD//4AA//+AACQAAAAAAAAAAAAAAAAAAAAA/4AAEv+AAP//gAD//4AAEgAAAAAAAAAA/4AAIP+AAP//gAD//4AA//+AAP//gAD//4AAJgAAAAAAAAAAAAAAAP+AABH/gAD//4AA//+AABEAAAAAAAAAAP+AAP//gAD//4AA//+AADb/gAD//4AA//+AAP//gAAQAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AACAAAAAA/4AAIP+AAP//gAD//4AAEQAAAAAAAAAA/4AAD/+AAP//gAD//4AADwAAAAAAAAAA/4AA//+AAP//gAAMAAAAAP+AAAz/gAD//4AA//+AAA8AAAAAAAAAAP+AAA//gAD//4AA//+AAA8AAAAAAAAAAP+AAP//gAD//4AADwAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AAA8AAAAA/4AAD/+AAP//gAD//4AADAAAAAAAAAAA/4AACv+AAP//gAD//4AACgAAAAAAAAAA/4AA//+AAP//gAAPAAAAAP+AAA//gAD//4AA//+AAAv/gAAL/4AADP+AACH/gAD//4AA//+AACH/gAAK/4AAD/+AAP//gAD//4AAEQAAAAD/gAAR/4AA//+AAP//gAAm/4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AABIAAAAA/4AAEv+AAP//gAD//4AAJ/+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AAEf+AABIAAAAAAAAAAAAAAAD/gAAV/4AAEgAAAAD/gAAQ/4AAEf+AAA//gAAP/4AAD/+AAA//gAAP/4AADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//+sQe//rEHH56xBg8OsQQHDrEEAw6xBEMOsQRDDrEEQw6xBEMOsQRAArEEQAKxBEACsQTkArEH//6xB//+sQQ%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20vto%20%3D%20%7B%0A%09distanceShow%3A%202%2C%0A%09distanceHide%3A%2064%2C%0A%09showDelay%3A%20320%2C%0A%09color%3A%20%22%23green%22%2C%0A%09fringe%3A%20%22black%22%2C%0A%09padding%3A%203%2C%0A%09name%3A%20%22VT%22%2C%0A%0A%09btn%3A%20this%2C%0A%09tcm%3A%20document.getElementById%28%22toolbar-context-menu%22%29%2C%0A%09ctm%3A%20document.getElementById%28%22customization-toolbar-menu%22%29%2C%0A%09deck%3A%20document.getElementById%28%22content-deck%22%29%2C%0A%09id%3A%20%22cb-vt%22%2C%0A%0A%09get%20cust%28%29%20gBrowser.currentURI.spec%20%3D%3D%20%22about%3Acustomizing%22%2C%0A%09get%20rdf%28%29%20%7B%0A%09%09delete%20this.rdf%3B%0A%09%09var%20rdf%20%3D%20Cc%5B%22@mozilla.org/rdf/rdf-service%3B1%22%5D.getService%28Ci.nsIRDFService%29%3B%0A%09%09return%20this.rdf%20%3D%20%5B%0A%09%09%09rdf%2C%0A%09%09%09rdf.GetDataSource%28%22rdf%3Alocal-store%22%29%2C%0A%09%09%09rdf.GetResource%28location%20+%20%22%23%22%20+%20this.id%29%2C%0A%09%09%09null%2C%20null%0A%09%09%5D%3B%0A%09%7D%2C%0A%09init%3A%20function%28%29%20%7B%0A%09%09if%20%28this.cust%20%7C%7C%20this.btn._destructors.length%29%20return%3B%0A%0A%09%09var%20vt%20%3D%20this.initVT%28%29%3B%0A%09%09var%20vto%20%3D%20this%3B%0A%0A%09%09this.btn.onclick%20%3D%20function%28e%29%20%7B%0A%09%09%09e.button%20%7C%7C%20vto.toggleVT%28%29%3B%0A%09%09%7D%0A%09%09window.addEventListener%28%22popupshown%22%2C%20this%2C%20false%29%3B%0A%09%09window.addEventListener%28%22popuphidden%22%2C%20this%2C%20false%29%3B%0A%09%09window.addEventListener%28%22resize%22%2C%20this%2C%20false%29%3B%0A%09%09this.tcm.addEventListener%28%22command%22%2C%20this%2C%20false%29%3B%0A%09%09this.tcm.addEventListener%28%22popupshowing%22%2C%20this%2C%20false%29%3B%0A%0A%09%09if%20%28vt.hasOwnProperty%28%22on%22%29%29%20%7B%0A%09%09%09vto.toggleVT%28vt.on%29%3B%0A%09%09%7D%20else%20%7B%0A%09%09%09var%20%5Brdf%2C%20ds%2C%20source%5D%20%3D%20this.rdf%3B%0A%09%09%09var%20property%20%3D%20rdf.GetResource%28%22collapsed%22%29%3B%0A%09%09%09var%20target%20%3D%20ds.GetTarget%28source%2C%20property%2C%20true%29%3B%0A%09%09%09var%20collapsed%20%3D%20target%20%26%26%20target.QueryInterface%28Ci.nsIRDFLiteral%29.Value%20%3D%3D%20%22true%22%3B%0A%09%09%09vto.toggleVT%28%21collapsed%29%3B%0A%09%09%7D%0A%09%09this.resize%28%29%3B%0A%09%09vto.btn._destructors.push%28%7Bcontext%3A%20vto%2C%20destructor%3A%20vto.destroy%7D%29%3B%0A%09%7D%2C%0A%09destroy%3A%20function%28reason%29%20%7B%0A%09%09window.removeEventListener%28%22popupshown%22%2C%20this%2C%20false%29%3B%0A%09%09window.removeEventListener%28%22popuphidden%22%2C%20this%2C%20false%29%3B%0A%09%09window.removeEventListener%28%22resize%22%2C%20this%2C%20false%29%3B%0A%09%09this.tcm.removeEventListener%28%22command%22%2C%20this%2C%20false%29%3B%0A%09%09this.tcm.removeEventListener%28%22popupshowing%22%2C%20this%2C%20false%29%3B%0A%09%09this.setCollapser%28false%29%3B%0A%0A%09%09if%20%28reason%20%3D%3D%20%22destructor%22%20%26%26%20this.cust%29%20%7B%0A%09%09%09var%20vto%20%3D%20this%3B%0A%09%09%09vto.resize%28%29%3B%0A%0A%09%09%09gNavToolbox.addEventListener%28%22customizationready%22%2C%20vto%2C%20false%29%3B%0A%09%09%09CustomizableUI.addListener%28vto%29%3B%0A%0A%09%09%09this.ctm.addEventListener%28%22command%22%2C%20vto%2C%20false%29%3B%0A%09%09%09this.ctm.addEventListener%28%22popupshowing%22%2C%20vto%2C%20false%29%3B%0A%09%09%09window.addEventListener%28%22resize%22%2C%20vto%2C%20false%29%3B%0A%0A%09%09%09gNavToolbox.addEventListener%28%22aftercustomization%22%2C%20function%20ac%28%29%20%7B%0A%09%09%09%09gNavToolbox.removeEventListener%28%22aftercustomization%22%2C%20ac%2C%20false%29%3B%0A%09%09%09%09gNavToolbox.removeEventListener%28%22customizationready%22%2C%20vto%2C%20false%29%3B%0A%09%09%09%09CustomizableUI.removeListener%28vto%29%3B%0A%0A%09%09%09%09vto.ctm.removeEventListener%28%22command%22%2C%20vto%2C%20false%29%3B%0A%09%09%09%09vto.ctm.removeEventListener%28%22popupshowing%22%2C%20vto%2C%20false%29%3B%0A%09%09%09%09window.removeEventListener%28%22resize%22%2C%20vto%2C%20false%29%3B%0A%0A%09%09%09%09document.getElementById%28vto.btn.id%29%20%7C%7C%20vto.destroyVT%28%29%3B%0A%0A%09%09%09%7D%2C%20false%29%3B%0A%09%09%7D%0A%09%09if%20%28reason%20%3D%3D%20%22delete%22%29%20%7B%0A%09%09%09CustomizableUI.removeWidgetFromArea%28this.btn.id%29%3B%0A%09%09%09this.destroyVT%28%29%3B%0A%09%09%7D%0A%09%7D%2C%0A%09handleEvent%3A%20function%28e%29%20this%5Be.type%5D%28e%29%2C%0A%0A%09command%3A%20function%28e%29%20%7B%0A%09%09if%20%28e.target.id%20%21%3D%20%22toggle_%22%20+%20this.id%29%20return%3B%0A%09%09e.preventDefault%28%29%3B%0A%09%09this.toggleVT%28%29%3B%0A%09%7D%2C%0A%09popupshowing%3A%20function%28e%29%20%7B%0A%09%09var%20menuitem%20%3D%20e.target.querySelector%28%22%23toggle_%22%20+%20this.id%29%3B%0A%09%09menuitem%20%26%26%20menuitem.setAttribute%28%22checked%22%2C%20this.vt.on%29%3B%0A%09%09if%20%28this.cust%20%7C%7C%20%21this.vt.contains%28e.target.triggerNode%29%29%20return%3B%0A%09%09for%28var%20selector%20of%20%5B%22.customize-context-moveToPanel%22%2C%20%22.customize-context-removeFromToolbar%22%5D%29%20%7B%0A%09%09%09menuitem%20%3D%20e.target.querySelector%28selector%29%3B%0A%09%09%09menuitem%20%26%26%20menuitem.removeAttribute%28%22disabled%22%29%3B%0A%09%09%7D%0A%09%7D%2C%0A%09mousemove%3A%20function%20collapser%28e%29%20%7B%0A%09%09var%20distance%20%3D%20collapser.distance%20%3D%20e.screenX%20-%20document.documentElement.boxObject.screenX%3B%0A%09%09if%20%28collapser.waiting%29%20return%3B%0A%09%09if%20%28distance%20%3C%3D%20this.distanceShow%20%26%26%20this.vt.collapsed%29%20%7B%0A%09%09%09if%20%28this.showDelay%20%3C%201%29%20%7B%0A%09%09%09%09this.vt.collapsed%20%3D%20false%3B%0A%09%09%09%09return%3B%0A%09%09%09%7D%0A%09%09%09collapser.waiting%20%3D%20true%3B%0A%09%09%09setTimeout%28function%28vto%29%20%7B%0A%09%09%09%09if%20%28collapser.distance%20%3E%3D%20vto.distanceShow%29%20%7B%0A%09%09%09%09%09collapser.waiting%20%3D%20false%3B%0A%09%09%09%09%09return%3B%0A%09%09%09%09%7D%0A%09%09%09%09vto.vt.collapsed%20%3D%20false%3B%0A%09%09%09%09collapser.waiting%20%3D%20false%3B%0A%09%09%09%7D%2C%20this.showDelay%2C%20this%29%3B%0A%09%09%7D%0A%09%09if%20%28distance%20%3E%3D%20this.distanceHide%20%26%26%20%21this.vt.collapsed%29%0A%09%09%09this.vt.collapsed%20%3D%20true%3B%0A%09%7D%2C%0A%09setCollapser%3A%20function%28set%29%20%7B%0A%09%09set%0A%09%09%3F%20this.cust%20%7C%7C%20window.addEventListener%28%22mousemove%22%2C%20this%2C%20false%29%0A%09%09%3A%20window.removeEventListener%28%22mousemove%22%2C%20this%2C%20false%29%3B%0A%09%7D%2C%0A%09callCollapser%3A%20function%28e%29%20%7B%0A%09%09this.mousemove%28%7BscreenX%3A%20document.documentElement.boxObject.screenX%20+%20MousePosTracker._x%7D%29%3B%0A%09%7D%2C%0A%09customizationready%3A%20function%28%29%20%7B%0A%09%09window.removeEventListener%28%22customizationready%22%2C%20this%2C%20false%29%3B%0A%09%09this.vt.on%20%26%26%20this.insertBox%28true%29%3B%0A%09%7D%2C%0A%09resize%3A%20function%28e%29%20%7B%0A%09%09this.vt.style.maxHeight%20%3D%20this.deck.boxObject.height%20+%201%20+%20%22px%22%3B%0A%09%7D%2C%0A%09popupshown%3A%20function%28e%29%20this.handlePopup%28e%29%2C%0A%09popuphidden%3A%20function%28e%29%20this.handlePopup%28e%29%2C%0A%0A%09handlePopup%3A%20function%28e%29%20%7B%0A%09%09if%20%28%0A%09%09%09this.vt.collapsed%20%7C%7C%20this.vt.on%0A%09%09%09%7C%7C%20%28e.target.localName%20%21%3D%20%22menupopup%22%20%26%26%20e.target.localName%20%21%3D%20%22panel%22%29%0A%09%09%29%20return%3B%0A%09%09setTimeout%28function%28vto%29%20%7B%0A%09%09%09var%20hasPopup%20%3D%20Array.concat%28%0A%09%09%09%09Array.slice%28document.getElementsByTagName%28%22menupopup%22%29%29%2C%0A%09%09%09%09Array.slice%28document.getElementsByTagName%28%22panel%22%29%29%0A%09%09%09%29.some%28function%28popup%29%0A%09%09%09%09%22state%22%20in%20popup%20%26%26%20popup.state%20%3D%3D%20%22open%22%20%26%26%20%28%0A%09%09%09%09%09vto.vt.contains%28popup%29%0A%09%09%09%09%09%7C%7C%20%28%22triggerNode%22%20in%20popup%20%26%26%20vto.vt.contains%28popup.triggerNode%29%29%0A%09%09%09%09%09%7C%7C%20%28%0A%09%09%09%09%09%09%22anchorNode%22%20in%20popup%20%26%26%20popup.anchorNode%20%26%26%20%28%0A%09%09%09%09%09%09%09vto.vt.contains%28popup.anchorNode%29%0A%09%09%09%09%09%09%09%7C%7C%20vto.vt.contains%28document.getBindingParent%28popup.anchorNode%29%29%0A%09%09%09%09%09%09%29%0A%09%09%09%09%09%29%0A%09%09%09%09%29%0A%09%09%09%29%3B%0A%09%09%09vto.setCollapser%28%21hasPopup%29%3B%0A%09%09%09hasPopup%20%7C%7C%20vto.callCollapser%28%29%3B%0A%09%09%7D%2C%20200%2C%20this%29%3B%0A%09%7D%2C%0A%09onWidgetAfterDOMChange%3A%20function%28...a%29%20%7B%0A%09%09if%20%28a%5B2%5D%20%3D%3D%20this.vt.box%29%20this.vt.hbox.style.minWidth%20%3D%20this.vt.boxObject.width%20+%20%22px%22%3B%0A%09%7D%2C%0A%09initVT%3A%20function%28%29%20%7B%0A%09%09var%20id%20%3D%20this.id%3B%0A%09%09var%20boxId%20%3D%20id%20+%20%22-customization-target%22%3B%0A%09%09var%20vt%20%3D%20this.vt%20%3D%0A%09%09%09document.getElementById%28id%29%20%7C%7C%0A%09%09%09document.createElement%28%22toolbar%22%29%3B%0A%09%09var%20attrs%20%3D%20%7B%0A%09%09%09id%3A%20id%2C%0A%09%09%09mode%3A%20%22icons%22%2C%0A%09%09%09iconsize%3A%20%22small%22%2C%0A%09%09%09orient%3A%20%22vertical%22%2C%0A%09%09%09customizable%3A%20%22true%22%2C%0A%09%09%09persist%3A%20%22collapsed%22%2C%0A%09%09%09toolbarname%3A%20this.name%2C%0A%09%09%09fullscreentoolbar%3A%20%22true%22%2C%0A%09%09%09class%3A%20%22chromeclass-toolbar%22%2C%0A%09%09%09context%3A%20%22toolbar-context-menu%22%2C%0A%09%09%09style%3A%20%22-moz-appearance%3A%20none%3B%20display%3A%20-moz-box%3B%20height%3A%20100%25%3B%20position%3A%20fixed%3B%20min-width%3A%2020px%22%0A%09%09%7D%3B%0A%09%09for%28var%20attr%20in%20attrs%29%20vt.setAttribute%28attr%2C%20attrs%5Battr%5D%29%3B%0A%09%09if%20%28%21vt.parentNode%29%20%7B%0A%0A%09%09%09var%20box%20%3D%20vt.box%20%3D%20document.createElement%28%22vbox%22%29%3B%0A%09%09%09vt.appendChild%28box%29%3B%0A%09%09%09box.id%20%3D%20boxId%3B%0A%09%09%09box.style.cssText%20%3D%20%22height%3A%20100%25%3B%20width%3A%20100%25%3B%22%0A%0A%09%09%09vt.customizationTarget%20%3D%20box%3B%0A%09%09%09gNavToolbox.appendChild%28vt%29%3B%0A%0A%09%09%09if%20%28CustomizableUI.areas.indexOf%28id%29%20%3D%3D%20-1%29%20%7B%0A%09%09%09%09CustomizableUI.registerArea%28id%2C%20%7Blegacy%3A%20true%7D%29%3B%0A%09%09%09%7D%0A%09%09%09box.removeAttribute%28%22class%22%29%3B%0A%09%09%09box.__defineGetter__%28%22localName%22%2C%20function%28%29%20arguments.callee.caller%20%3D%3D%20custombutton.buttonConstructor%20%3F%20%22toolbar%22%20%3A%20%22vbox%22%29%3B%0A%0A%09%09%09vt.hbox%20%3D%20document.createElement%28%22hbox%22%29%3B%0A%09%09%09vt.hbox.id%20%3D%20id%20+%20%22-hbox%22%3B%0A%09%09%7D%0A%09%09vt.box.style.padding%20%3D%20%220%20%22%20+%20this.padding%20+%20%22px%22%3B%0A%09%09vt.style.backgroundColor%20%3D%20this.color%3B%0A%09%09vt.style.borderRight%20%3D%20%221px%20solid%20%22%20+%20this.fringe%3B%0A%09%09return%20vt%3B%0A%09%7D%2C%0A%09destroyVT%3A%20function%28reason%29%20%7B%0A%09%09var%20vt%20%3D%20this.vt%3B%0A%09%09CustomizableUI.unregisterArea%28vt.id%2C%20%7B%7D%29%3B%0A%09%09vt.hbox.parentNode%20%26%26%20vt.hbox.parentNode.removeChild%28vt.hbox%29%3B%0A%09%09vt.parentNode%20%26%26%20vt.parentNode.removeChild%28vt%29%3B%0A%0A%09%09var%20%5Brdf%2C%20ds%2C%20source%2C%20property%2C%20target%5D%20%3D%20this.rdf%3B%0A%09%09var%20enumerator%20%3D%20ds.ArcLabelsOut%28source%29%3B%0A%09%09while%28enumerator.hasMoreElements%28%29%29%20%7B%0A%09%09%09property%20%3D%20enumerator.getNext%28%29%3B%0A%09%09%09target%20%3D%20ds.GetTarget%28source%2C%20property%2C%20true%29%3B%0A%09%09%09ds.Unassert%28source%2C%20property%2C%20target%29%3B%0A%09%09%7D%0A%09%09target%20%3D%20source.QueryInterface%28Ci.nsIRDFNode%29%3B%0A%09%09source%20%3D%20rdf.GetResource%28location%29%3B%0A%09%09property%20%3D%20rdf.GetResource%28%22http%3A//home.netscape.com/NC-rdf%23persist%22%29%3B%0A%09%09ds.Unassert%28source%2C%20property%2C%20target%29%3B%0A%09%7D%2C%0A%09insertBox%3A%20function%28ins%29%20%7B%0A%09%09var%20vt%20%3D%20this.vt%3B%0A%09%09var%20box%20%3D%20vt.hbox%3B%0A%09%09if%20%28%21ins%29%20%7B%0A%09%09%09box.parentNode%20%26%26%20box.parentNode.removeChild%28box%29%3B%0A%09%09%09return%3B%0A%09%09%7D%0A%09%09var%20id%20%3D%20this.cust%20%3F%20%22customization-palette-container%22%20%3A%20%22sidebar-box%22%3B%0A%09%09var%20point%20%3D%20document.getElementById%28id%29%3B%0A%09%09point.parentNode.insertBefore%28box%2C%20point%29%3B%0A%09%09var%20mw%20%3D%20function%28%29%20box.style.minWidth%20%3D%20vt.boxObject.width%20+%20%22px%22%3B%0A%09%09mw%28%29%3B%20setTimeout%28mw%2C%20100%29%3B%0A%09%7D%2C%0A%09toggleVT%3A%20function%28on%29%20%7B%0A%09%09var%20vt%20%3D%20this.vt%3B%0A%09%09if%20%28on%20%3D%3D%20undefined%29%20on%20%3D%20%21vt.on%3B%0A%09%09vt.on%20%3D%20on%3B%0A%09%09this.setCollapser%28%21on%29%3B%0A%09%09vt.collapsed%20%3D%20%21on%3B%0A%09%09this.insertBox%28on%29%3B%0A%09%7D%0A%7D%3B%0Avto.init%28%29%3B%0A%0A%0Afunction%20addBackground%28e%29%20%7B%0A%20%20%20setTimeout%28function%28%29%20%7B%0A%20%20%20%20%20%20var%20toolbar%20%3D%20document.getElementById%28%27cb-vt%27%29%3B%0A%20%20%20%20%20%20var%20win%20%3D%20document.getElementById%28%22main-window%22%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20var%20image%20%3D%20win.style.backgroundImage%3B%0A%20%20%20%20%20%20if%20%28%20image%20%3D%3D%20%27%27%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20%20toolbar.style.background%20%3D%20%27%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20toolbar.style.background%20%3D%20image%3B%0A%20%20%20%20%20%20toolbar.style.backgroundSize%20%3D%20%27auto%20100%25%27%3B%0A%20%20%20%7D%2C%20500%29%3B%0A%7D%3B%0AaddBackground%28%29%3B%20%0AServices.obs.addObserver%28%20addBackground%2C%20%22lightweight-theme-styling-update%22%2C%20false%20%29%3B%0AaddDestructor%28function%28%29%20Services.obs.removeObserver%28%20addBackground%2C%20%22lightweight-theme-styling-update%22%29%20%29%3B%20%0A%0A%0A%0A%0A%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отредактировано bunda1 (28-04-2015 18:52:21)

Отсутствует

 

№66428-04-2015 21:53:05

VORON
Участник
 
Группа: Members
Зарегистрирован: 03-04-2013
Сообщений: 158
UA: Firefox 37.0

Re: Обсуждение кнопок CB

bunda1
Всё равно.Запускаю браузер,панель развёрнута.
Похоже всё таки самая стабильная версия,как по мне,осталась 28-я.Всё работает,ничего не глючит

Отредактировано VORON (28-04-2015 21:55:13)

Отсутствует

 

№66529-04-2015 14:32:31

LittleMontana
Участник
 
Группа: Members
Зарегистрирован: 16-11-2013
Сообщений: 214
UA: Firefox 37.0

Re: Обсуждение кнопок CB

VORON пишет

bunda1
Всё равно.Запускаю браузер,панель развёрнута.
Похоже всё таки самая стабильная версия,как по мне,осталась 28-я.Всё работает,ничего не глючит

По поводу 28 версии согласен с вами. Насколько много в плане производительности версии 28.0 и 37.0.2 различаются?

и по теме:
стоит кнопка - работает как часы, в прямом смысле этого слова. вот код (накидал еще туда несколько дополнительный инициализаций, что б не плодить сущности)

"код" кнопки
const showSec = true;

//==========================================================
/* dct-style

#digital-clock-text {
    color: #00ddff !important;
    font-weight: bold !important;

}

dct-style */
//==========================================================

const mark = "dct-style";
const init = this.getAttribute("cb-init");
const style = init.substring(
    init.indexOf("/* " + mark) + 3 + mark.length,
    init.lastIndexOf(mark + " */")
).replace(/\n+/g, "\n").replace(/^\n/, "").replace(/\n$/, "");

this.label = showSec ? "00:00:00" : "00:00";

const icon = document.getAnonymousElementByAttribute(this, "class", "toolbarbutton-icon");
icon.style.display = "none";
const text = document.getAnonymousElementByAttribute(this, "class", "toolbarbutton-text");
text.style.display = "block";
text.id = "digital-clock-text";

const sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
const cssURI = makeURI("data:text/css," + encodeURIComponent(style));
if (!sss.sheetRegistered(cssURI, sss.USER_SHEET)) sss.loadAndRegisterSheet(cssURI, sss.USER_SHEET);

const format = showSec ? "%H:%M:%S" : "%H:%M";
const timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
function tick() {
    var date = new Date();
//    date.setHours(date.getHours() + 0);
    self.label = date.toLocaleFormat(format)
}
timer.initWithCallback(tick, 1000, timer.TYPE_REPEATING_PRECISE);

this.onmouseenter = function() {
    this.interval = setInterval(function() {
        var date = new Date();
//        date.setHours(date.getHours() + 0);
        var day = date.toLocaleFormat("%A");
        self.tooltipText = date.toLocaleFormat("%d.%m.%Y ") + day[0].toUpperCase() + day.substring(1);
    }, 100)
};
this.onmouseleave = function() clearInterval(this.interval);
this.onDestroy = function(reason) {
    if (reason == "update" || reason == "delete") {
        if (sss.sheetRegistered(cssURI, sss.USER_SHEET)) sss.unregisterSheet(cssURI, sss.USER_SHEET);
    }
    timer.cancel()
};


"инициализация" кнопки
// Автоматически очистить панель поиска после запуска поиска + возврат нужного поисковика, от 19.12.2013. ..............
(function() {
   var func = BrowserSearch.searchBar.handleSearchCommand.toString()
                   .replace(/^\s*function.+{/, '').replace(/}\s*$/, '');   
     
   var code = ['setTimeout(function() { textBox.value = ""; }, 500);\
               \n var searchService = Cc["@mozilla.org/browser/search-service;1"].getService(Ci.nsIBrowserSearchService);\
               \n searchService.currentEngine = searchService.getEngineByName("Яндекс");\
                '].join('');

   func += code;
   BrowserSearch.searchBar.handleSearchCommand = new Function('aEvent', func );
})();

// Показывать потребление памяти в адресной строке, от 28.07.2014. ................................
(function () {
   if ( document.getElementById('memoryDisplay') ) return;
   
   // Создать в адресной строке счётчик памяти ....
   var memoryDisplay = document.createElement("statusbarpanel");
   var urlbarIcons = document.getElementById("urlbar-icons");
   urlbarIcons.insertBefore( memoryDisplay, urlbarIcons.lastChild ); // перед первой иконкой адресной строки
   
   memoryDisplay.id = "memoryDisplay";
   memoryDisplay.label = getMemory() + ' MB'; 
   self.timer = setInterval(function() { memoryDisplay.label = getMemory() + ' MB' }, 2000 ); // таймер обновляет счётчик раз в 2000мс( 2 сек )
   
   
   // Всплывающая подсказка у счётчика отображает заполнение дискового кеша ....
   var k = 100, mb = 1024 * 1024, str = "",
   cs = Cc["@mozilla.org/network/cache-service;1"].getService(Ci.nsICacheService),
   visitor = { visitDevice: addInfo };

   function addInfo(device, info) {
      str += (str ? "\n" : "") + device[0].toUpperCase() + device.slice(1) + " Cache:  " +
      [info.totalSize, info.maximumSize].map(function(num) Math.round(k * num / mb) / k + " MB").join(" / ");
   };

   memoryDisplay.onmouseenter = function() {
     str = "";
     try { cs.visitEntries(visitor) } catch(e) {};
     memoryDisplay.tooltipText = "Л: Подробно показать потребление памяти в вкладке" + "\n\n"
        + ( cbu.getPrefs("browser.cache.memory.enable") || cbu.getPrefs("browser.cache.disk.enable") ? str : "Кэш отключен" );
   };
   
   
   // Получить всю занимаемую оперативную память в MB ....
   function getMemory() {           
      var reporterManager = Cc["@mozilla.org/memory-reporter-manager;1"].getService(Ci.nsIMemoryReporterManager);
      try {
          var e = reporterManager.enumerateReporters();
          while ( e.hasMoreElements() ) {
                  var mr = e.getNext().QueryInterface(Ci.nsIMemoryReporter);
                  self[mr.path] = mr;
                  }
          var memory = self["resident"].amount;
          }
      catch(e) { var memory = reporterManager.resident }; // для Nightly
     
      return ( Math.round( memory/1048576 ) );
   };     
   
   
   // По клику подробно показать потребление памяти в вкладке ....
   memoryDisplay.onclick = function(e) {
      if ( e.button ) return;
       var memoryTab = gBrowser.getBrowserForTab( gBrowser.selectedTab = gBrowser.addTab("about:memory") );
         
       // oбработчик ждет пока откроется "about:memory", удаляет себя и нажимает кнопку на странице
       memoryTab.addEventListener("pageshow", function c(e) {         
          this.removeEventListener( e.type, c );           

          setTimeout(function() { try { e.originalTarget.getElementById('measureButton').click() } catch(e) {} }, 0);     
       }); 
   };
   
     
   // Css стиль для счётчика ....
   var uri = makeURI('data:text/css,'+ encodeURIComponent('\
      #memoryDisplay { -moz-appearance: none !important; margin-left: 2px !important; margin-right: -4px !important; border: 0 !important; min-width: 5.5em; text-align: right; }\
      #memoryDisplay[resetMemory] { color: red !important; }\
   '));
   const sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
   sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);


   // Удалять счётчик памяти и другие изменения ....
   addDestructor(function() {
      sss.unregisterSheet(uri, sss.AGENT_SHEET);
      urlbarIcons.removeChild( memoryDisplay )
      try { window.clearTimeout( self.timer ) } catch(e) {};
   });
   
})();
try {
    document.getElementById("home-button").setAttribute("onclick", "event.stopPropagation(); if (event.button == '0') { ( (Application.prefs.getValue('browser.startup.homepage', 0)).split('|') ).forEach(function(url) { getBrowser().selectedTab = getBrowser().addTab( url ) }) }");
}
catch(e) { };
// Добавить новый пункт "Перезапуск" в главном меню .....................................................
(function() {
    // блокировать дублирование пункта при открытии настройки панелей
    if ( document.getElementById("restart_firefox") ) return;
   
    var menuItem = document.createElement("menuitem");
    menuItem.setAttribute("id", "restart_firefox");               
    menuItem.setAttribute("label", "Перезапуск");
    menuItem.setAttribute("oncommand", "Application.restart()");   
   
    var QuitItem = document.getElementById("menu_FileQuitItem"); // в меню 'Файл'
    QuitItem.parentNode.insertBefore( menuItem, QuitItem );
   
    var appmenuQuit = document.getElementById("appmenu_quit") || document.getElementById("appmenu-quit"); // в меню kнопки "Firefox"
    if ( appmenuQuit ) appmenuQuit.parentNode.insertBefore( menuItem.cloneNode(true), appmenuQuit );
})();

document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function(event) {
      if (!event.shiftKey) return;
      if (gContextMenu.onLink && !gContextMenu.onImage){ gContextMenu.saveLink()};
      //...
      if (gContextMenu.onLink && gContextMenu.onImage){ gContextMenu.saveMedia();};
}, false);

/*Initialization Code*/


проблема: тускло выглядит
должно быть: http://puu.sh/huYJl/f6f77caf45.jpg
как есть сейчас: http://puu.sh/htZNM/b378f2887c.jpg

и второй вопрос:
как отключить иконку загрузки ? зеленая и синяя такие
скрин (зеленой) http://puu.sh/htZNM/b378f2887c.jpg
что бы вместо этого, во время загрузки страницы был виден её фавикон (иконка).

Добавлено 29-04-2015 14:44:33

bunda1 пишет

this.style.cssText = "opacity: 1 !important;"; // Css стиль для кнопки

а куда данный стиль запихать ? и в код и в инициализацию пробывал, все равно тускло.

Отредактировано LittleMontana (29-04-2015 14:45:17)

Отсутствует

 

№66629-04-2015 20:40:39

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

LittleMontana пишет

проблема: тускло выглядит

Такое происходит если в кодах кнопки которые ты положил в вкладку Код или Инициализация есть ошибка. Я проверил на FF38 и всё работает и кнопка выглядит как надо, наверно конфликт с другим кодом или расширением, смотри что пишет консоль ошибок или удаляй коды из своей кнопки по одному и проверяй тусклость.

Добавлено 29-04-2015 20:42:39

LittleMontana пишет
bunda1 пишет

this.style.cssText = "opacity: 1 !important;"; // Css стиль для кнопки

а куда данный стиль запихать ? и в код и в инициализацию пробывал, все равно тускло.

В инициализацию но в данном случае не поможет по выше упомянутым причинам.

Добавлено 29-04-2015 20:47:01

LittleMontana пишет

и второй вопрос:
как отключить иконку загрузки ? зеленая и синяя такие
скрин (зеленой) http://puu.sh/htZNM/b378f2887c.jpg
что бы вместо этого, во время загрузки страницы был виден её фавикон (иконка).

Я не понял о чём речь на твоём изображение не http://puu.sh/htZNM/b378f2887c.jpg не иконка загрузки :/

Отредактировано bunda1 (29-04-2015 20:47:01)

Отсутствует

 

№66729-04-2015 20:56:45

LittleMontana
Участник
 
Группа: Members
Зарегистрирован: 16-11-2013
Сообщений: 214
UA: Firefox 37.0

Re: Обсуждение кнопок CB

Извините, не тот скриншот
http://puu.sh/htYUk/fded7f9bad.jpg

Отсутствует

 

№66829-04-2015 21:19:54

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

LittleMontana пишет

Извините, не тот скриншот
http://puu.sh/htYUk/fded7f9bad.jpg

И где такая иконка загрузки?

Отсутствует

 

№66929-04-2015 23:04:03

LittleMontana
Участник
 
Группа: Members
Зарегистрирован: 16-11-2013
Сообщений: 214
UA: Firefox 37.0

Re: Обсуждение кнопок CB

bunda1
firefox 37.0.2
вкладки грузятся так...

Отсутствует

 

№67002-05-2015 03:35:59

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 40.0

Re: Обсуждение кнопок CB

bunda1
Поправьте, пожалуйста, Autocopy+3 для Nightly, в связи с этим. Она работает, но страшно засоряет консоль с "Deprecated.warning".

Вроде, если заменить getBrowserSelection на getSelection, то перестает ругаться, но текст тогда не мигает при копировании. (С document.commandDispatcher.focusedWindow.getSelection().toString(); и мигает и на "Deprecated" не ругается.)

Спасибо.

Отредактировано turbot (02-05-2015 20:37:27)

Отсутствует

 

№67104-05-2015 21:02:25

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

turbot пишет

Поправьте, пожалуйста, Autocopy+3 для Nightly ...
Вроде, если заменить getBrowserSelection на getSelection, то перестает ругаться, но текст тогда не мигает при копировании. (С document.commandDispatcher.focusedWindow.getSelection().toString(); и мигает и на "Deprecated" не ругается.)

Приятно когда пользователи находят в кнопках ошибки и сами исправляют:)  А кнопку я подправил, спасибо.

Отредактировано bunda1 (04-05-2015 21:11:36)

Отсутствует

 

№67204-05-2015 23:23:55

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2253
UA: Firefox 31.0

Re: Обсуждение кнопок CB

bunda1
:/

скрытый текст
document.commandDispatcher.focusedWindow.getSelection().toString();
e.target.ownerDocument.defaultView.getSelection().toString(); // + e10s

var lastSelection = ... // бесполезно
autocopy.lastSelection = ...

alt

Отсутствует

 

№67305-05-2015 21:22:37

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

Dumby пишет

e.target.ownerDocument.defaultView.getSelection().toString(); // + e10s
autocopy.lastSelection = ...

Да это работает на + e10s. Спасыбо :beer:

alt
А почему у тебя там removeEventListener для method(type, this, false, gBrowser); ведь CB должен сам удалять обработчика.

Отсутствует

 

№67405-05-2015 22:02:29

Dumby
Участник
 
Группа: Members
Зарегистрирован: 12-08-2012
Сообщений: 2253
UA: Firefox 31.0

Re: Обсуждение кнопок CB

bunda1 пишет

А почему у тебя там removeEventListener для method(type, this, false, gBrowser); ведь CB должен сам удалять обработчика.

Да, CB должен сам удалять обработчика.
Но это когда срабатывает деструктор кнопки.
То есть когда кнопка удаляется или пересоздаётся.

А в данном случае имеется в виду совсем другое.
Задумано так: observer следит за изменением настройки «Autocopy».

Если настройка изменилась на true (Autocopy включён),
то добавляются listener'ы на mousedown и mouseup.

А если настройка изменилась на false (Autocopy выключен),
то listener'ы на mousedown и mouseup удаляются,
потому что теперь они не нужны, а только
бессмысленную работу будут делать при каждом клике.

Отсутствует

 

№67505-05-2015 22:18:11

bunda1
Moderator
 
Группа: Moderators
Откуда: Латвия
Зарегистрирован: 09-02-2010
Сообщений: 4811
UA: Firefox 24.0

Re: Обсуждение кнопок CB

Dumby
Понятно, я сам наверно мог догадаться. Спасибо.

Отсутствует

 

Board footer

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