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

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

№1020107-06-2016 21:20:33

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 47.0

Re: Custom Buttons

bunda1
в основном, если есть такое или подобное:

Выделить код

Код:

var prefs = Application.prefs;
prefs.setValue("extensions.phrasehighlighter.red-phrases", "1234");
green = prefs.getValue("extensions.phrasehighlighter.green-phrases", "");

и вот тут ругается:

Выделить код

Код:

// для отключения появления окна запроса открытия
(() => {
    const id = _id + "-" + Components.stack.lineNumber;
    if (Application.storage.get(id, null)) return;
    Application.storage.set(id, {});
    addDestructor(() => Application.storage.set(id, null));

    const topic = "http-on-examine-response";
    const cd = "Content-Disposition";
    var re = /^\s*attachment/i;
    function onResponse(channel) {
        try {
            channel.QueryInterface(Ci.nsIHttpChannel);
            var disp = channel.getResponseHeader(cd);
            channel.loadFlags & channel.LOAD_DOCUMENT_URI
            //&& channel.contentType == "application/x-bittorrent"
            && (
                channel.contentType == "application/x-bittorrent"
                || channel.contentType == "application/octet_stream"
                //|| channel.URI.path.startsWith("/parse/d.rutor.org/download")
            )
            && re.test(disp)
            && channel.setResponseHeader(cd, disp.replace(re, "inline"), false);
        } catch(ex) {}
    }
    Services.obs.addObserver(onResponse, topic, false);
    addDestructor(() => Services.obs.removeObserver(onResponse, topic));
})();

Отсутствует

 

№1020207-06-2016 21:25:03

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

Re: Custom Buttons

Inko7

Выделить код

Код:

var s = "extensions.phrasehighlighter.red-phrases";
cbu.setPrefs(s, "1234");
green = cbu.getPrefs(s);

Про второе: https://forum.mozilla-russia.org/viewto … 14#p709314

Отсутствует

 

№1020307-06-2016 21:40:59

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 47.0

Re: Custom Buttons

turbot
спасибо, попробую

Отсутствует

 

№1020407-06-2016 22:09:45

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

Re: Custom Buttons

vitalii201 пишет

bunda1

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

Странно, у себя я такое не наблюдаю. Может у тебя конфликт с каким то расширением.

Отсутствует

 

№1020507-06-2016 22:14:27

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 47.0

Re: Custom Buttons

turbot
так заработало, но сразу всплыло почему я не использовал cbu.setPrefs - оно не заносит текст на кириллице, получаются иероглифы...
или можно и с этим что-то сделать?

Отсутствует

 

№1020607-06-2016 22:20:05

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

Re: Custom Buttons

Inko7
Отсюда: https://forum.mozilla-russia.org/viewto … 26#p713526 и дальше.

Отсутствует

 

№1020707-06-2016 22:32:57

vitalii201
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 679
UA: Firefox 47.0

Re: Custom Buttons

bunda1, код "Открывать …" у меня был в Уменьшить яркость на всех страницах. Переместил в "Инициализация" другой кнопки – заработал.
Но кнопка "Уменьшить …", как оказалось, не фунциклирует (. А она тоже часто нужна (ну как часто? – каждый вечер).

скрытый текст
что-то много в [firefox] 47 "допили сам" вылезло

На форуме

 

№1020807-06-2016 22:42:22

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

Re: Custom Buttons

vitalii201 пишет

Но кнопка "Уменьшить яркость на всех страницах", как оказалось, не фунциклирует

Выделить код

Код:

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%3E%u0423%u043C%u0435%u043D%u044C%u0448%u0438%u0442%u044C%20%u044F%u0440%u043A%u043E%u0441%u0442%u044C%20%u043D%u0430%20%u0432%u0441%u0435%u0445%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0430%u0445%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAD/Eykp/xgyMv8YMTH/GDEx/xgxMf8YMTH/GDEx/xgxMf8YMTH/GDEx/xgxMf8YMTH/GDIy/xMpKf8AAAD/AAAA/1Cop/9Nrqv/SKKf/0mkof9JpKH/SaSh/0mkof9JpKH/SaSh/0mkof9JpKH/SKKf/02uq/9QqKf/AAAA/wAAAP9OoqH/PpSQ/zWFgf83iIT/N4iE/zeIhP83iIT/N4iE/zeIhP83iIT/N4iE/zWFgf8+lJD/TqKh/wAAAP8AAAD/U6in/0WgnP88ko3/PpWQ/z6VkP8+lZD/PpWQ/z6VkP8+lZD/PpWQ/z6VkP88ko3/RaCc/1Oop/8AAAD/AAAA/1asrP9HpKD/PpaR/0CZlP9AmZT/QJmU/0CZlP9AmZT/QJmU/0CZlP9AmZT/PpaR/0ekoP9WrKz/AAAA/wAAAP9ZsLH/SKmj/0Calf9CnZj/Qp2Y/0KdmP9CnZj/Qp2Y/0KdmP9CnZj/Qp2Y/0Calf9IqaP/WbCx/wAAAP8AAAD/XLW1/0uuqP9Cn5n/RKKc/0SinP9Eopz/RKKc/0SinP9Eopz/RKKc/0SinP9Cn5n/S66o/1y1tf8AAAD/AwMD/2C4uv9OtK//RKWf/0aoov9GqKL/Rqii/0aoov9GqKL/Rqii/0aoov9GqKL/RKWf/060r/9guLr/AwMD/1NSUv9qw8T/V8XE/1O+u/9Uv73/VL+9/1S/vf9Uv73/VL+9/1S/vf9Uv73/VL+9/1O+u/9XxcT/asPE/1NSUv9XVlb/bcfI/1vLyv9XxML/WMXE/1jFxP9YxcT/WMXE/1jFxP9YxcT/WMXE/1jFxP9XxML/W8vK/23HyP9XVlb/VlVU/3DMzf9f0ND/WsnH/1vKyf9bysn/W8rJ/1vKyf9bysn/W8rJ/1vKyf9bysn/WsnH/1/Q0P9wzM3/VlVU/1ZUVP9zz9H/YtfV/13Qzf9e0c7/XtHO/17Rzv9e0c7/XtHO/17Rzv9e0c7/XtHO/13Qzf9i19X/c8/R/1ZUVP9WVFT/d9PW/2Xc2/9f1dP/YdbU/2HW1P9h1tT/YdbU/2HW1P9h1tT/YdbU/2HW1P9f1dP/Zdzb/3fT1v9WVFT/VlRU/3nV2P9j39z/XdjU/1/Z1f9f2dX/X9nV/1/Z1f9f2dX/X9nV/1/Z1f9f2dX/XdjU/2Pf3P951dj/VlRU/1ZUVP9/4+f/ePX2/3Xu7/927/D/du/w/3bv8P927/D/du/w/3bv8P927/D/du/w/3Xu7/949fb/f+Pn/1ZUVP9XVlb/YXt8/2aBg/9mgIL/ZoCC/2aAgv9mgIL/ZoCC/2aAgv9mgIL/ZoCC/2aAgv9mgIL/ZoGD/2F7fP9XVlb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u041B%u041A%u041C%20%u043F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u0438%20%u0441%u0442%u0438%u043B%u044C%20..........%0Athis._handleClick%20%3D%28%29%3D%3E%20setStyleForPages%28%20cbu.setPrefs%28s%2C%20%21cbu.getPrefs%28s%29%29%20%29%3B%0A%0A%0A//%20%u041A%u043E%u043B%u0451%u0441%u0438%u043A%u043E%u043C%20%u043C%u044B%u0448%u0438%20%u043D%u0430%20%u043A%u043D%u043E%u043F%u043A%u0435%20%u043C%u0435%u043D%u044F%u0442%u044C%20%u044F%u0440%u043A%u043E%u0441%u0442%u044C%20%u0432%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%u0445%20%u0438%20%u0441%u0442%u0438%u043B%u0435%20..........%0Athis.onwheel%20%3De%3D%3E%7B%0A%20%20%20var%20i%20%3D%20cbu.getPrefs%28l%29%2C%0A%20%20%20%20%20%20%20i%20%3D%20e.deltaY%20%3C%200%20%3F%20i%20+%20step%20%3A%20i%20-%20step%3B%0A%20%20%20if%20%28%200%20%3C%3D%20i%20%26%26%20i%20%3C%3D%2099%20%29%20cbu.setPrefs%28l%2C%20i%29%3B%0A%0A%20%20%20setStyleForPages%28%20cbu.setPrefs%28s%2C%20true%29%20%29%3B%0A%7D%3B%0A%0A%0A//%20%u0418%u0441%u043F%u0440%u0430%u0432%u0438%u0442%u044C%20%u043F%u0440%u043E%u0431%u043B%u0435%u043C%u0443%20%u0441%20position%20%u0434%u043B%u044F%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0439%20..........%0AaddEventListener%28%22mouseover%22%2C%20e%3D%3E%7B%0A%20%20%20if%20%28%20e.button%20%7C%7C%20e.target.localName%20%21%3D%3D%20%27img%27%20%29%20return%3B%20%20%0A%20%20%20%0A%20%20%20var%20img%20%3D%20e.target%2C%20node%20%3D%20img%3B%0A%20%20%20if%20%28%20getPosition%28img%29%20%3D%3D%20%27absolute%27%29%20%7B%20img.setAttribute%28%27currentPosition%27%2C%20%27true%27%29%3B%20return%3B%20%7D%3B%20%20%0A%0A%20%20%20while%28%20node%20%3D%20node.parentNode%20%29%20%7B%0A%20%20%20%20%20%20if%20%28%20getPosition%28node%29%20%3D%3D%20%27relative%27%20%29%20break%3B%0A%20%20%20%20%20%20if%20%28%20getPosition%28node%29%20%3D%3D%20%27absolute%27%29%20%7B%20img.setAttribute%28%27parentPosition%27%2C%20%27true%27%29%3B%20break%3B%20%7D%3B%20%20%20%0A%20%20%20%7D%3B%0A%20%20%20%20function%20getPosition%28node%29%20%7B%20return%20getComputedStyle%28node%2C%20%27%27%29.position%20%7D%3B%20%20%0A%20%20%20%3B%0A%7D%2C%20false%2C%20gBrowser%29%3B%0A%0A%0A//%20%u041F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u0438%20css%20%u043A%u043E%u0434%20%u0438%u0437%20%u0432%u043A%u043B%u0430%u0434%u043A%u0438%20%u0421%u043F%u0440%u0430%u0432%u043A%u0430%20..........%0Avar%20step%20%3D%202%2C%0A%20%20%20%20s%20%3D%20%22CB.darken%22%2C%0A%20%20%20%20help%20%3D%20self.Help%2C%0A%20%20%20%20l%20%3D%20%22CB.darken.level%22%3B%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u0432%20about%3Aconfig%20%u0435%u0441%u043B%u0438%20%u043E%u043D%u0438%20%u043D%u0435%20%u0441%u0443%u0449%u0435%u0441%u0442%u0432%u0443%u0435%u0442%20..........%0Acbu.isPref%28l%2C%2028%29%3B%0Acbu.isPref%28s%2C%20false%29%3B%0A%0A%0A//%20%u0423%u0441%u0442%u0430%u043D%u043E%u0432%u0438%u0442%u044C%20%u043D%u0443%u0436%u043D%u0443%u044E%20%u0438%u043A%u043E%u043D%u043A%u0443%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u043F%u0440%u0438%20%u0441%u0442%u0430%u0440%u0442%u0435%20%u0431%u0440%u0430%u0443%u0437%u0435%u0440%u0430%20%u0438%u043B%u0438%20%u043F%u0440%u0438%20%u0438%u0437%u043C%u0435%u043D%u0435%u043D%u0438%u044F%u0445%20%u043D%u0430%u0441%u0442%u0440%u043E%u0435%u043A%20%u043A%u043D%u043E%u043F%u043A%u0438%20..........%0Afunction%20toggleImage%28%29%20%7B%0A%20%20%20self.ownerDocument.getAnonymousElementByAttribute%28self%2C%20%22class%22%2C%20%22toolbarbutton-icon%22%29.%0A%20%20%20src%20%3D%20%21cbu.getPrefs%28s%29%20%3F%20self.image%20%3A%20%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAD/NTU1/z8/P/89PT3/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv8+Pj7/Pj4+/z4+Pv89PT3/Pz8//zU1Nf8AAAD/AAAA/6Ghof+YmJj/ioqK/42Njf+NjY3/jY2N/42Njf+NjY3/jY2N/42Njf+NjY3/ioqK/5iYmP+hoaH/AAAA/wAAAP+dnZ3/hISE/3R0dP94eHj/eHh4/3h4eP94eHj/eHh4/3h4eP94eHj/eHh4/3R0dP+EhIT/nZ2d/wAAAP8AAAD/qKio/5OTk/+CgoL/hoaG/4aGhv+Ghob/hoaG/4aGhv+Ghob/hoaG/4aGhv+CgoL/k5OT/6ioqP8AAAD/AAAA/6+vr/+ampr/iYmJ/42Njf+NjY3/jY2N/42Njf+NjY3/jY2N/42Njf+NjY3/iYmJ/5qamv+vr6//AAAA/wAAAP+1tbX/oqKi/5GRkf+VlZX/lZWV/5WVlf+VlZX/lZWV/5WVlf+VlZX/lZWV/5GRkf+ioqL/tbW1/wAAAP8CAgL/vb29/6mpqf+Xl5f/m5ub/5ubm/+bm5v/m5ub/5ubm/+bm5v/m5ub/5ubm/+Xl5f/qamp/729vf8CAgL/AAAA/8PDw/+xsbH/n5+f/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/n5+f/7Gxsf/Dw8P/AAAA/zo6Ov/Pz8//xMTE/7a2tv+5ubn/ubm5/7m5uf+5ubn/ubm5/7m5uf+5ubn/ubm5/7a2tv/ExMT/z8/P/zo6Ov9aWlr/2dnZ/9PT0//Jycn/ysrK/8rKyv/Kysr/ysrK/8rKyv/Kysr/ysrK/8rKyv/Jycn/09PT/9nZ2f9aWlr/U1NT/9/f3//a2tr/z8/P/9HR0f/R0dH/0dHR/9HR0f/R0dH/0dHR/9HR0f/R0dH/z8/P/9ra2v/f39//U1NT/1RUVP/m5ub/4+Pj/9jY2P/a2tr/2tra/9ra2v/a2tr/2tra/9ra2v/a2tr/2tra/9jY2P/j4+P/5ubm/1RUVP9UVFT/7u7u/+3t7f/i4uL/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/k5OT/5OTk/+Tk5P/i4uL/7e3t/+7u7v9UVFT/VFRU/+/v7//y8vL/5+fn/+np6f/p6en/6enp/+np6f/p6en/6enp/+np6f/p6en/5+fn//Ly8v/v7+//VFRU/1RUVP/8/Pz//////////////////////////////////////////////////////////////////Pz8/1RUVP9WVlb/kJCQ/5WVlf+VlZX/lpaW/5aWlv+Wlpb/lpaW/5aWlv+Wlpb/lpaW/5aWlv+VlZX/lZWV/5CQkP9WVlb/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%3D%22%3B%20%0A%7D%3B%0AtoggleImage%28%29%3B%0AgPrefService.addObserver%28s%2C%20toggleImage%2C%20false%29%3B%0AaddDestructor%28%28%29%3D%3E%20gPrefService.removeObserver%28s%2C%20toggleImage%29%29%3B%0A%0A%0A//%20%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20css%20%u0441%u0442%u0438%u043B%u044C%20%u0434%u043B%u044F%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20..........%0Afunction%20setStyleForPages%28%29%20%7B%0A%20%20%20var%20sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%3B%0A%20%20%20var%20css%20%3D%20help.replace%28/value/g%2C%20cbu.getPrefs%28l%29/100%20%29%3B%20%20%20%20%20%20%0A%20%20%20var%20uri%20%3D%20makeURI%28%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28css%29%29%3B%20%0A%20%20%20%0A%20%20%20try%20%7B%20sss.unregisterSheet%28Services.previousUri%20%7C%7C%20uri%2C%200%29%20%7D%20catch%28e%29%20%7B%7D%3B%0A%20%20%20Services.previousUri%20%3D%20uri%3B%0A%20%20%20%0A%20%20%20cbu.getPrefs%28s%29%20%26%26%20sss.loadAndRegisterSheet%28uri%2C%200%29%3B%0A%7D%3B%0Acbu.getPrefs%28s%29%20%26%26%20setStyleForPages%28%29%3B%0A%0A%0A//%20%u041F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20..........%20%0Athis.tooltipText%20%3D%20%22%u041B%3A%20%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u044F%u0440%u043A%u043E%u0441%u0442%u044C%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%20%5Cn%u041A%u043E%u043B%u0451%u0441%u0438%u043A%u043E%u043C%20%u043C%u044B%u0448%u0438%20%u043D%u0430%20%u043A%u043D%u043E%u043F%u043A%u0435%20%u043C%u043E%u0436%u043D%u043E%20%u043C%u0435%u043D%u044F%u0442%u044C%20%u044F%u0440%u043A%u043E%u0441%u0442%u044C%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%22%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B%0A%0A%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@-moz-document%20url-prefix%28http%3A//%29%2C%20url-prefix%28https%3A//%29%2C%20url-prefix%28ftp%3A//%29%2C%20url-prefix%28file%3A//%29%2C%0Aurl-prefix%28chrome%3A//%29%2C%20url-prefix%28about%29%20%7B%0A%20%20%20browser%7B%20background%3A%20LightGray%20%21important%3B%20%7D%20%20%20%0A%20%20%20%0A%20%20%20/*%20%u0441%u043E%u0437%u0434%u0430%u0442%u044C%20%u043D%u0430%u0434%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%u0439%20%u0438%20%u0434%u0440%u0443%u0433%u0438%u043C%u0438%20%u044D%u043B%u0435%u043C%u0435%u043D%u0442%u0430%u043C%u0438%20%u043F%u0441%u0435%u0432%u0434%u043E%u044D%u043B%u0435%u043C%u0435%u043D%u0442%20%u0441%20%u0443%u0441%u0442%u0430%u043D%u043E%u0432%u043B%u0435%u043D%u043D%u043E%u0439%20%u043F%u0440%u043E%u0437%u0440%u0430%u0447%u043D%u043E%u0441%u0442%u044C%u044E%20*/%0A%20%20%20html%3Aafter%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20/*%20%u0432%u0435%u0431%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0438%20%u043D%u0435%u043A%u043E%u0442%u043E%u0440%u044B%u0435%20about%3A%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%2C%20%u0438%u043D%u0441%u043F%u0435%u043A%u0442%u043E%u0440%20DOM%20%u0438%20%u0441%u0442%u0438%u043B%u0435%u0439%20*/%0A%20%20%20%23appbar-content%3Aafter%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20/*%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0441%u0432%u0435%u0440%u0445%u0443%20%u043D%u0430%20youtube%20*/%0A%20%20%20%23txbTextNodeValue%3Aafter%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20/*%20%u0440%u0430%u0448%u0438%u0440%u0435%u043D%u0438%u0435%20DOM%20%u0438%u043D%u0441%u043F%u0435%u043A%u0442%u043E%u0440%20*/%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%5Bclass%3D%22theme-light%22%5D%20%23editor%3Aafter%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20/*%20%u0438%u043D%u0441%u043F%u0435%u043A%u0442%u043E%u0440%20DOM%20%u0438%20%u0441%u0442%u0438%u043B%u0435%u0439%20*/%20%0A%20%20%20%5Bclass%3D%22theme-light%22%5D%20%23profiles-list%3Aafter%2C%20%0A%20%20%20%5Bclass%3D%22theme-light%22%5D%20%23options-panel%3Aafter%2C%0A%20%20%20window%3Anot%28%5Bclass%3D%22theme-dark%22%5D%29%20%23editor%3Aafter%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%5Bclass%3D%22theme-light%22%5D%20%23style-editor-chrome%3Aafter%2C%0A%20%20%20%5Bclass%3D%22theme-light%22%5D%20%23network-inspector-view%3Aafter%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20.cbeditor-textbox%3Aafter%2C%20%23newtab-window%3Aafter%2C%20%20%20%20%20%20%20%20%20%20/*%20%u0440%u0435%u0434%u0430%u043A%u0442%u043E%u0440%20%u0421%u0412%20%u043A%u043D%u043E%u043F%u043A%u0438%2C%20%u043D%u043E%u0432%u0430%u044F%20%u0432%u043A%u043B%u0430%u0434%u043A%u0430%20*/%0A%20%20%20treecols%3Anot%28%5Bid%3D%22placeContentColumns%22%5D%29%3Aafter%2C%20%20%20%20%20%20%20%20%20/*%20%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0438%2C%20%u0438%u0441%u0442%u043E%u0440%u0438%u044F%2C%20%u0431%u0438%u0431%u043B%u0438%u043E%u0442%u0435%u043A%u0430%2C%20about%3Aconfig%20*/%0A%20%20%20%23devtools-webconsole%3Aafter%2C%20%23ConsoleBox%3Aafter%2C%20%20%20%20%20%20%20%20%20%20/*%20%u043A%u043E%u043D%u0441%u043E%u043B%u044C%20%u043E%u0448%u0438%u0431%u043E%u043A%2C%20%u0432%u0435%u0431%20%u043A%u043E%u043D%u0441%u043E%u043B%u044C%20%u043E%u0448%u0438%u0431%u043E%u043A%20*/%0A%20%20%20%5Btitle%3D%22%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%22%5D%5BhasBrowserHandlers%3D%22true%22%5D%3Aafter%2C%20%20%20/*%20%u0440%u0430%u0437%u043D%u044B%u0435%20about%3A%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20*/%0A%20%20%20%5Bid%3D%22permissions-page%22%5D%3Aafter%2C%20%5Bid%20%3D%22tabsList%22%5D%3Aafter%2C%0A%20%20%20%5Bid%3D%22contentAreaDownloadsView%22%5D%3Aafter%2C%20%5Bid%3D%22addons-page%22%5D%3Aafter%20%20%20%0A%20%20%20%7B%0A%20%20%20%20%20content%3A%20%22%22%20%21important%3B%0A%20%20%20%20%20position%3A%20fixed%20%21important%3B%0A%20%20%20%20%20top%3A%200%3B%20bottom%3A%200%3B%20left%3A%200%3B%20right%3A%200%3B%0A%20%20%20%20%20background%3A%20%23000%20%21important%3B%0A%20%20%20%20%20z-index%3A%2099999999%20%21important%3B%0A%20%20%20%20%20pointer-events%3A%20none%20%21important%3B%0A%20%20%20%20%20opacity%3A%20value%20%21important%3B%0A%20%20%20%7D%0A%20%20%20%0A%20%20%20/*%20%u043E%u0442%u043A%u043B%u044E%u0447%u0430%u0442%u044C%20%u0443%u043C%u0435%u043D%u044C%u0448%u0435%u043D%u0438%u0435%20%u044F%u0440%u043A%u043E%u0441%u0442%u0438%20%u0434%u043B%u044F%20%u0431%u043B%u043E%u043A%u0438%u0440%u043E%u0432%u043A%u0438%20%u0434%u0432%u043E%u0439%u043D%u043E%u0433%u043E%20%u0437%u0430%u0442%u0435%u043C%u043D%u0435%u043D%u0438%u044F%20%20*/%0A%20%20%20%23comments-test-iframe%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20/*%20%u043A%u043E%u043C%u0435%u043D%u0442%u0430%u0440%u0438%u0438%20%u043D%u0430%20youtube%20*/%0A%20%20%20%0A%20%20%20/*%20%u043E%u0442%u043A%u043B%u044E%u0447%u0430%u0442%u044C%20%u0443%u043C%u0435%u043D%u044C%u0448%u0435%u043D%u0438%u0435%20%u044F%u0440%u043A%u043E%u0441%u0442%u0438%20%u0434%u043B%u044F%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0439%20%u043F%u0440%u0438%20%u043D%u0430%u0432%u0435%u0434%u0435%u043D%u0438%u0438%20%u043A%u0443%u0440%u0441%u043E%u0440%u0430%20*/%0A%20%20%20svg%3Ahover%2C%0A%20%20%20DIV%5Bclass%3D%22img%22%5D%3Ahover%2C%0A%20%20%20DIV%5Bclass%3D%22rel%22%5D%3Ahover%2C%0A%20%20%20DIV%5Bclass%3D%22ytp-thumbnail%22%5D%3Ahover%2C%0A%20%20%20DIV%5Bid%3D%22watch7-sidebar-modules%22%5D%3Ahover%2C%0A%20%20%20DIV%5Bclass%3D%22right_block%20video_right%20video_today%22%5D%3Ahover%2C%0A%20%20%20DIV%5Bclass%3D%22photo%22%5D%3Ahover%2C%0A%20%20%20img%3Ahover%3Anot%28%5Bparentposition%5D%29%3Anot%28%5Bcurrentposition%5D%29%3Anot%28%5Bid%3D%22keyboard_picture%22%5D%29%3Anot%28%5Bid%3D%22mpiv-preview%22%5D%29%3Anot%28%5Bid%3D%22splashoverlay%22%5D%29%3Anot%28%5Bclass%3D%22prew%22%5D%29%3Anot%28%5Bclass%3D%22rel%22%5D%29%0A%20%20%20%7B%20%0A%20%20%20%20%20-moz-appearance%3A%20none%20%21important%3B%20position%3A%20relative%20%21important%3B%20z-index%3A%20999999999%20%21important%3B%0A%20%20%20%7D%0A%20%20%20img%5Bparentposition%5D%3Ahover%20%7B%20%0A%20%20%20%20%20-moz-appearance%3A%20none%20%21important%3B%20position%3A%20relative%20%21important%3B%20z-index%3A%20999999999%20%21important%3B%20left%3A%200px%3B%20bottom%3A%200px%3B%0A%20%20%20%7D%0A%20%20%20img%5Bcurrentposition%5D%3Ahover%20%7B%20%0A%20%20%20%20%20z-index%3A%20999999999%20%21important%3B%0A%20%20%20%7D%0A%0A%20%20%20/*%20%u043F%u043E%u043B%u043E%u0441%u0430%20%u043F%u043E%u0438%u0441%u043A%u0430%20%u043D%u0430%20youtube%20*/%0A%20%20%20%23yt-masthead-container%20%7B%20background%3A%20LightGray%20%21important%3B%20%7D%0A%0A%20%20%20/*%20%u0438%u0441%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u0432%u0438%u0434%u0435%u043E%20*/%0A%20%20%20embed%5Bflashvars%5D%2C%20%20%0A%20%20%20div%5Bclass%3D%22html5-video-container%22%5D%2C%0A%20%20%20*%5Btype*%3D%22application/x-silverlight%22%5D%2C%0A%20%20%20*%5Btype*%3D%22application/x-shockwave-flash%22%5D%20%7B%20%0A%20%20%20%20%20-moz-appearance%3A%20none%20%21important%3B%20z-index%3A%20999999999%20%21important%3B%0A%20%20%20%7D%0A%7D%0A%0A/*%20%u0438%u0441%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u043D%u0435%u043A%u043E%u0442%u043E%u0440%u044B%u0435%20%u044D%u043B%u0435%u043C%u0435%u043D%u0442%u044B%20%u043D%u0430%20%u043F%u0440%u043E%u0431%u043B%u0435%u043C%u043D%u044B%u0445%20%u0441%u0430%u0439%u0442%u0430%u0445%20%u0434%u043B%u044F%20%u0431%u043B%u043E%u043A%u0438%u0440%u043E%u0432%u043A%u0438%20%u0434%u0432%u043E%u0439%u043D%u043E%u0433%u043E%20%u0437%u0430%u0442%u0435%u043C%u043D%u0435%u043D%u0438%u044F%20*/%20%0A@-moz-document%20domain%28politobzor.net%29%20%7B%20%0A%20%20%20html%5Bxmlns%3D%22http%3A//www.w3.org/1999/xhtml%22%5D%3Aafter%20%7B%20content%3A%20none%20%21important%3B%20%7D%0A%20%20%20.item%20%7B%20background%3A%20LightGray%20%21important%3B%20%7D%0A%7D%0A@-moz-document%20url-prefix%28http%3A//translate.google.com/translate%29%20%7B%20%0A%20%20%20html%3Aafter%20%7B%20content%3A%20none%20%21important%3B%20%7D%0A%7D%0A@-moz-document%20url%28about%3Ahealthreport%29%2C%20url%28about%3Asessionrestore%29%2C%20url%28about%3Awelcomeback%29%20%7B%20%0A%20%20%20html%3Aafter%20%7B%20content%3A%20none%20%21important%3B%20%7D%0A%7D%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отсутствует

 

№1020907-06-2016 22:50:07

vitalii201
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 679
UA: Firefox 47.0

Re: Custom Buttons

bunda1, спасибо!

На форуме

 

№1021007-06-2016 22:55:55

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3157
UA: Firefox 47.0

Re: Custom Buttons

vitalii201
Попробуйте утилиту f.lux®

Отсутствует

 

№1021107-06-2016 23:18:11

mssign
Участник
 
Группа: Members
Зарегистрирован: 04-11-2009
Сообщений: 21
UA: Firefox 47.0

Отсутствует

 

№1021208-06-2016 00:22:21

mssign
Участник
 
Группа: Members
Зарегистрирован: 04-11-2009
Сообщений: 21
UA: Firefox 47.0

Re: Custom Buttons

bunda1 пишет

Уменьшить яркость на всех страницах

с скриптом Mouseover Popup Image Viewer конфликт.. Картинка скриптом увеличивается и тут же схлопывается и так пока мышь не отведешь (ессно только при уменьшении яркости кнопкой СВ). Можно починить?

Отредактировано mssign (08-06-2016 00:23:07)

Отсутствует

 

№1021308-06-2016 05:37:56

Ultima2m
Участник
 
Группа: Members
Откуда: Россия
Зарегистрирован: 28-11-2013
Сообщений: 608
UA: Firefox 47.0

Re: Custom Buttons

mssign пишет

В 47 не работает кнопка  Открыть страницу или выделенную ссылку в другом браузере

Поддерживаю. Помогите кто может.
Еще у меня отвалились кнопки:
Переключить стиль

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

Выделить код

Код:

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%3E%u0426%u0432%u0435%u0442%20%u0441%u0441%u044B%u043B%u043E%u043A%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACx0lEQVQ4jWNgoCYQnXqVJ23Vw521e56/m3rs9d/+Qy9/1u989j5p0YPTEgXnFYgyRKHrhkfd8dc3jz399v/o42//HWfeXSWZdVaTgYGBkRj9jHp9NyYuuvL+o9WU24tytz69aNl5bZF03Elh4myvu5S44cbnX9q1l/qlM89aVO54ftu1/+YWqYzz1prNN+eY9dw7aNJxd7dJy53dpi03D2qUXlsG1yxTel61eMfzqzNOvXsjkXzaTDz2qM6UA69e+02+dUA6/ZyzcsXNyT5zH3/O3vjif+aaF/91Sq6vE4s9XwY3wKjlysxN1z/9mXvy3YcJ+1++mHHw9dsDNz/9j51154ygy245/fqb6/3nPfrn1HvnbuKyJ//Fo841M4SuYmNgcNjPIp1xOnbJmbeffafd2SsefDhSLOBQsKjvgbwpu5+/TZ5957JkwpmMmCVP/9u03rksFnXWPWLu4//Sked6IU6PO6GXvfrRpYkHXr4S9TtoCHORiMd29aTpdy5mzLr3wHXS/feu/XdfioWdthYLORUUOfPhf9XE8xD/t+989n3awVf/m7c++5I0/fY2BgYGBhG3ncZBPTdOLjv05n/0pHv/E5c8+S8ScaaWgYGBQTDopHf41Pv/tZPObyEYK2LRF2Ki5z/+n7zoyf+YOQ//+/bd+x8++d7/lLkP/2vGnd/C67wHd/QKR502s6q/cdmr9+432ahz04UCThQI+x3LUYs8vy555oP/unHnDvI67NfAaYBG9sU1CfMe/RcNOtHM4LuZCybO734o2KXixgfdqHMH+F32KGFoFAk9aywScqbYre3OB4/WO1+FfE8EMxjPZGVgYGDgdzuoKOB2sMGt8upX25yLj3kd9sdjGODeeeeTb9/d/749d/77dNz5b5h28RiD5SpOBgYGBrPkixc9q2/886q58d+r+sZ/9/KrPwkGJCEAAGPyWBBZxhFHAAAAAElFTkSuQmCC%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%0A%0A//%20%u041B%u041A%u041C%20%u043F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u0438%20%u0441%u0442%u0438%u043B%u044C%20..........%0Athis._handleClick%20%3D%20function%28%29%20setStyleForPages%28void%28run.value%20%3D%20%21run.value%29%29%3B%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u0432%20about%3Aconfig%20%u0435%u0441%u043B%u0438%20%u043E%u043D%u0438%20%u043D%u0435%20%u0441%u0443%u0449%u0435%u0441%u0442%u0432%u0443%u0435%u0442%20..........%0Avar%20s%20%3D%20%22CB%22%20+%20_id.slice%2820%29%20+%20%22.setStyleForPage%22%3B%0Acbu.isPref%28s%2C%20false%29%3B%0Avar%20previousUri%20%3D%20%22CB%22%20+%20_id.slice%2820%29%20+%20%22.previousUri%22%3B%0A%0A%0A//%20%u0418%u043A%u043E%u043D%u043A%u0430%20%u0434%u043B%u044F%20%u0432%u043A%u043B%u044E%u0447%u0435%u043D%u043E%u0439%20%u043A%u043D%u043E%u043F%u043A%u0438%20%20..........%0Avar%20icon%20%3D%20self.ownerDocument.getAnonymousElementByAttribute%28self%2C%20%22class%22%2C%20%22toolbarbutton-icon%22%29%3B%0Avar%20styleImage%20%3D%20%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC8ElEQVQ4jY2RaSzbcRjHf3S2N9sLU1UqC1lshFmMycZeOFpsUxbX3HHNimxZmGsZ3eIYosx9DEsakcWMTRwVXbQ2Vtrq3O3866q7rjl3WJ+9ECIxme/7z+f5PvkidCDqBYOnQ6snWhLYs8sFnfI/2e3zP+ktMytBzHE+8ZFIBx0nOhlih8Qvcknn9BZ0yLbAukRarRkuNEAIKR2HVzLOEucwB1a+W+SPMB80TvdeTx9ikvy71I53PbEv8L14/ZdhQl82KUx4LZ41O0LJljRo0USWBkmSMvPMUa5ZmrTVLBlrvZos4epHD1Xtw9rRIr0o1uxgcffyIjGYb67h12GUz1mQO+V945Du99iej5PkOZbL1iM+zEFYzRwYPR6uJfiJYvYFV5IHSuqH13bKu5ZXX7bNzxVz5UscyRr4lWICVXLruct0SZ1zxaTChoFJA6umQMO7Jwm5V59EyKrtBInG96sULK1TC7GPGq6fvAh32l3VqZyH+a2zS8GvsH7NAAHNt3IabqRg/QRvob1nuQxIXj2M3er+POOIt5N9OZz5BXUnrsleI7xD88WgIqyXVjo6TskdW6FkS+cJHnxLglu3i1fJBOgFinb/f9Eys13IXYCkxpmNoKKRJoQQwtu1mLpkiruq2hfBJ3cUAiunAO8pSEAIIVWXrtt3C8bAMEjU8N9VCD5ffX1eyyCYOQWMpylQ734B2DYqUOesDfHO/sNnbNlHz6vmzTe3oIv7bzGkW8897/F6Ii12thsZoBhiweabSOgOv6QoI+slHynQj+itCaiYBHUXXhKLjBvdamQA5FIBYlUBUnVBnmEFTeRTk4dAvLvQFO8miLJLxVYdUrDNs1SeK9sap1AIa+FgVuhEYFvjFIcE9unYGjVLCtRMDBzTMDAJ7e1sJuOmNsqDAehE+BGDYDkGwQQNB+9uEg8L/hWuh9YzXoje75lYXViIVwFpiBKwqbgdFkX5ybEECCH02V07jkVRHmNb4xQsirJsD/4L5j+KqY53NfUAAAAASUVORK5CYII%3D%22%3B%0A%0A%0A//%20%u041F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u0438%20css%20%u043A%u043E%u0434%20%u0438%u0437%20%u0432%u043A%u043B%u0430%u0434%u043A%u0438%20%u0421%u043F%u0440%u0430%u0432%u043A%u0430%20..........%0Avar%20css%20%3D%20self.Help%3B%0Avar%20run%20%3D%20Application.prefs.get%28s%29%3B%0A%0A%0A//%20%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20css%20%u0441%u0442%u0438%u043B%u044C%20%u0434%u043B%u044F%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20..........%0Afunction%20setStyleForPages%28reason%29%20%7B%0A%20%20%20if%20%28%20reason%20%3D%3D%20%22destructor%22%20%29%20return%3B%20%0A%0A%20%20%20var%20sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%3B%20%0A%20%20%20var%20uri%20%3D%20makeURI%28%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28css%29%29%3B%20%0A%20%20%20%0A%20%20%20try%20%7B%20sss.unregisterSheet%28Services%5B_id%20+%20%22previousUri%22%5D%20%7C%7C%20uri%2C%200%29%20%7D%20catch%28e%29%20%7B%7D%3B%0A%20%20%20Services%5B_id%20+%20%22previousUri%22%5D%20%3D%20uri%3B%0A%20%20%20%0A%20%20%20run.value%20%26%26%20%21reason%20%26%26%20sss.loadAndRegisterSheet%28%20uri%2C%200%20%29%3B%0A%20%20%20icon.src%20%3D%20run.value%20%3F%20styleImage%20%3A%20self.image%3B%0A%7D%3B%0AaddDestructor%28setStyleForPages%29%3B%0Arun.value%20%26%26%20setStyleForPages%28%29%3B%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/*AGENT_SHEET*/%0A%0A%20%20a%2C%20a%20span%20%0A%7B%0A%20%20text-decoration%3A%20none%20%21important%3B%20%0A%20%20color%3A%20%23BABAFF%20%21important%3B%0A%7D%0Aa%3Avisited%2C%20a%3Avisited%20span%20%7Bcolor%3A%20red%20%21important%3B%7D%0A%0Aa%3Ahover%2C%20a%3Ahover%20span%20%0A%7B%0A%20%20color%3A%20%239999ff%20%21important%3B%0A%20%20text-shadow%3A%200px%200px%208px%20%239999ff%20%21important%3B%20%0A%20%20transition%3A%20text-shadow%20.3s%20%20linear%20%21important%3B%0A%7D%0Aa%3Aactive%2C%20a%3Aactive%20span%20%20%7Bcolor%3A%20Silver%20%21important%3B%7D%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Инициализация

Выделить код

Код:

// ЛКМ переключить настройки кнопки и стиль ..........
this._handleClick = function() setStyleForPages(void(run.value = !run.value));


// Создать настройки кнопки в about:config если они не существует ..........
var s = "CB" + _id.slice(20) + ".setStyleForPage";
cbu.isPref(s, false);
var previousUri = "CB" + _id.slice(20) + ".previousUri";


// Иконка для включеной кнопки  ..........
var icon = self.ownerDocument.getAnonymousElementByAttribute(self, "class", "toolbarbutton-icon");
var styleImage = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAC8ElEQVQ4jY2RaSzbcRjHf3S2N9sLU1UqC1lshFmMycZeOFpsUxbX3HHNimxZmGsZ3eIYosx9DEsakcWMTRwVXbQ2Vtrq3O3866q7rjl3WJ+9ECIxme/7z+f5PvkidCDqBYOnQ6snWhLYs8sFnfI/2e3zP+ktMytBzHE+8ZFIBx0nOhlih8Qvcknn9BZ0yLbAukRarRkuNEAIKR2HVzLOEucwB1a+W+SPMB80TvdeTx9ikvy71I53PbEv8L14/ZdhQl82KUx4LZ41O0LJljRo0USWBkmSMvPMUa5ZmrTVLBlrvZos4epHD1Xtw9rRIr0o1uxgcffyIjGYb67h12GUz1mQO+V945Du99iej5PkOZbL1iM+zEFYzRwYPR6uJfiJYvYFV5IHSuqH13bKu5ZXX7bNzxVz5UscyRr4lWICVXLruct0SZ1zxaTChoFJA6umQMO7Jwm5V59EyKrtBInG96sULK1TC7GPGq6fvAh32l3VqZyH+a2zS8GvsH7NAAHNt3IabqRg/QRvob1nuQxIXj2M3er+POOIt5N9OZz5BXUnrsleI7xD88WgIqyXVjo6TskdW6FkS+cJHnxLglu3i1fJBOgFinb/f9Eys13IXYCkxpmNoKKRJoQQwtu1mLpkiruq2hfBJ3cUAiunAO8pSEAIIVWXrtt3C8bAMEjU8N9VCD5ffX1eyyCYOQWMpylQ734B2DYqUOesDfHO/sNnbNlHz6vmzTe3oIv7bzGkW8897/F6Ii12thsZoBhiweabSOgOv6QoI+slHynQj+itCaiYBHUXXhKLjBvdamQA5FIBYlUBUnVBnmEFTeRTk4dAvLvQFO8miLJLxVYdUrDNs1SeK9sap1AIa+FgVuhEYFvjFIcE9unYGjVLCtRMDBzTMDAJ7e1sJuOmNsqDAehE+BGDYDkGwQQNB+9uEg8L/hWuh9YzXoje75lYXViIVwFpiBKwqbgdFkX5ybEECCH02V07jkVRHmNb4xQsirJsD/4L5j+KqY53NfUAAAAASUVORK5CYII=";


// Получить настройки кнопки и css код из вкладки Справка ..........
var css = self.Help;
var run = Application.prefs.get(s);


// Переключить css стиль для страницы ..........
function setStyleForPages(reason) {
   if ( reason == "destructor" ) return; 

   var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); 
   var uri = makeURI("data:text/css," + encodeURIComponent(css)); 
   
   try { sss.unregisterSheet(Services[_id + "previousUri"] || uri, 0) } catch(e) {};
   Services[_id + "previousUri"] = uri;
   
   run.value && !reason && sss.loadAndRegisterSheet( uri, 0 );
   icon.src = run.value ? styleImage : self.image;
};
addDestructor(setStyleForPages);
run.value && setStyleForPages();


Спрятать панель дополнений
скрытый текст

Выделить код

Код:

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%3E%u0421%u043F%u0440%u044F%u0442%u0430%u0442%u044C%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0434%u043E%u043F%u043E%u043B%u043D%u0435%u043D%u0438%u0439%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB30lEQVR42mNkoBAwInPWHbjdsHDHrVsbO7yXkWVA7fwT/+XlxRjmrjq39Om961mPdtV+IsmA3Il7/jvbazL8/PmHYcPOG3dPX3oUfWdN6kmiDUhq2/jf3kqD4f9/EO8/w/Xbb37vOPqo7uWtI10vjk/7R9CA8OoV/20tNUF6Gf79/8fw7+9fhs9ffjDsO/V834P7j2Lvbyl+hteAwJKF/63MdYAu+M/wF6j5798/DL9//WL4/fsnw437n99cvf856ebKpM04DfArmPff1FSP4f+//xDNQI1fPn9lePf2PcPz5y8Z7j16/Z+BS3Ly/U35+VgNcM2Y8V9DU4fhz58/DN9//GL4/PkL0IBPDJ8/fWD4+P4dw7dv3/7/5xCZ9GBbRQFOAzS1DcEG/Pz5k+Hrt+9AzR8ZPn14x/D+w9tXHz//SHq8t30rTi945s76b2BgwfDr92+gbUDNX74yfPjwhuHurSs7Xz+5n/DmwooXeAPRp2jOf3NTe4bv338ANX9huPvw5s9LJ49Uvn9wccLXJ6f/E4xG39K5/20tXBjeAP18YP+Wa7dOH4/6cH3LRaITklfZnP+y8ir/t65aOPPtnctF35+e+c5AAKAYYJvfsfDKzr1r3t/YvZmQRqwGkAMAJ5ELIPTev5gAAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u0421%u043F%u0440%u044F%u0442%u0430%u0442%u044C%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0434%u043E%u043F%u043E%u043B%u043D%u0435%u043D%u0438%u0439%20%u043E%u0442%2011.02.2014.%0A%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20pref.value%20%3D%20pref.value%20%3F%20false%20%3A%20true%3B%0A%7D%3B%0A%0A%0Avar%20right%20%3D%200%3B%20//%20%u043E%u0442%u0441%u0442%u0443%u043F%20%u0441%u043F%u0440%u0430%u0432%u0430%20%u0432%20px%20%20%0A%0Avar%20s%20%3D%20%27CB.hideAddonBar%27%0Acbu.isPref%28s%2C%20false%20%29%3B%0Avar%20pref%20%3D%20Application.prefs.get%28s%29%3B%0A%0A%0Afunction%20toggleButton%28%29%20%7B%20%20%20%0A%20%20%20document.getElementById%28%22ctraddon_addon-bar%22%29.setAttribute%28%27hideElements%27%2C%20pref.value%20%29%3B%20%20%20%20%20%0A%20%20%20%20%0A%20%20%20var%20icon%20%3D%20self.ownerDocument.getAnonymousElementByAttribute%28%20self%2C%20%22class%22%2C%20%22toolbarbutton-icon%22%29%3B%0A%20%20//%20icon.style.transform%20%3D%20pref.value%20%3F%20%22rotate%28180deg%29%22%20%3A%20%22%22%3B%20%20%20//%20%u043F%u0435%u0440%u0435%u0432%u0435%u0440%u043D%u0443%u0442%u044C%20%u0438%u043A%u043E%u043D%u043A%u0443%0A%20%20%20%0A%20%20%20self.tooltipText%20%3D%20pref.value%20%3F%20%27%u041F%u043E%u043A%u0430%u0437%u0430%u0442%u044C%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0434%u043E%u043F%u043E%u043B%u043D%u0435%u043D%u0438%u0439%27%20%3A%20%27%u0421%u043F%u0440%u044F%u0442%u0430%u0442%u044C%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0434%u043E%u043F%u043E%u043B%u043D%u0435%u043D%u0438%u0439%27%3B%20%20%20%20%20%0A%7D%3B%0AtoggleButton%28%29%3B%0AgPrefService.addObserver%28%20s%2C%20toggleButton%2C%20false%20%29%3B%0AaddDestructor%28function%28%29%20%7B%20gPrefService.removeObserver%28%20s%2C%20toggleButton%2C%20false%20%29%20%7D%29%3B%0A%0A//%20%u0421%u0442%u0438%u043B%u044C%20%u0434%u043B%u044F%20%u043F%u0430%u043D%u0435%u043B%u0438%20%u0434%u043E%u043F%u043E%u043B%u043D%u0435%u043D%u0438%u0439%20%20................................%0Avar%20uri%20%3D%20makeURI%28%27data%3Atext/css%2C%27+%20encodeURIComponent%28%27%5C%0A/*%20%u043C%u0438%u043D%u0438%u043C%u0430%u043B%u044C%u043D%u044B%u0439%20%u0438%20%u043F%u0440%u043E%u0437%u0440%u0430%u0447%u043D%u044B%u0439%20*/%5C%0A%23ctraddon_addon-bar%20%7B%5C%0Awidth%3A%20auto%3B%5C%0Aposition%3A%20fixed%3B%20bottom%3A%20906px%3B%5C%0Apadding-top%3A%202px%20%21important%3B%5C%0Apadding-left%3A%202px%20%21important%3B%5C%0Apadding-right%3A%200px%3B%5C%0Aright%3A%20%27%20+%20right%20+%20%27px%3B%5C%0Abackground%3A%20rgba%28120%2C120%2C250%2C.4%29%20%21important%3B%5C%0A%7D%5C%0A/*%20%u0435%u0441%u043B%u0438%20%u043E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0443%20%u0438%u043D%u0441%u0442%u0440%u0443%u043C%u0435%u043D%u0442%u043E%u0432%20*/%5C%0A%23ctraddon_addon-bar%5Bcustomizing%5D%20%7B%5C%0Abackground%3A%20-moz-Dialog%3B%5C%0Aborder-radius%3A%207px%200%200%200%3B%5C%0Aposition%3A%20fixed%3B%5C%0Avisibility%3A%20visible%20%21important%3B%5C%0A%7D%5C%0A/*%20%u0443%u0431%u0438%u0440%u0430%u0435%u043C%20%u043B%u0438%u0448%u043D%u0438%u0435%20%u044D%u043B%u0435%u043C%u0435%u043D%u0442%u044B%2C%20%u0443%u0431%u0438%u0440%u0430%u0435%u043C%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u043F%u0440%u0438%20%u0434%u043E%u0431%u0430%u0432%u043B%u0435%u043D%u0438%u0438%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%u0430%20hideElements%20*/%5C%0A%23ctraddon_addon-bar%20dropmarker%2C%5C%0A%23addonbar-closebutton%2C%5C%0A%23ctraddon_addon-bar%3Anot%28%5Bcustomizing%5D%29%5BhideElements%3D%22true%22%5D%20label%2C%5C%0A%23ctraddon_addon-bar%3Anot%28%5Bcustomizing%5D%29%5BhideElements%3D%22true%22%5D%20hbox%2C%5C%0A%23ctraddon_addon-bar%3Anot%28%5Bcustomizing%5D%29%5BhideElements%3D%22true%22%5D%20.statusbarpanel-iconic%2C%5C%0A%23ctraddon_addon-bar%3Anot%28%5Bcustomizing%5D%29%5BhideElements%3D%22true%22%5D%20toolbarbutton%3Anot%28%5Bid%3D%22%27%20+%20_id%20+%20%27%22%5D%29%2C%5C%0A%23ctraddon_addon-bar%3Anot%28%5Bcustomizing%5D%29%5BhideElements%3D%22true%22%5D%20%23UserScriptLoader-icon%20%7B%5C%0Adisplay%3A%20none%20%21important%3B%5C%0A%7D%5C%0A%5C%0A%23ctraddon_addon-bar%20%3E%20%23status-bar%20%3E%20.statusbar-resizerpanel%20%7B%5C%0Aposition%3A%20relative%3B%5C%0Amargin-right%3A-4px%3B%5C%0A%7D%5C%0A%27%29%29%3B%0A%0Aconst%20sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%3B%0Asss.loadAndRegisterSheet%28uri%2C%20sss.AGENT_SHEET%29%3B%0AaddDestructor%28function%28%29%20%7B%20sss.unregisterSheet%28uri%2C%20sss.AGENT_SHEET%29%20%7D%29%3B%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/*Addon%20Bar*/%0A%0A%23addon-bar%7B%0A%09%22-moz-appearance%3A%20none%20%21important%3B%0A%09border%3A%201px%20solid%20rgba%2810%25%2C10%25%2C10%25%2C.4%29%20%21important%3B%0A%09border-bottom%3A%20none%20%21important%3B%0A%09border-right%3A%20none%20%21important%3B%0A%09border-radius%3A%204px%200%200%200%20%21important%3B%0A%09background%3A%20rgba%28207%2C%20219%2C%20236%2C%20.85%29%3B%0A%09position%3A%20fixed%3B%0A%09bottom%3A%200%3B%0A%09right%3A%200%3B%0A%09height%3A%2022px%3B%0A%09width%3A%20auto%3B%0A%09min-width%3A%2018px%3B%0A%09vertical-align%3A%20top%3B%0A%09padding-left%3A%200%3B%0A%09margin%3A%200px%3B%22%0A%0A%7D%0A%0A%23browser-bottombox%7B%0A%09border%3A%20none%20%21important%3B%0A%7D%0A%0A%23addon-bar%20.chromeclass-toolbar-additional%7B%0A%09vertical-align%3A%20top%3B%0A%09%0A%7D%0A%0A%23addon-bar%20.toolbarbutton-1%7B%0A%09vertical-align%3A%20top%3B%0A%09padding%3A%201px%20%21important%3B%0A%7D%0A%0A%23addonbar-closebutton%7B%0A%09display%3A%20none%3B%0A%7D%0A%0A%23main-window%5Bsizemode%3D%22maximized%22%5D%20%23browser-bottombox%20%23addon-bar%7B%0A%20%20margin%3A%200%20%21important%3B%0A%7D%0A%0A%23status-bar%7B%0Aheight%3A%2022px%3B%0Aborder-bottom%3A%20none%20%21important%3B%0Amin-width%3A%2018px%3B%0Avertical-align%3A%20top%3B%0Apadding-left%3A%200%3B%0Amargin%3A%200px%3B%0Abackground%3A%20transparent%3B%0A%7D%0A%0A%0A%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Инициализация

Выделить код

Код:

// Спрятать панель дополнений от 11.02.2014.

this.onclick = function(e) {
     if ( e.button == 0 ) pref.value = pref.value ? false : true;
};


var right = 0; // отступ справа в px  

var s = 'CB.hideAddonBar'
cbu.isPref(s, false );
var pref = Application.prefs.get(s);


function toggleButton() {   
   document.getElementById("ctraddon_addon-bar").setAttribute('hideElements', pref.value );     
    
   var icon = self.ownerDocument.getAnonymousElementByAttribute( self, "class", "toolbarbutton-icon");
  // icon.style.transform = pref.value ? "rotate(180deg)" : "";   // перевернуть иконку
   
   self.tooltipText = pref.value ? 'Показать панель дополнений' : 'Спрятать панель дополнений';     
};
toggleButton();
gPrefService.addObserver( s, toggleButton, false );
addDestructor(function() { gPrefService.removeObserver( s, toggleButton, false ) });

// Стиль для панели дополнений  ................................
var uri = makeURI('data:text/css,'+ encodeURIComponent('\
/* минимальный и прозрачный */\
#ctraddon_addon-bar {\
width: auto;\
position: fixed; bottom: 906px;\
padding-top: 2px !important;\
padding-left: 2px !important;\
padding-right: 0px;\
right: ' + right + 'px;\
background: rgba(120,120,250,.4) !important;\
}\
/* если открыть настройку инструментов */\
#ctraddon_addon-bar[customizing] {\
background: -moz-Dialog;\
border-radius: 7px 0 0 0;\
position: fixed;\
visibility: visible !important;\
}\
/* убираем лишние элементы, убираем кнопки при добавлении атрибута hideElements */\
#ctraddon_addon-bar dropmarker,\
#addonbar-closebutton,\
#ctraddon_addon-bar:not([customizing])[hideElements="true"] label,\
#ctraddon_addon-bar:not([customizing])[hideElements="true"] hbox,\
#ctraddon_addon-bar:not([customizing])[hideElements="true"] .statusbarpanel-iconic,\
#ctraddon_addon-bar:not([customizing])[hideElements="true"] toolbarbutton:not([id="' + _id + '"]),\
#ctraddon_addon-bar:not([customizing])[hideElements="true"] #UserScriptLoader-icon {\
display: none !important;\
}\
\
#ctraddon_addon-bar > #status-bar > .statusbar-resizerpanel {\
position: relative;\
margin-right:-4px;\
}\
'));

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) });

Отсутствует

 

№1021408-06-2016 16:41:52

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

Re: Custom Buttons

Ultima2m

скрытый текст
1. Кнопка от Infocatcher'а работает:

Выделить код

Код:

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%3EStyle%20toggler%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACwUlEQVQ4jX3RS2hcVRjA8VNXUgmEQLEKbqRQzO1MhYgu3NhNNkVKdSFtkbpwIy2Fapm6FCpCdw10oW2iaFalSMFS+vBFGDKgqGDakuTOzL039/0899XMnYxD/y5iM2lFP/iW/9858AkhhACOP6iYu3/ri7luY2fH/GhCu9vYo1m/3GzJbP1SmpaX07S4nCSbG8fZ3GAwPC4eDdDy7t5G/+pN7C/fZenE8+i6RVZukMiSOM6JoowoTPEDiecnlOWgtQWEf3y3oM8ewF+cYfXi62iaSV5USFmSJMUW4D8C3Jii6De3AOPM0/jfnka9UEfrGuT5/8UJthORF9UIiM5MsHTquc2Xn4zTAcH22I2xnJA07Y2ATmMPum5tfjutSPIhfpAQZ0M6n+/H9TO8uI/jZ9hOxJoZIuX6CAjuL/bzcoP0AVj3fsCYfwP/6mGcsIdz6QD6/AcYn76KvnANM67QTZ9QliNgOGQhzjbQLr5AcGWaePk2Yf4QffEa7pUGTvYQ59fv0T85iPrWLnTNIoy2AYMhzVhWBDfPYp7bzdrsezgrS3RmP8Rp3UBb+pPlc++zcvBZjPMn0XQXL8y3AQOacZQTyT6BrHCvz+B8/TGrJ17DjUraFxqszX6GYcd0LInatXG9dAT0BzSjMB2dKixw5AbazFlML8dwJbod09Fc1K6Fqpo4rhwBVX/Y9AP52KlsJ8L0MnTTQzc8ul2XdtdmVTVZbVsYVnR9C+hVfzW9IHk8NsN/xcsrGkGYcufHxfb09PQzI6A3bHpu/J+x2rVQ2xa//X6Pn35utaempnaK7SPlejMv+qRZjzhZJ0xKgrDA83McT2I7EsfL+Gb+qjY+Pj4uhNjxzwohhNgxNja2t1Z7+ZCi1N/et2//O4pSP6IotaOTtdqxycnaMUWpHVXq9SNCiFeEEC8JIV4UQkwIIZ76G0fzzcr8MFGQAAAAAElFTkSuQmCC%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%0Athis.toggleStyle%20%3D%20function%28enable%29%20%7B%0A%20%20%20%20var%20cssURI%20%3D%20makeURI%28%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28this.Help%29%29%3B%0A%20%20%20%20var%20sss%20%3D%20Components.classes%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D%0A%20%20%20%20%20%20%20%20.getService%28Components.interfaces.nsIStyleSheetService%29%3B%0A%20%20%20%20this.toggleStyle%20%3D%20function%28enable%29%20%7B%0A%20%20%20%20%20%20%20%20if%28enable%20%3D%3D%20undefined%29%0A%20%20%20%20%20%20%20%20%20%20%20%20enable%20%3D%20%21this.checked%3B%0A%20%20%20%20%20%20%20%20this.checked%20%3D%20enable%3B%0A%20%20%20%20%20%20%20%20document.persist%28this.id%2C%20%22checked%22%29%3B%0A%20%20%20%20%20%20%20%20var%20has%20%3D%20sss.sheetRegistered%28cssURI%2C%20sss.AGENT_SHEET%29%3B%0A%20%20%20%20%20%20%20%20if%28enable%20%26%26%20%21has%29%0A%20%20%20%20%20%20%20%20%20%20%20%20sss.loadAndRegisterSheet%28cssURI%2C%20sss.AGENT_SHEET%29%3B%0A%20%20%20%20%20%20%20%20else%20if%28%21enable%20%26%26%20has%29%0A%20%20%20%20%20%20%20%20%20%20%20%20sss.unregisterSheet%28cssURI%2C%20sss.AGENT_SHEET%29%3B%0A%20%20%20%20%7D%3B%0A%20%20%20%20this.toggleStyle%28enable%29%3B%0A%7D%3B%0Aif%28this.checked%29%0A%20%20%20%20this.toggleStyle%28true%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%0Athis.toggleStyle%28%29%3B%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

2. Думаю, bunda1 сам поправит, но раз зашел, вот пока

Выделить код

Код:

this._handleClick =()=> cbu.setPrefs(s, !cbu.getPrefs(s));

var right = 0; // отступ справа в px  

var s = 'CB.hideAddonBar'
cbu.isPref(s, false );

function toggleButton() {   
   var val = cbu.getPrefs(s);   
   document.getElementById("ctraddon_addon-bar").setAttribute('hideElements', val );     
    
   var icon = self.ownerDocument.getAnonymousElementByAttribute( self, "class", "toolbarbutton-icon");
   icon.style.transform = val ? "rotate(180deg)" : "";   // перевернуть иконку
   
   self.tooltipText = val ? 'Показать панель дополнений' : 'Спрятать панель дополнений';     
};
toggleButton();
gPrefService.addObserver( s, toggleButton, false );
addDestructor(function() { gPrefService.removeObserver( s, toggleButton, false ) });

- заменить все до

Выделить код

Код:

// Стиль для панели дополнений  ................................

Отсутствует

 

№1021508-06-2016 17:32:43

Ultima2m
Участник
 
Группа: Members
Откуда: Россия
Зарегистрирован: 28-11-2013
Сообщений: 608
UA: Firefox 47.0

Re: Custom Buttons

Спасибо, turbot
Обе кнопки работают.
Еще остался вопрос mssign к которому я присоединяюсь о кнопке от bunda1
Открыть страницу или выделенную ссылку в другом браузере
В принципе не самая необходимая кнопка, но все же.

Отсутствует

 

№1021608-06-2016 18:41:28

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

Re: Custom Buttons

Ultima2m пишет

Еще остался вопрос mssign к которому я присоединяюсь о кнопке от bunda1
Открыть страницу или выделенную ссылку в другом браузере
В принципе не самая необходимая кнопка, но все же.

Открыть страницу или выделенную ссылку в другом браузере

Добавлено 08-06-2016 18:41:44

Открыть страницу или выделенную ссылку в другом браузере

Отредактировано bunda1 (08-06-2016 18:41:44)

Отсутствует

 

№1021708-06-2016 19:05:21

Ultima2m
Участник
 
Группа: Members
Откуда: Россия
Зарегистрирован: 28-11-2013
Сообщений: 608
UA: Firefox 47.0

Re: Custom Buttons

bunda1, спасибо
Все ОК

Отсутствует

 

№1021808-06-2016 19:41:59

bezuma
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 26-01-2014
Сообщений: 256
UA: Firefox 47.0

Re: Custom Buttons

bunda1
Подскажите, пожалуйста, что можно сделать с кнопкой FF Exp Imp CB? После обновления вообще не реагирует :(
И Переключать проигрывания анимации(gif) "серый" - не могу понять, работает или нет, вроде гифки застывшие

Отсутствует

 

№1021908-06-2016 19:52:20

Ultima2m
Участник
 
Группа: Members
Откуда: Россия
Зарегистрирован: 28-11-2013
Сообщений: 608
UA: Firefox 47.0

Re: Custom Buttons

bezuma пишет

что можно сделать с кнопкой FF Exp Imp CB

Есть схожая по функционалу

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

Выделить код

Код:

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%3ECB%20Button%20Utility%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAFxUlEQVR42r2We0xTVxzHv/cWWqCUgrwEBEoBxShCwLjN59wyncwt2Sb/SDCZ2f5w2x9sS6ZzT6fJ1GRz02wmLup8JzjdlE3FGd1LcWwy5GHRFqR2LUgL0tLSSx/37ncv1MEQy5z1tKf39pzT3+f7e5x7ynx0qe1RhmHeYIFZDAO6gMG9N4EXQG/UCoKw/q1ibe3wydOL/lhNl5pFp2f+HBhjSEB1GMvMS46UKxQsAxJz73R6uXwCbG7PgF8QzpKApYG5CyuaeW3xJL/byzm7DXaup81RQEK6mE1117kUpUJekh7PKMNl5D4zzGDgkxk1MhpOXRDQM+DDqRvdQg/n8awp1kaIc2UrX5Z+snnqRsQmqODz+6D7xWB8eM9UDfNxfTs/JTYKcyfGMuyQ97cBZFBgxAsDnkZ5fkgAMwijt7RWHBfnxe8euq/p7BUs/R6sLspiRfjEuChkZGagtr4FmzQboZKpYOww9nZes5UyWy63CxpVJHLVUbfhokHHgBcuj4/UDgYgMpxFtCKMxnjqXlCIqWAYKBXhUMgYaY0oQBxv73PDyvlQv20zRHh2thYajQZyuQK7Dx7Beu9G9Hkc3pu3OtcynzUYhaQIOeIjwsgIC4/fD32XE9esfbCTgECbkRSD7IRofHPFAo7GI+RhJI6HigTMz06QxA1GAnB5/ZAdehKnzfMxqzAPuTk5UKvVcDgc0LW04FKjHsvby/HU2UcY5vPGG4KajMnJCzHUxlv92HepHRpKS1lhOpQkzOnxo+pKB0ryUrC3zoh+8q50RhrOtFlRY+zB2oWTkUqeeny8VMTC/kWYnBYBfbcap1qn4IXlz8Pr9cBgMECna4GdE3Bg1xdSvpkdzSYhjtSLPxQN/NRmw7EmM1Y9pEVRehwG/KLRwSj4ycMva6/jpp3D47lJ0FmdiJKxWEZiosiGj+fB7XkCOQRPz8xC6vTncOK74zj0exyK8nNh0BtGwCUBu6+YhaTIcIgF6PL6cLTJInm1ZkEuMuOUUsEFqlLM7/bf2lBv7kVOvBJWlwclU5IxPyuRIsjCtnPhCDh6/wTUhTh0YBe+10+WbAyHSwL2X7UIaUqFJICj3FVd7cSRRjMqZmdjjiaeoEMLqftIwKfn9TDdcqM0Pw0tVCf1nXasLNYg4fgzd4R3XT0Gy1/X0djqwooNzaMeMkylvkPIUEVAJuaOYJfJ4PtndJieHINXZ2uRQbvDQ2mwc15pzbaLbehxDaBiTg7qO+zYWtOKrc43kTspckx4E8GpJZdvaO4aJeBoa6eQQxDZUKLFrfetrgOVVAcxVIAp0ZHgaC+KRblsWiq+qjfhJEVJTEEvPXTWdVXcM1wSUNXeJeSplZDJmMCzB/1UC3qbEya7G25Ki4oKTEv1oKFKt/RxsDg4aR379ZK7hj0YXBJQbbTy0+OjEcb+cwiIN+KuEKvaR5UfzrLiPJ0ygjROtzixoeh/eX6b9YPJxhUnxsiHCxguZOS5MNiOfVgYFB7/4o8DJZrECARpzGFDR/XCtAnzlGEyxXgOwsMfFLDB4EvernOfMHafXZGXujSogG0NxpmxirA1iRHhcyi80oE81uKbOxYkBoMnvnSu08p5z3dz3ncrCjS6oAKC+zzY9r0zjSc4czd4+R32+X0RMA64QHD2v8LHJSCU8KACQhX2cQl4EPAxBTwo+B0F/Lp9Ni+X+Zi09MyQw0cJsJ5bKSjUGXBY6pAy7VmwTt1YcPEJx91XAeaqJXvjtIvLI+Oy0Ge+CN5lgirjMdhaq0Pi+QgBBJ/Ihkd1JOeXgeG99LeYQ19HPZzdrbDautCg7wsJfLiA91QpRetUyfkSHD434O1Hn7UFDU3NmLvqQkjgw1NQ6m/bWcnSsTsId8JtN8FltyBx8ZGQwYcLqHRceKVUOSEbrp5WuHpN4P3eg2lPnywLJTwg4BPqr1E/LHZKRwFdtxPcHGp4QID4X2ML9dcfBPDf7W8EVFOef2cPDQAAAABJRU5ErkJggg%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B%22use%20strict%22%3B%0A%0Aconst%20str%20%3D%20%22custombutton%3A//buttons/Firefox/%22%2C%0A%20%20deleteId%20%3D%20%22custombuttons-contextpopup-remove%22%2C%0A%20%20toggleEnabledId%20%3D%20%22custombuttons-contextpopup-toggleEnabled%22%2C%0A%20%20converter%20%3D%20Components.classes%5B%22@mozilla.org/intl/scriptableunicodeconverter%22%5D.createInstance%28Components.interfaces.nsIScriptableUnicodeConverter%29%2C%0A%20%20stream%20%3D%20Components.classes%5B%22@mozilla.org/network/file-output-stream%3B1%22%5D.createInstance%28Components.interfaces.nsIFileOutputStream%29%2C%0A%20%20fp%20%3D%20Components.classes%5B%22@mozilla.org/filepicker%3B1%22%5D.createInstance%28Components.interfaces.nsIFilePicker%29%2C%0A%20%20ios%20%3D%20Components.classes%5B%22@mozilla.org/network/io-service%3B1%22%5D.getService%28Components.interfaces.nsIIOService%29%2C%0A%20%20sss%20%3D%20Components.classes%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Components.interfaces.nsIStyleSheetService%29%2C%0A%20%20alertWarn%20%3D%20Components.classes%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Components.interfaces.nsIAlertsService%29%2C%0A%20%20tt%20%3D%20%22%5Cn%20%20%20%5Cu2022%20Ctrl%20+%20left-click%20for%20Settings%5Cn%20%20%20%5Cu2022%20Right-click%20menuitem%20to%20enable/disable%20toolbar%20button%22%3B%0A%0Aconst%20addNewBtn%20%3D%20%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAASUlEQVR42mNkoBAw0s6ABob/%5C%0AaHxGkg1I8zEGM2dtOTskDED3MxCgGIBpASOGATANhACyi6hrAGVeoDgQB6UB2PxMvAFEAooNAAC7izYR2pQ0nAAAAABJRU5ErkJggg%3D%3D%22%3B%0A%0Aconst%20customBtn%20%3D%20%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9i%5C%0AZSBJbWFnZVJlYWR5ccllPAAAAjVJREFUeNqcUkuIUmEUPl4fML6bBsFRacRF2EaCcRO48bFLEIJcBIJLxb2b2UWLkIEgQQjauVFaKmgYuclUTMUHK%5C%0AoaKE4GPxnxh5r3ezh0QHJFmmA/OPZfDfx7fdw7AfojQ7qGx4QawdgMymeyRyWR6IZVKucFg8N10Ov0Ot4VGozmNRCLx5XL5F/HHbrefYZh7m1yWWq%5C%0A0+TafTn2kEdqXr9TrtcDje3JR4xRHH1QYCgXOz2Wzs9/sQj8dBIpEATtGrVqu9yWSywmdLNGq3AAeNsFgsz202mxk7QzKZBK1WCzqdjtHjKUmSx41%5C%0AGo4L+slQqpYvF4keKoibXpnA6nWfY+VehUKBSqRTJ0Oh2u3Qul6MHgwE9Ho9pLMD4H16v95zD4RxuU6BbrdYlPh5g8tfFYvET9XiIiRylUsnQgPl8%5C%0ADtgVhsOheL1eS6LRaGy1Wg02FAA5VmKxWB1/yUQioWOxWHKXy2XEYsDQEggEgKJCJpOBcrnMbOliW4MNSOaDCbVKpVISCoVGHBnQQygUgnK1AkeH9%5C%0Az+Ew+HX2xoQezZDjUaj3ygDiMViaLfbV8kK+TGw2WysJzzafry3QK1W+9Lr9RpIDbLZLEhE4vedTsdvMBieuN3ulwRBPLh2B7uYzWYXzWZzjBoc5P%5C%0AP5MJ70K1xfEsVc4cpNeDcnuLFvzM3978gILpcrRy/w+XybGE+v1z/z+/2frFarG9d5AHeBSqUyeDyetwqF4jHcFXw+/4TH44n+CTAA3Ccog288LRA%5C%0AAAAAASUVORK5CYII%3D%22%3B%0A%0Aconst%20defaultFavicon%20%3D%20%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACCUlEQVR42pWSS2hTURC%5C%0AGv5Pk5mFi+khUbKQ+kEpsVSiChbixiODKnVu3Lly4VOnCggp14UJ04UoRKYJIN4LQIEWLNAsR1EqRIlqCaat5p6ZJ7mM8NGAJbQq9cLjnMjPff/+Z%5C%0AUWzxlG8gtg1dY6h2OWpLwC1DTFOIjFrbBxSuIb7BXkwryMr7OWIPN89tD7iO7Lx6QXtwsXh7gt7tAor3uyR85cTafenOLD0j2c0Bzl0t0gCrAnYAn%5C%0AFAHZtkieHEIb39lLWn1Y5Tf4ym8fSf5k5xE7fBRWawjGqnsMcSJ7cPVfwSHEuLxIeTx9O1FuZsArE5WPqWxqy7EHcRteki/nCU/X2laqD/aLer4AY%5C%0AxTETBXQYpIzdS/42oCXI5WNfQ7BDU/yxO/yLxZYPBJVf33VdIzNxI9+A97wDA2mtWTdEoO2ZkS31/lSEw2xVsakxv1ifeQQXAgvBFQ09OY+kt6usD%5C%0AQ6/W6FkDxcVwa83NEz3W3RkSfhuLr0zzHnklLTctH4UVC1I8U4XgAZek63Qa0G6WP6JVeSNY4+MBqD1i+F5OQWiLQ6cHMQjWvpQNCYJfCF1Tkvth8%5C%0A/mAxPNXGQuZmt0QCReySXp6MQ76gh1KHcAfsj7tQpmJm2ubsuzaAn5eV+B0hW4aB562xt2eQPVEtsgzD7QDfLmmr2vfR8c1XPHkasXRvzqfW4/8Ay%5C%0AGTOHzckbOMAAAAASUVORK5CYII%3D%22%3B%0A%0Aconst%20iconID%20%3D%20%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABKklEQVR42mNkQAMNDAxCQMoTiB2%5C%0ABWAEq/ACI9wPxdqD8O2T1jGiao4HUEgb8IAaobimGAUDBGiDVzEAcqAWqb4EbQKTNWF3CCPXzW5ho/f//YDqHkZFhCpQNA7lAMV4gzY4QEmZEtx1m%5C%0AgCtQ8W4o2xLIPg5lJwDZUghDYkAGzAEyktENMAQqPA9l6wDZEkB6D6Yhc0EG7AGynfEZYAxkawHpxVC+A5CvC6RFGBj2Em2AIZCeg8Q3BtLSUAMIe%5C%0AgGkwQBIz8U0YC7OQEQ2wAjIPoekGRQTUC/E4IxGkMKzaNEI8jso4chDbGdgA0UjekJ6A8S3gRikFWQyKOF/higGR50UFLPBEhLM9AZoUv4F1cAA1Q%5C%0ATi/2SAJFkQnxdCoyZlJEPIz0xIhpCUnQFx83abgfUZOQAAAABJRU5ErkJggg%3D%3D%22%3B%0A%0Aconst%20saveAll%20%3D%20%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACOElEQVR42mNkwAJ+7xf7//3tKw%5C%0AZeIUELRqf3JxnwAEZkzrtlwnv/MzE6/WfkWCwS/iTu7RLO/wzMPAwc/z4Lc0f/eIfTgP/7BM0PXDY5ofB9N8M/EB8k+BcoyQw1mEWd4SurLIO97lk%5C%0AUFzX9b/oPNmBznc7/////MbAzfIdoBoI/P77Abfnzn4XhH9A0kOLA7icQV88HKn0EdcH6Ss3/yM76/f0jg2vTXYZ/f39j9fdUgQkMdTp1DNFXoiEG%5C%0ArCzFNMCj6SrD/79/MDQzsbAzCEfyMTBwADkbGBjBBiwrRDXgF9AAz6ZLWF1QIlHCsFRnKdj2pYxLIQYsytPAMMC75SLYBVMkpzDkPM+By0lFSTEwC%5C%0ADAwvJ79eouoqKgv2IB5WWgGfPvI4N95kUEyQQwcJVXbq8CGeEp6MlzUuQi2fcKbCQgDZqWhG/CJIaDrLIPMf0kGBjeggAoDw5YNWxh8rHwYGMQZGB%5C%0A5PfszAysq6RUJCAmLAtCR1DAMCu08zzJSZxtDm0cbA8AQoyAxJGyDbWx+2MrCwsGyRkZGBGDApDpsBx8FhME95HkObfhtYM4MqA8OdnjtgNSAXyMv%5C%0ALQwzoi8JmwGF4NGoc12Bg6IHYXnuzFm6AsrIyxIAJ+UHXfj27oomIhc9AA/ajpAOdPToMV1yuwPnMzMxbNDU14QaEAqnGH28fqYGywt/fP5i8q5cz%5C%0AYUtIMABygY6ODsSAJUuWOKMrUFHT2PPvzy90YZhX/79//36dt7d3KACPfPJHOU7GxAAAAABJRU5ErkJggg%3D%3D%22%3B%0A%0Apref.root%20%3D%20%22extensions.custombuttons.CB_Button_Utility.%22%3B%0Apref.defaults%20%3D%20%7B%0A%20%20alertDelay%3A%204%2C%0A%20%20alertWarning%3A%20%22chrome%3A//custombuttons/skin/cbicon.png%22%2C%0A%20%20buttonWarning1%3A%20%22Do%20not%20disable%20this%20button%22%2C%0A%20%20buttonWarning2%3A%20%22Button%20not%20Initialized%22%2C%0A%20%20copied%3A%20%22Copied%20to%20clipboard%22%2C%0A%20%20copy%3A%20%22Copy%20to%20clipboard%22%2C%0A%20%20custombuttons%3A%20%22Custombuttons%22%2C%0A%20%20dateTimestamp%3A%20true%2C%0A%20%20disableLabel%3A%20%22DISABLE%20Button%22%2C%0A%20%20enableLabel%3A%20%22ENABLE%20Button%22%2C%0A%20%20getIdLabel%3A%20%22Get%20Button%20ID%22%2C%0A%20%20id%3A%20%22Id%22%2C%0A%20%20name%3A%20%22Name%22%2C%0A%20%20no%3A%20%22No%22%2C%0A%20%20positionAlert%3A%205%2C%20%20//%201%20%3D%20Top/Left%2C%202%20%3D%20Top/Right%2C%203%20%3D%20Bottom/Left%2C%204%20%3D%20Bottom/Right%2C%205%20%3D%20Center%0A%20%20returnString%3A%20%22//%20Disabled%20by%20CB%20Button%20Utility%20button.%20Remove%20this%20line%20to%20enable%20button.%22%2C%0A%20%20saveAllHTML%3A%20%22Save%20All%20Buttons%20to%20HTML%20file%22%2C%0A%20%20saveHTML%3A%20%22Save%20This%20Button%20to%20HTML%20file%22%2C%0A%20%20sortBy%3A%20%22name%22%2C%0A%20%20sortLabel%3A%20%22Open%20saved%20buttons%20HTML%20file%20by%22%2C%0A%20%20timestampLabel%3A%20%22Use%20Timestamp%20when%20saving%20to%20HTML%20file%20%28mm-dd-yy%20hhmmss%29%22%2C%0A%20%20title%3A%20%22CB%20Button%20Utility%22%2C%0A%20%20toggleWarning1%3A%20%22About%20to%20disable%20the%20button%20that%20contains%20%27Custom%20Buttons%3A%20Disable%20Initialization%27%22%2C%0A%20%20toggleWarning2%3A%20%22Will%20need%20to%20manually%20delete%20first%20line%20in%20this%20buttons%20code%20to%20enable%20button.%22%2C%0A%20%20yes%3A%20%22Yes%22%0A%7D%0A%0Afor%20%28let%20key%20in%20pref.defaults%29%20%7B%0A%20%20if%20%28pref.defaults.hasOwnProperty%28key%29%29%20%7B%0A%20%20%20%20let%20val%20%3D%20pref.defaults%5Bkey%5D%3B%0A%20%20%20%20switch%20%28typeof%20val%29%20%7B%0A%20%20%20%20%20%20case%20%22boolean%22%3A%0A%20%20%20%20%20%20%20%20Services.prefs.getDefaultBranch%28pref.root%29.setBoolPref%28key%2C%20val%29%3B%0A%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20case%20%22number%22%3A%0A%20%20%20%20%20%20%20%20Services.prefs.getDefaultBranch%28pref.root%29.setIntPref%28key%2C%20val%29%3B%0A%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20case%20%22string%22%3A%0A%20%20%20%20%20%20%20%20let%20str%20%3D%20Cc%5B%22@mozilla.org/supports-string%3B1%22%5D.createInstance%28Ci.nsISupportsString%29%3B%0A%20%20%20%20%20%20%20%20str.data%20%3D%20val%3B%0A%20%20%20%20%20%20%20%20Services.prefs.getDefaultBranch%28pref.root%29.setComplexValue%28%28key%29%2C%20Ci.nsISupportsString%2C%20str%29%3B%0A%20%20%20%20%20%20%20%20break%3B%0A%7D%20%7D%20%7D%0A%0Apref.observe%20%3D%20function%28prefs%2C%20callback%29%20%7B%0A%20%20let%20%7Broot%7D%20%3D%20pref%3B%0A%20%20function%20observe%28subject%2C%20topic%2C%20data%29%20%7B%0A%20%20%20%20if%20%28topic%20%21%3D%3D%20%22nsPref%3Achanged%22%29%20return%3B%0A%20%20%20%20let%20pref%20%3D%20data.slice%28root.length%29%3B%0A%20%20%20%20if%20%28prefs.indexOf%28pref%29%20%3D%3D%3D%20-1%29%20return%3B%0A%20%20%20%20callback%28pref%29%3B%0A%20%20%7D%0A%20%20Services.prefs.addObserver%28root%2C%20observe%2C%20false%29%3B%0A%20%20unload%28function%28%29%20Services.prefs.removeObserver%28root%2C%20observe%29%29%3B%0A%7D%0A%0Avar%20gRoot%20%3D%20Services.prefs.getBranch%28pref.root%29%2C%0A%20%20disableString%20%3D%20%22return%3B%20%22%20+%20pref%28%22returnString%22%29%20+%20%22%5Cn%5Cn%22%2C%0A%20%20toggleEnabledLabel%20%3D%20pref%28%22enableLabel%22%29%2C%20toggleDisabledLabel%20%3D%20pref%28%22disableLabel%22%29%2C%0A%20%20aId%20%3D%20this.id%2C%20list%3D%20%5B%5D%2C%20pop%20%3D%20document.createElement%28%22menupopup%22%29%2C%0A%20%20cbContext%20%3D%20document.getElementById%28%27custombuttons-contextpopup%27%29%3B%0A%0Afunction%20pref%28key%29%20%7B%0A%20%20let%20%7Bbranch%2C%20defaults%7D%20%3D%20pref%3B%0A%20%20if%20%28branch%20%3D%3D%20null%29%20branch%20%3D%20Services.prefs.getBranch%28pref.root%29%3B%0A%20%20switch%20%28typeof%20defaults%5Bkey%5D%29%20%7B%0A%20%20%20%20case%20%22boolean%22%3A%20return%20branch.getBoolPref%28key%29%3B%0A%20%20%20%20case%20%22number%22%3A%20return%20branch.getIntPref%28key%29%3B%0A%20%20%20%20case%20%22string%22%3A%20return%20branch.getCharPref%28key%29%3B%0A%20%20%7D%0A%20%20return%20null%3B%0A%7D%0A%0Afunction%20getSS%28filepath%29%20%7B%20return%20ios.newURI%28%22data%3Atext/css%2C%22%20+%20filepath%2C%20null%2C%20null%29%20%7D%0A%0Afunction%20loadSheet%28filepath%29%20%7B%20sss.loadAndRegisterSheet%28getSS%28filepath%29%2C%20sss.USER_SHEET%29%20%7D%0A%0Afunction%20loadAndObserve%28prefName%2C%20filepath%29%20%7B%0A%20%20if%20%28pref%28prefName%29%29%20loadSheet%28filepath%29%3B%0A%20%20pref.observe%28%5BprefName%5D%2C%20function%28%29%20%7B%20pref%28prefName%29%20%3F%20loadSheet%28filepath%29%20%3A%20unloadSheet%28filepath%29%20%7D%29%3B%0A%20%20unload%28function%28%29%20%7B%20unloadSheet%28filepath%29%3B%20%7D%29%3B%0A%7D%0A%0Afunction%20unloadSheet%28filepath%29%20%7B%0A%20%20let%20uri%20%3D%20getSS%28filepath%29%3B%0A%20%20if%20%28sss.sheetRegistered%28uri%2C%20sss.USER_SHEET%29%29%20sss.unregisterSheet%28uri%2C%20sss.USER_SHEET%29%3B%0A%7D%0A%0Afunction%20unload%28callback%2C%20container%29%20%7B%0A%20%20let%20unloaders%20%3D%20unload.unloaders%3B%0A%20%20if%20%28unloaders%20%3D%3D%20null%29%20unloaders%20%3D%20unload.unloaders%20%3D%20%5B%5D%3B%0A%20%20if%20%28callback%20%3D%3D%20null%29%20%7B%0A%20%20%20%20unloaders.slice%28%29.forEach%28function%28unloader%29%20unloader%28%29%29%3B%0A%20%20%20%20unloaders.length%20%3D%200%3B%0A%20%20%20%20return%3B%0A%20%20%7D%0A%20%20if%20%28container%20%21%3D%20null%29%20%7B%0A%20%20%20%20container.addEventListener%28%22unload%22%2C%20removeUnloader%2C%20false%29%3B%0A%20%20%20%20let%20origCallback%20%3D%20callback%3B%0A%20%20%20%20callback%20%3D%20function%28%29%20%7B%0A%20%20%20%20%20%20container.removeEventListener%28%22unload%22%2C%20removeUnloader%2C%20false%29%3B%0A%20%20%20%20%20%20origCallback%28%29%3B%0A%20%20%7D%20%7D%0A%20%20function%20unloader%28%29%20%7B%0A%20%20%20%20try%20%7B%0A%20%20%20%20%20%20callback%28%29%3B%0A%20%20%20%20%7D%20catch%28ex%29%20%7B%7D%0A%20%20%7D%0A%20%20unloaders.push%28unloader%29%3B%0A%20%20function%20removeUnloader%28%29%20%7B%0A%20%20%20%20let%20index%20%3D%20unloaders.indexOf%28unloader%29%3B%0A%20%20%20%20if%20%28index%20%21%3D%3D%20-1%29%20unloaders.splice%28index%2C%201%29%3B%0A%20%20%7D%0A%20%20return%20removeUnloader%3B%0A%7D%0A%0Afunction%20openEditor%28e%29%20%7B%20custombuttons.cbService.editButton%28window%2C%20e%2C%20null%29%20%7D%0A%0Afunction%20getBtn%28%29%20%7B%0A%20%20var%20btn%20%3D%20custombuttons.popupNode%3B%0A%20%20if%20%28%21btn%20%7C%7C%20%28btn.id%20%7C%7C%20%22%22%29.match%28/custombuttons-button%5Cd+/%29%29%20return%20btn%3B%0A%20%20return%20null%3B%0A%7D%0A%0Afunction%20btnToggle%28e%29%20%7B%0A%20%20var%20initCode%20%3D%20e.cbInitCode%2C%20code%20%3D%20e.cbCommand%3B%0A%20%20if%20%28/%5E%5Cs*return%3B%3F%28%3F%3A%5Cs*%5C/%5C/%5B%5E%5Cn%5Cr%5D*%29%3F%5Cn+/.test%28initCode%29%29%20%7B%0A%20%20%20%20initCode%20%3D%20RegExp.rightContext%3B%0A%20%20%20%20toggleEnabled.setAttribute%28%22label%22%2C%20toggleEnabledLabel%29%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20initCode%20%3D%20disableString%20+%20initCode%3B%0A%20%20%20%20toggleEnabled.setAttribute%28%22label%22%2C%20toggleDisabledLabel%29%3B%0A%20%20%7D%0A%20%20if%20%28/%5E%5Cs*return%3B%3F%28%3F%3A%5Cs*%5C/%5C/%5B%5E%5Cn%5Cr%5D*%29%3F%5Cn+/.test%28code%29%29%20%7B%0A%20%20%20%20code%20%3D%20RegExp.rightContext%3B%0A%20%20%20%20toggleEnabled.setAttribute%28%22label%22%2C%20toggleEnabledLabel%29%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20code%20%3D%20disableString%20+%20code%3B%0A%20%20%20%20toggleEnabled.setAttribute%28%22label%22%2C%20toggleDisabledLabel%29%3B%0A%20%20%7D%0A%20%20var%20link%20%3D%20custombuttons.makeButtonLink%28%22edit%22%2C%20e.id%29%2C%20cbService%20%3D%20custombuttons.cbService%2C%20param%20%3D%20cbService.getButtonParameters%28link%29%3B%0A%20%20param%20%3D%20param.wrappedJSObject%20%7C%7C%20param%3B%0A%20%20param.initCode%20%3D%20initCode%3B%0A%20%20param.code%20%3D%20code%3B%0A%20%20cbService.installButton%28param%29%3B%0A%7D%0A%0Afunction%20addItem%28aLabel%2C%20aId%2C%20aImage%29%20%7B%0A%20%20var%20mItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%0A%20%20mItem.setAttribute%28%22id%22%2C%20aId%29%3B%0A%20%20mItem.setAttribute%28%22class%22%2C%20%22menuitem-iconic%22%29%3B%0A%20%20mItem.setAttribute%28%22label%22%2C%20aLabel%29%3B%0A%20%20mItem.setAttribute%28%22src%22%2C%20aImage%29%3B%0A%20%20mItem.onclick%20%3D%20function%28e%29%20%7B%20%0A%20%20%20%20if%20%28e.button%20%3D%3D%3D%200%29%20openEditor%28aId%29%3B%0A%20%20%20%20if%20%28e.button%20%3D%3D%3D%202%29%20%7B%0A%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20if%20%28this.label.match%28%22CB%20Button%20Utility%22%29%29%20%7B%0A%20%20%20%20%20%20%20%20alertWarn.showAlertNotification%28pref%28%22alertWarning%22%29%2C%20pref%28%22buttonWarning1%22%29%2C%20this.label%2C%20false%2C%20null%2C%20notifyListener%2C%20%22%22%29%3B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20var%20btn%20%3D%20document.getElementById%28aId.match%28/custombuttons-button%5Cd+/%29%29%3B%0A%20%20%20%20%20%20if%20%28%21btn%29%20%7B%0A%20%20%20%20%20%20%20%20alertWarn.showAlertNotification%28pref%28%22alertWarning%22%29%2C%20pref%28%22buttonWarning2%22%29%2C%20this.label%2C%20false%2C%20null%2C%20notifyListener%2C%20%22%22%29%3B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20btnToggle%28btn%29%3B%0A%20%20%20%20%7D%0A%20%20%20%20return%3B%0A%20%20%7D%0A%20%20pop.appendChild%28mItem%29%3B%0A%7D%0A%0Afunction%20createURI%28aBtn%29%20%7B%0A%20%20var%20name%20%3D%20aBtn.getAttribute%28%22name%22%29%20%7C%7C%20aBtn.getAttribute%28%22label%22%29%20%7C%7C%20%22%22%2C%0A%20%20%20%20image%20%3D%20aBtn.getAttribute%28%22image%22%29%20%7C%7C%20aBtn.getAttribute%28%22cb-stdicon%22%29%20%7C%7C%20%22%22%2C%0A%20%20%20%20mode%20%3D%20aBtn.getAttribute%28%22cb-mode%22%29%20%7C%7C%200%2C%20initcode%20%3D%20aBtn.getAttribute%28%22cb-init%22%29%20%7C%7C%20%22%22%2C%0A%20%20%20%20code%20%3D%20aBtn.getAttribute%28%22cb-oncommand%22%29%20%7C%7C%20%22%22%2C%20accelkey%20%3D%20aBtn.getAttribute%28%22cb-accelkey%22%29%20%7C%7C%20%22%22%2C%0A%20%20%20%20help%20%3D%20aBtn.getAttribute%28%22Help%22%29.split%28%22/***%20CSS%20***/%22%29%5B0%5D%20%7C%7C%20%22%22%2C%20xhr%20%3D%20new%20XMLHttpRequest%28%29%3B%0A%20%20xhr.open%28%22GET%22%2C%20%22chrome%3A//custombuttons/content/nbftemplate.xml%22%2C%20false%29%3B%0A%20%20xhr.send%28null%29%3B%0A%20%20var%20nbftemplate%20%3D%20xhr.responseXML%3B%0A%20%20sTxt%28nbftemplate%2C%20%22name%22%2C%20name%2C%200%29%3B%0A%20%20sTxt%28nbftemplate%2C%20%22image%22%2C%20image%2C%201%29%3B%0A%20%20sTxt%28nbftemplate%2C%20%22mode%22%2C%20mode%2C%200%29%3B%0A%20%20sTxt%28nbftemplate%2C%20%22initcode%22%2C%20escCDATA%28initcode%29%2C%201%29%3B%0A%20%20sTxt%28nbftemplate%2C%20%22code%22%2C%20escCDATA%28code%29%2C%201%29%3B%0A%20%20sTxt%28nbftemplate%2C%20%22accelkey%22%2C%20accelkey%2C%201%29%3B%0A%20%20sTxt%28nbftemplate%2C%20%22help%22%2C%20escCDATA%28help%29%2C%201%29%3B%0A%20%20var%20ser%20%3D%20new%20XMLSerializer%28%29%2C%20data%20%3D%20ser.serializeToString%28nbftemplate%29%3B%0A%20%20return%20%22custombutton%3A%5Cx2F%5Cx2F%22%20+%20escape%28data%29%3B%0A%7D%0A%0Afunction%20sTxt%28aDoc%2C%20aNodeName%2C%20aText%2C%20aMake_CDATASection%29%20%7B%20custombutton.buttonSetText%28aDoc%2C%20aNodeName%2C%20aText%2C%20aMake_CDATASection%29%20%7D%0A%0Afunction%20escCDATA%28aStr%29%20%7B%0A%20%20return%20aStr.replace%28/%5D%5D%5Cx3e/g%2C%20%22%5C%5C%22%20+%20%22x5D%22%20+%20%22%5C%5C%22%20+%20%22x5D%22%20+%20%22%5C%5C%22%20+%20%22x3e%22%29.replace%28/%5D%5D%26gt%5C%3B/g%2C%20%22%5C%5C%22%20+%20%22x5D%22%20+%20%22%5C%5C%22%20+%20%22x5D%22%20+%20%22%5C%5C%22%20+%20%22x3e%22%29%3B%0A%7D%0A%0Afunction%20aDate%28%29%20%7B%0A%20%20var%20date%20%3D%20new%20Date%28%29%2C%20mth%20%3D%20date.getMonth%28%29%2C%20month%20%3D%20mth%20+%201%2C%20day%20%3D%20date.getDate%28%29%2C%0A%20%20%20%20year%20%3D%20date.getFullYear%28%29%2C%20year2%20%3D%20year%20-%202000%2C%0A%20%20%20%20hour%20%3D%20date.getHours%28%29%2C%20minute%20%3D%20date.getMinutes%28%29%2C%20second%20%3D%20date.getSeconds%28%29%3B%0A%20%20if%20%28hour%20%3C%2010%29%20%7Bhour%20%3D%20%220%22%20+%20hour%7D%20else%20%7Bhour%20%3D%20hour%7D%0A%20%20if%20%28minute%20%3C%2010%29%20%7Bminute%20%3D%20%220%22%20+%20minute%7D%20else%20%7Bminute%20%3D%20minute%7D%0A%20%20if%20%28second%20%3C%2010%29%20%7Bsecond%20%3D%20%220%22%20+%20second%7D%20else%20%7Bsecond%20%3D%20second%7D%0A%20%20return%20month%20+%20%22-%22%20+%20day%20+%20%22-%22%20+%20year2%20+%20%22%20%20%22%20+%20hour%20+%20minute%20+%20second%3B%0A%7D%0A%0Afunction%20removeDupe%28aClass%29%20%7B%0A%20%20var%20dupe%20%3D%20document.getElementsByClassName%28aClass%29%3B%0A%20%20for%20%28var%20i%20%3D%201%3B%20i%20%3C%20dupe.length%3B%20i++%29%20dupe%5Bi%5D.parentNode.removeChild%28dupe%5Bi%5D%29%3B%0A%7D%0A%0Afunction%20sortByName%28a%2C%20b%29%20%7B%20return%20a.localeCompare%28b%29%20%7D%0A%0Afunction%20sortById%28a%2C%20b%29%20%7B%0A%20%20a%20%3D%20parseInt%28a.split%28%22%20%20%23%22%29%5B1%5D%29%3B%0A%20%20b%20%3D%20parseInt%28b.split%28%22%20%20%23%22%29%5B1%5D%29%3B%0A%20%20return%20a%20-%20b%3B%0A%7D%0A%0Afunction%20destructor%28reason%29%20%7B%0A%20%20if%20%28reason%20%3D%3D%3D%20%22update%22%20%7C%7C%20reason%20%3D%3D%3D%20%22delete%22%29%20%7B%0A%20%20%20%20Array.slice%28document.getElementsByAttribute%28%22cb_id%22%2C%20toggleEnabledId%29%29.forEach%28function%28btn%29%20%7B%20btn.parentNode.removeChild%28btn%29%3B%20%7D%29%3B%0A%20%20%20%20delete%20window.toggleCustomButtonEnabled%3B%0A%7D%20%7D%0A%0Avar%20notifyListener%20%3D%20%7B%0A%20%20observe%3A%20function%28aSubject%2C%20aTopic%2C%20aData%29%20%7B%0A%20%20%20%20if%20%28aTopic%20%3D%3D%3D%20%22alertshow%22%29%20%7B%0A%20%20%20%20%20%20var%20alt%20%3D%20Services.wm.getMostRecentWindow%28%27alert%3Aalert%27%29%2C%20x%2C%20y%3B%0A%20%20%20%20%20%20var%20altH%20%3D%20alt.outerHeight%2C%20altW%20%3D%20alt.outerWidth%2C%20scrH%20%3D%20screen.availHeight%2C%20scrW%20%3D%20screen.availWidth%3B%0A%20%20%20%20%20%20switch%20%28pref%28%22positionAlert%22%29%29%20%7B%0A%20%20%20%20%20%20%20%20case%201%3A%20x%20%3D%200%3B%20y%20%3D%200%3B%20break%3B%0A%20%20%20%20%20%20%20%20case%202%3A%20x%20%3D%20scrW%20-%20altW%3B%20y%20%3D%200%3B%20break%3B%0A%20%20%20%20%20%20%20%20case%203%3A%20x%20%3D%200%3B%20y%20%3D%20scrH%20-%20altH%3B%20break%3B%0A%20%20%20%20%20%20%20%20case%204%3A%20x%20%3D%20scrW%20-%20altW%3B%20y%20%3D%20scrH%20-%20altH%3B%20break%3B%0A%20%20%20%20%20%20%20%20case%205%3A%20x%20%3D%20%28scrW%20/%202%29%20-%20%28altW%20/%202%29%3B%20y%20%3D%20%28scrH%20/%202%29%20-%20%28altH%20/%202%29%3B%20break%3B%0A%20%20%20%20%20%20%20%20default%3A%20x%20%3D%20scrW%20-%20altW%3B%20y%20%3D%20scrH%20-%20altH%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20alt.moveTo%28x%2C%20y%29%3B%0A%20%20%20%20%20%20setTimeout%28function%28%29%20%7Balt.close%28%29%7D%2C%20pref%28%22alertDelay%22%29%20*%201000%29%3B%0A%7D%20%7D%20%7D%0A%0Athis.menuitemMgr%20%3D%20function%28aPopup%2C%20aCallback%29%20%7B%0A%20%20AddonManager.getAddonsByTypes%28%5B%22custombuttons%22%5D%2C%20function%28aAddons%29%20%7B%0A%20%20%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aAddons.length%3B%20i++%29%20list.push%28%5BaAddons%5Bi%5D.name%20+%20%22%20%20%23%22%20+%20aAddons%5Bi%5D.id.match%28/%5Cd+/%29%2CaAddons%5Bi%5D.id%2CaAddons%5Bi%5D.iconURL%5D%29%3B%0A%20%20%20%20list.sort%28%29%3B%0A%20%20%20%20aCallback%28aPopup%2C%20list%29%3B%0A%20%20%7D%29%3B%0A%7D%0A%0Athis.populate%20%3D%20function%28aPopup%2C%20aButton%29%20%7B%0A%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aButton.length%3B%20i++%29%20%7B%0A%20%20%20%20var%20btn%20%3D%20aButton%5Bi%5D%3B%0A%20%20%20%20addItem%28btn%5B0%5D%2C%20btn%5B1%5D%2C%20btn%5B2%5D%29%3B%0A%7D%20%7D%0A%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%20%20if%20%28e.button%20%3D%3D%3D%200%20%26%26%20%21e.ctrlKey%29%20%7B%0A%20%20%20%20pop.openPopup%28this%2C%20%22after_start%22%29%3B%0A%20%20%20%20if%20%28pop.childNodes.length%20%3C%201%29%20this.menuitemMgr%28pop%2C%20this.populate%29%3B%0A%20%20%7D%20%0A%20%20if%20%28e.button%20%3D%3D%3D%200%20%26%26%20e.ctrlKey%20%7C%7C%20e.button%20%3D%3D%3D%201%29%20%7B%0A%20%20%20%20var%20data%20%3D%20%27%3C%3Fxml%20version%3D%221.0%22%3F%3E%3C%3Fxml-stylesheet%20href%3D%22chrome%3A//global/skin/%22%20type%3D%22text/css%22%3F%3E%5C%0A%20%20%20%20%20%20%3Cwindow%20xmlns%3D%22%27%20+%20xulns%20+%20%27%22%20id%3D%22button-editor%22%20windowtype%3D%22button%3Aeditor%22%20onblur%3D%22close%28%29%22%20%5C%0A%20%20%20%20%20%20%20%20persist%3D%22screenX%20screenY%20width%20height%22%20title%3D%22%27%20+%20pref%28%22title%22%29%20+%20%27%22%3E%5C%0A%20%20%20%20%20%20%20%20%3Ccheckbox%20id%3D%22dateTimestamp%22%20class%3D%22checkbox%22%20label%3D%22%27%20+%20pref%28%22timestampLabel%22%29%20+%20%27%22%20%5C%0A%20%20%20%20%20%20%20%20%20%20checked%3D%22%27%20+%20pref%28%22dateTimestamp%22%29%20+%20%27%22%20oncommand%3D%22self.onCheckbox%28this%29%22/%3E%5C%0A%20%20%20%20%20%20%20%20%3Chbox%20id%3D%22hbox1%22%20class%3D%22hbox%22%20align%3D%22center%22%20pack%3D%22center%22%3E%5C%0A%20%20%20%20%20%20%20%20%20%20%3Clabel%20id%3D%22sortLabel%22%20class%3D%22label%22%20value%3D%22%27%20+%20pref%28%22sortLabel%22%29%20+%20%27%22/%3E%5C%0A%20%20%20%20%20%20%20%20%20%20%3Cradiogroup%20id%3D%22sortBy%22%20class%3D%22radiogroup%22%20value%3D%22%27%20+%20pref%28%22sortBy%22%29%20+%20%27%22%20orient%3D%22horizontal%22%20onclick%3D%22self.onRadio%28this%29%22%3E%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cradio%20id%3D%22sortName%22%20class%3D%22radio%22%20label%3D%22%27%20+%20pref%28%22name%22%29%20+%20%27%22%20value%3D%22name%22/%3E%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Cradio%20id%3D%22sortId%22%20class%3D%22radio%22%20label%3D%22%27%20+%20pref%28%22id%22%29%20+%20%27%22%20value%3D%22id%22/%3E%5C%0A%20%20%20%20%20%20%20%20%20%20%3C/radiogroup%3E%5C%0A%20%20%20%20%20%20%20%20%3C/hbox%3E%5C%0A%20%20%20%20%20%20%3C/window%3E%27%3B%0A%20%20%20%20data%20%3D%20data.replace%28/self/g%2C%20%22opener.document.getElementById%28%27%22%20+%20self.id%20+%20%22%27%29%22%29%3B%0A%20%20%20%20var%20url%20%3D%20%22data%3Aapplication/vnd.mozilla.xul+xml%3Btext/plain%2C%22%20+%20encodeURIComponent%28data%29%3B%0A%20%20%20%20window.openDialog%28url%2C%20%22_blank%22%2C%20%22chrome%2Ccenterscreen%2Cdialog%2Cresizable%22%29%3B%0A%7D%20%7D%0A%0Athis.onCheckbox%20%3D%20function%28e%29%20%7B%0A%20%20var%20bool%20%3D%20pref%28e.id%29%20%21%3D%20true%20%3F%20true%20%3A%20false%3B%0A%20%20gRoot.setBoolPref%28e.id%2C%20bool%29%3B%0A%7D%0A%0Athis.onRadio%20%3D%20function%28e%29%20%7B%20gRoot.setCharPref%28e.id%2C%20e.value%29%20%7D%0A%0Apop.id%20%3D%20%22cbButton-popup%22%3B%0Athis.menuitemMgr%28pop%2C%20this.populate%29%3B%0Athis.appendChild%28pop%29%3B%0A%0Avar%20deleteItem%20%3D%20document.getElementById%28deleteId%29%2C%20toggleEnabled%20%3D%20document.getElementById%28toggleEnabledId%29%3B%0Aif%20%28toggleEnabled%29%20toggleEnabled.parentNode.removeChild%28toggleEnabled%29%3B%0AtoggleEnabled%20%3D%20deleteItem.cloneNode%28true%29%3B%0AtoggleEnabled.id%20%3D%20toggleEnabledId%3B%0AtoggleEnabled.setAttribute%28%22cb_id%22%2C%20toggleEnabledId%29%3B%0AtoggleEnabled.setAttribute%28%22class%22%2C%20%22menuitem-iconic%20togEnable%22%29%3B%0AtoggleEnabled.setAttribute%28%22type%22%2C%20%22menuitem%22%29%3B%0AtoggleEnabled.setAttribute%28%22oncommand%22%2C%20%22toggleCustomButtonEnabled%28%29%3B%22%29%3B%0AdeleteItem.parentNode.insertBefore%28toggleEnabled%2C%20deleteItem%29%3B%0A%0AArray.filter%28document.getElementsByAttribute%28%22observes%22%2C%20deleteItem.getAttribute%28%22observes%22%29%29%2C%0A%20%20%20%20function%28mi%29%20%7B%20return%20mi%20%21%3D%20deleteItem%20%26%26%20%28mi.id%20%7C%7C%20%22%22%29.substr%280%2C%20deleteId.length%29%20%3D%3D%20deleteId%20%7D%0A%20%20%29.forEach%28function%28deleteItem%2C%20i%29%20%7B%0A%20%20%20%20var%20clone%20%3D%20toggleEnabled.cloneNode%28true%29%3B%0A%20%20%20%20clone.id%20+%3D%20%22-cloned-%22%20+%20i%3B%0A%20%20%20%20deleteItem.parentNode.insertBefore%28clone%2C%20deleteItem%29%3B%0A%20%20%7D%0A%29%3B%0A%0Aconst%20deleteIdSub%20%3D%20deleteId%20+%20%22-sub%22%3B%0Avar%20deleteItemSub%20%3D%20document.getElementById%28deleteIdSub%29%3B%0Aif%20%28deleteItemSub%29%20%7B%0A%20%20var%20clone%20%3D%20toggleEnabled.cloneNode%28true%29%3B%0A%20%20if%20%28deleteItemSub.hasAttribute%28%22observes%22%29%29%20clone.setAttribute%28%22observes%22%2C%20deleteItemSub.getAttribute%28%22observes%22%29%29%3B%0A%20%20else%20clone.removeAttribute%28%22observes%22%29%3B%0A%20%20clone.id%20+%3D%20%22-sub%22%3B%0A%20%20deleteItemSub.parentNode.insertBefore%28clone%2C%20deleteItemSub%29%3B%0A%7D%0A%0AaddEventListener%28%22popupshowing%22%2C%20function%28e%29%20%7B%0A%20%20var%20popup%20%3D%20e.target%2C%20getId%20%3D%20document.getElementById%28%22custombuttons-contextpopup-getButtonId%22%29%3B%0A%20%20if%20%28popup.localName%20%21%3D%3D%20%22menupopup%22%20%7C%7C%20%28popup.id%20%7C%7C%20%22%22%29.substr%280%2C%2014%29%20%21%3D%3D%20%22custombuttons-%22%29%20return%3B%0A%20%20var%20toggleEnabled%20%3D%20popup.getElementsByAttribute%28%22cb_id%22%2C%20toggleEnabledId%29%5B0%5D%3B%0A%20%20if%20%28%21toggleEnabled%29%20return%3B%0A%20%20var%20btn%20%3D%20getBtn%28%29%2C%20initCode%20%3D%20btn%20%26%26%20btn.cbInitCode%20%7C%7C%20%22%22%3B%0A%20%20if%20%28/%5E%5Cn*return%28%3F%3A%3B%7C%5Cs*%5Cn%29/.test%28initCode%29%29%20toggleEnabled.setAttribute%28%22label%22%2C%20toggleEnabledLabel%29%3B%0A%20%20else%20toggleEnabled.setAttribute%28%22label%22%2C%20toggleDisabledLabel%29%3B%0A%20%20toggleEnabled.setAttribute%28%22image%22%2C%20btn.image%20%20%7C%7C%20%22chrome%3A//custombuttons/skin/button.png%22%29%3B%0A%20%20document.getElementById%28%22saveHTML%22%29.image%20%3D%20btn.image%20%7C%7C%20%22chrome%3A//custombuttons/skin/button.png%22%3B%0A%20%20cbContext.insertBefore%28toggleEnabled%2C%20getId%29%3B%0A%20%20removeDupe%28%22togEnable%22%29%3B%0A%7D%2C%20false%29%3B%0A%0Awindow.toggleCustomButtonEnabled%20%3D%20function%28%29%20%7B%0A%20%20var%20btn%20%3D%20getBtn%28%29%3B%0A%20%20if%20%28%21btn%29%20return%3B%0A%20%20if%20%28btn.id%20%3D%3D%3D%20aId%29%20%7B%0A%20%20%20%20var%20msg%20%3D%20confirm%28pref%28%22toggleWarning1%22%29%20+%20%22%5Cn%22%20+%20pref%28%22toggleWarning2%22%29%29%3B%0A%20%20%20%20if%20%28msg%20%3D%3D%20false%29%20return%3B%0A%20%20%7D%0A%20%20btnToggle%28btn%29%3B%0A%7D%3B%0A%0Avar%20cus%20%3D%20document.getElementById%28%22custombuttons-contextpopup-customize%22%29%2C%20anb%20%3D%20document.getElementById%28%22custombuttons-contextpopup-addnewbutton%22%29%3B%0Acus.setAttribute%28%22image%22%2C%20customBtn%29%3B%0Aanb.setAttribute%28%22image%22%2C%20addNewBtn%29%3B%0A%0Avar%20mensep%20%3D%20document.createElement%28%22menuseparator%22%29%3B%0Amensep.setAttribute%28%22id%22%2C%20%22menuSep%22%29%3B%0Amensep.setAttribute%28%22class%22%2C%20%22menuseparator%20menSep%22%29%3B%0AcbContext.appendChild%28mensep%29%3B%0AremoveDupe%28%22menSep%22%29%3B%0A%0Avar%20getBtnMI%20%3D%20document.createElement%28%22menuitem%22%29%3B%0AgetBtnMI.setAttribute%28%22id%22%2C%20%20%22custombuttons-contextpopup-getButtonId%22%29%3B%0AgetBtnMI.setAttribute%28%22class%22%2C%20%22menuitem-iconic%20getBtnItem%22%29%3B%0AgetBtnMI.setAttribute%28%22label%22%2C%20pref%28%22getIdLabel%22%29%29%3B%0AgetBtnMI.setAttribute%28%22image%22%2C%20iconID%29%3B%0AgetBtnMI.setAttribute%28%22style%22%2C%20%22-moz-box-ordinal-group%3A%20997%20%21important%3B%22%29%3B%0AcbContext.appendChild%28getBtnMI%29%3B%0AremoveDupe%28%22getBtnItem%22%29%3B%0A%0Avar%20htmlID%20%3D%20document.createElement%28%22menuitem%22%29%3B%0AhtmlID.setAttribute%28%22id%22%2C%20%22saveHTML%22%29%3B%0AhtmlID.setAttribute%28%22class%22%2C%20%22menuitem-iconic%20labelHTML%22%29%3B%0AhtmlID.setAttribute%28%22label%22%2C%20pref%28%22saveHTML%22%29%29%3B%0AhtmlID.setAttribute%28%22style%22%2C%20%22-moz-box-ordinal-group%3A%20998%20%21important%3B%22%29%3B%0AcbContext.appendChild%28htmlID%29%3B%0AremoveDupe%28%22labelHTML%22%29%3B%0A%0Avar%20htmlALL%20%3D%20document.createElement%28%22menuitem%22%29%3B%0AhtmlALL.setAttribute%28%22id%22%2C%20%20%22htmlALL%22%29%3B%0AhtmlALL.setAttribute%28%22class%22%2C%20%22menuitem-iconic%20saveAll%22%29%3B%0AhtmlALL.setAttribute%28%22label%22%2C%20pref%28%22saveAllHTML%22%29%29%3B%0AhtmlALL.setAttribute%28%22image%22%2C%20saveAll%29%3B%0AhtmlALL.setAttribute%28%22style%22%2C%20%22-moz-box-ordinal-group%3A%20999%20%21important%3B%22%29%3B%0AcbContext.appendChild%28htmlALL%29%3B%0AremoveDupe%28%22saveAll%22%29%3B%0A%0AgetBtnMI.onclick%20%3D%20function%28%29%20%7B%0A%20%20var%20btn%20%3D%20document.popupNode.id%2C%20box%20%3D%20custombuttons.confirmBox%28pref%28%22copy%22%29%2C%20btn%2C%20pref%28%22yes%22%29%2C%20pref%28%22no%22%29%29%3B%0A%20%20if%20%28box%29%20%7B%0A%20%20%20%20custombuttons.cbService.writeToClipboard%28btn%29%3B%0A%20%20%20%20alertWarn.showAlertNotification%28pref%28%22alertWarning%22%29%2C%20btn%2C%20pref%28%22copied%22%29%2C%20false%2C%20null%2C%20notifyListener%2C%20%22%22%29%3B%0A%7D%20%7D%0A%0AhtmlID.onclick%20%3D%20function%28%29%20%7B%0A%20%20var%20btn%20%3D%20document.popupNode%2C%20out%2C%20data%3B%0A%20%20converter.charset%20%3D%20%22UTF-8%22%3B%0A%20%20out%20%3D%20%27%3Cli%3E%3Ca%20href%3D%22%27%20+%20btn.URI%20+%20%27%22%3E%3Cimg%20alt%3D%22%22%20src%3D%22%27%20+%20btn.image%20+%20%27%22%3E%27%20+%20converter.ConvertFromUnicode%28btn.name%29%20+%20%27%3C/a%3E%3Clabel%3E%27%20+%20%22%20%20%23%22%20+%20btn.id.match%28/%5Cd+/%29%20+%20%27%3C/label%3E%3C/li%3E%27%3B%0A%20%20fp.init%28window%2C%20%22Save%20As%20HTML%22%2C%20fp.modeSave%29%3B%0A%20%20if%20%28pref%28%22dateTimestamp%22%29%29%20fp.defaultString%20%3D%20btn.name%20+%20%22%20%22%20+%20aDate%28%29%20+%20%22.htm%22%3B%0A%20%20else%20fp.defaultString%20%3D%20btn.name%20+%20%22.htm%22%3B%0A%20%20fp.appendFilters%28fp.filterHTML%29%3B%0A%20%20if%20%28fp.show%28%29%20%3D%3D%20fp.returnCancel%29%20return%3B%0A%20%20stream.init%28fp.file%2C%200x02%7C0x08%7C0x20%2C%20parseInt%28%22666%22%2C%208%29%2C%200%29%3B%0A%20%20data%20%3D%20document.getElementById%28aId%29.getAttribute%28%22Help%22%29.split%28%22/***%20CSS%20***/%22%29%5B0%5D.replace%28%22%3Col%3E%22%2C%20%22%5Cn%3Col%3E%5Cn%22%20+%20out%29%3B%0A%20%20stream.write%28data%2C%20data.length%29%3B%0A%20%20stream.close%28%29%3B%0A%7D%0A%0AhtmlALL.onclick%20%3D%20function%20%28%29%20%7B%0A%20%20converter.charset%20%3D%20%22UTF-8%22%3B%0A%20%20var%20data%2C%20out%2C%20out1%20%3D%20%5B%5D%2C%20out2%20%3D%20%5B%5D%2C%20nodeList1%20%3D%20document.getElementsByTagName%28%22toolbarbutton%22%29%3B%0A%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20nodeList1.length%3B%20i++%29%20%7B%0A%20%20%20%20if%20%28nodeList1%5Bi%5D.id.search%28%22custombuttons-button%22%29%20%3D%3D%200%29%20%7B%0A%20%20%20%20%20%20var%20href%20%3D%20nodeList1%5Bi%5D.URI%2C%0A%20%20%20%20%20%20%20%20src%20%3D%20nodeList1%5Bi%5D.image%2C%0A%20%20%20%20%20%20%20%20text%20%3D%20nodeList1%5Bi%5D.name%2C%0A%20%20%20%20%20%20%20%20aid%20%3D%20nodeList1%5Bi%5D.getAttribute%28%22id%22%29.match%28/%5Cd+/%29%3B%0A%20%20%20%20%20%20if%20%28%21src%29%20src%20%3D%20defaultFavicon%3B%0A%20%20%20%20%20%20out1.push%28%27%3Cli%3E%3Ca%20href%3D%22%27%20+%20href%20+%20%27%22%3E%3Cimg%20alt%3D%22%22%20src%3D%22%27%20+%20src%20+%20%27%22%3E%27%20+%20converter.ConvertFromUnicode%28text%29%20+%20%27%3C/a%3E%3Clabel%3E%27%20+%20%22%20%20%23%22%20+%20aid%20+%20%27%3C/label%3E%3C/li%3E%27%29%3B%0A%20%20%7D%20%7D%0A%20%20var%20nodeList2%20%3D%20custombuttons.palette.getElementsByTagName%28%22toolbarbutton%22%29%3B%0A%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20nodeList2.length%3B%20i++%29%20%7B%0A%20%20%20%20if%20%28nodeList2%5Bi%5D.id.search%28%22custombuttons-button%22%29%20%3D%3D%200%20%26%26%20document.getElementById%28nodeList2%5Bi%5D.id%29%20%3D%3D%20null%29%20%7B%0A%20%20%20%20%20%20var%20href%20%3D%20createURI%28nodeList2%5Bi%5D%29%2C%0A%20%20%20%20%20%20%20%20src%20%3D%20nodeList2%5Bi%5D.getAttribute%28%22image%22%29%2C%0A%20%20%20%20%20%20%20%20text%20%3D%20nodeList2%5Bi%5D.getAttribute%28%22name%22%29%20%7C%7C%20nodeList2%5Bi%5D.getAttribute%28%22label%22%29%20%7C%7C%20%22%22%2C%0A%20%20%20%20%20%20%20%20aid%20%3D%20nodeList2%5Bi%5D.getAttribute%28%22id%22%29.match%28/%5Cd+/%29%3B%0A%20%20%20%20%20%20if%20%28%21src%29%20src%20%3D%20defaultFavicon%3B%0A%20%20%20%20%20%20out2.push%28%27%3Cli%3E%3Ca%20href%3D%22%27%20+%20href%20+%20%27%22%3E%3Cimg%20alt%3D%22%22%20src%3D%22%27%20+%20src%20+%20%27%22%3E%27%20+%20converter.ConvertFromUnicode%28text%29%20+%20%27%3C/a%3E%3Clabel%3E%27%20+%20%22%20%20%23%22%20+%20aid%20+%20%27%3C/label%3E%3C/li%3E%27%29%3B%0A%20%20%7D%20%7D%0A%20%20out%20%3D%20out1.concat%28out2%29%3B%0A%20%20if%20%28pref%28%22sortBy%22%29%20%3D%3D%3D%20%22name%22%29%20out.sort%28sortByName%29%3B%0A%20%20else%20out.sort%28sortById%29%3B%0A%20%20fp.init%28window%2C%20%22%22%2C%20fp.modeSave%29%3B%0A%20%20if%20%28pref%28%22dateTimestamp%22%29%29%20fp.defaultString%20%3D%20pref%28%22custombuttons%22%29%20+%20%22%20%22%20+%20aDate%28%29%20+%20%22.htm%22%3B%0A%20%20else%20fp.defaultString%20%3D%20pref%28%22custombuttons%22%29.trim%28%29%20+%20%22.htm%22%3B%0A%20%20fp.appendFilters%28fp.filterHTML%29%3B%0A%20%20if%20%28fp.show%28%29%20%3D%3D%20fp.returnCancel%29%20return%3B%0A%20%20stream.init%28fp.file%2C%200x02%7C0x08%7C0x20%2C%20parseInt%28%220644%22%2C%208%29%2C%200%29%3B%0A%20%20data%20%3D%20document.getElementById%28aId%29.getAttribute%28%22Help%22%29.split%28%22/***%20CSS%20***/%22%29%5B0%5D.replace%28%22%3Col%3E%22%2C%20%22%5Cn%3Col%3E%5Cn%22%20+%20out.join%28%22%5Cn%22%29%29%3B%0A%20%20stream.write%28data%2C%20data.length%29%3B%0A%20%20stream.close%28%29%3B%0A%7D%3B%0A%0Athis.tooltipText%20%3D%20this.label%20+%20tt%3B%0AloadSheet%28this.Help.split%28%22/***%20CSS%20***/%22%29%5B1%5D%29%3B%0A%0Aif%20%28typeof%20addDestructor%20%3D%3D%20%22function%22%20%26%26%20addDestructor%20%21%3D%20%28%22addDestructor%22%20in%20window%20%26%26%20window.addDestructor%29%29%20addDestructor%28destructor%2C%20this%29%3B%0Aelse%20this.onDestroy%20%3D%20destructor%3B%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%3C%21DOCTYPE%20HTML%20PUBLIC%20%22-//W3C//DTD%20HTML%204.01%20Transitional//EN%22%3E%0A%3Chtml%3E%0A%20%20%3Chead%3E%0A%20%20%20%20%3Ctitle%3ECustom%20Buttons%3C/title%3E%0A%20%20%20%20%3Cmeta%20http-equiv%3D%22Content-Type%22%20content%3D%22text/html%3B%20charset%3DUTF-8%22%3E%0A%20%20%20%20%3Cstyle%20type%3D%22text/css%22%3E%0A%20%20%20%20%20%20body%20%7B%0A%20%20%20%20%20%20%20%20background%3A%20%23444%3B%20color%3A%20white%3B%20margin%3A%2010px%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20li%20%7B%20%0A%20%20%20%20%20%20%20%20color%3A%20white%3B%20text-shadow%3A%201px%201px%202px%20%23000%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20a%3Alink%20%7B%20%0A%20%20%20%20%20%20%20%20color%3A%20white%3B%20text-decoration%3A%20none%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20a%3Alink%3Ahover%20%7B%20%0A%20%20%20%20%20%20%20%20text-decoration%3A%20underline%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20img%20%7B%0A%20%20%20%20%20%20%20%20border%3A%200%3B%20height%3A%2016px%3B%20margin%3A%202px%2010px%20-2px%200px%3B%20width%3A%2016px%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20label%20%7B%0A%20%20%20%20%20%20%20%20margin-left%3A%206px%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%3C/style%3E%0A%20%20%3C/head%3E%0A%20%20%3Cbody%3E%0A%20%20Custom%20Buttons%0A%20%20%20%20%3Cp%3E%0A%20%20%20%20%3Col%3E%0A%20%20%20%20%3C/ol%3E%0A%20%20%3C/body%3E%0A%3C/html%3E%0A/***%20CSS%20***/%0Atoolbarbutton%5Bid%5E%3D%22custombuttons-button%22%5D%5Bcb-init%5E%3D%22return%3B%22%5D%3Anot%28%5Bcb-edit-state%5D%29%20%7B%0A%20%20outline%3A%201px%20dashed%20red%20%21important%3B%0A%20%20outline-offset%3A%20-1px%20%21important%3B%0A%7D%0Atoolbarbutton%5Bid%5E%3D%22custombuttons-button%22%5D%5Bcb-init%5E%3D%22return%3B%22%5D%20image%20%7B%0A%20%20opacity%3A%20.5%20%21important%3B%0A%7D%0A%23button-editor%20checkbox%20.checkbox-label-box%2C%20%0A%23button-editor%20radio%20.radio-label-box%20%7B%0A%20%20border%3A%201px%20dotted%20transparent%20%21important%3B%0A%20%20outline%3A%20none%20%21important%3B%0A%7D%0A%23custombuttons-contextpopup%20%23menuSep%20%7B%0A%20%20-moz-box-ordinal-group%3A%20994%20%21important%3B%0A%7D%0A%23custombuttons-contextpopup%20%23addedLabel%20%7B%0A%20%20direction%3A%20rtl%20%21important%3B%0A%20%20font-style%3A%20italic%20%21important%3B%0A%20%20font-weight%3A%20bold%20%21important%3B%0A%20%20margin-left%3A%206px%20%21important%3B%0A%20%20pointer-events%3A%20none%20%21important%3B%0A%20%20text-align%3A%20left%20%21important%3B%0A%20%20-moz-box-ordinal-group%3A%20995%20%21important%3B%0A%7D%0A%23custombuttons-contextpopup%20%23custombuttons-contextpopup-toggleEnabled%20%7B%0A%20%20-moz-box-ordinal-group%3A%20996%20%21important%3B%0A%7D%0A%23custombuttons-contextpopup%20%23custombuttons-contextpopup-getButtonId%20%7B%0A%20%20-moz-box-ordinal-group%3A%20997%20%21important%3B%0A%7D%0A%23custombuttons-contextpopup%20%23saveHTML%20%7B%0A%20%20-moz-box-ordinal-group%3A%20998%20%21important%3B%0A%7D%0A%23custombuttons-contextpopup%20%23htmlAll%20%7B%0A%20%20-moz-box-ordinal-group%3A%20999%20%21important%3B%0A%7D%0A%23button-editor%20%7B%0A%20%20padding%3A%206px%20%21important%3B%0A%7D%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отсутствует

 

№1022008-06-2016 19:57:24

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

Re: Custom Buttons

bezuma пишет

И Переключать проигрывания анимации(gif) "серый" - не могу понять, работает или нет, вроде гифки застывшие

Переключать проигрывания анимации(gif)

Добавлено 08-06-2016 20:01:02

bezuma пишет

bunda1
Подскажите, пожалуйста, что можно сделать с кнопкой FF Exp Imp CB? После обновления вообще не реагирует :(

FF Exp Imp CB так просто не исправить, но если автор на объявится то я исправлю потому что сам пользуюсь.

Отредактировано bunda1 (08-06-2016 20:01:02)

Отсутствует

 

№1022108-06-2016 20:31:00

bezuma
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 26-01-2014
Сообщений: 256
UA: Firefox 47.0

Re: Custom Buttons

bunda1
Спасибо! Переключатель анимации заработал ( через адресную строку код выдает ошибку - так что я копирнул новый код в старую кнопку )
FF Exp Imp CB - привык к ней, удобная инсталляция кнопок, а то у меня три [firefox] 38esr, 45esr и 47.

исправлю потому что сам пользуюсь.

Будем надеяться :)

Ultima2m
И вам спасибо большое! Установил CB Button Utility - работает прекрасно!

Отсутствует

 

№1022209-06-2016 14:37:49

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

Re: Custom Buttons

Исправил: FF Exp Imp CB для совместимости с FF47. Надеюсь Indomito будет не в обиде что его кнопку исправили без него.

Отсутствует

 

№1022309-06-2016 15:25:37

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1224
UA: Firefox 47.0

Re: Custom Buttons

Сам не осилю. В связи с изменением, о котором написал Inko7
var prefs = Application.prefs;
У меня есть кнопка, которую сделал себе сам когда-то, теперь "серая", не работает.

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

Выделить код

Код:

var s = 'network.cookie.cookieBehavior';
var pref = Application.prefs.get(s);

this. onmouseover = function (event){
pref.value == 0
? this.tooltipText="Куки принимать"
: this.tooltipText="Куки НЕ принимать";
};

this.onclick=function(e) {
if (e.button == 0) {
    if (pref.value == 1) {
        custombuttons.clearPrefs("network.cookie.cookieBehavior");
    } else {
        custombuttons.setPrefs("network.cookie.cookieBehavior", 1);
    }
} 
};
 
function toggleImage() { 
   var icon = self.ownerDocument.getAnonymousElementByAttribute( self, "class", "toolbarbutton-icon");
   icon.src = ( pref.value != 0)
   ? 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAqRJREFUeNqkU0tPE1EYPTP0kYEGSltLeb+KSIxWRAoWMBiDWjUhBF1o4sLEuPaXGBfGGFkYUXcaEhcQE0OAlvAIGhNjCLE8BKkdA+XROkOnM3e8dzqgrLnpmU6+75wz5879htN1HUdZFnYZvmuBJY+DhQfoz8VxaKflRgqPydugWKDPmiZAUqUXVdP/Gfy3gnlC4U3fqa6gu+Fco91R7GbFTHprc/P73ELia2SWyLtvaWn2UAJztVsLvfebwg96HSUVHpsggLdYEI1OItTe5st3l/qKa5tPzo88d6nbv2lQTDMRuwEN44at4Lb/0r1eh6/Sk9jYhCLLkLa2EGw5a9yzGusxDuMyDdFNA1VDt9vfGhRcXk88IeLVi9dYji1By2aRSaUQmYgaNdZjHMZlGo2YBgrBmaLyE34W2+ssQt+NMEpLjkFTVQOtzQEDrMc4jMs0yr5BVtMreXuBk+N5KHt7qKmvORBHJ2aM/84LIaMXGZuC4PQ4mYbCTKDCZrVaudGRMYMs7ezkxOMziIzOYGVp7aDW0RUE0TSOaShMAw0bUmo7FepsASEEK4trBjnYFkD/rTDKynLbYWZyOo1tMZ5iGgpzC0T/svzts5hKJrG6vI43A0NYieVM6hqqc9vRNFy83AF5dxfrS/Mi01gXdHBslB+HeZ/VLgx0Xb/TXewtdfxcFVFRVYL9MV98NgxpMcGOG6qiECmZTPES+aETTBuDRM8zIcvy0+iHd67Qlf5AbX1VQYa+sOjHOXT2tCIR+4W+jp79gWOpiyhOvxwczBoJHl3lwc5UJfo1m114WNcUOF7tb3J7feX51BiTT96rYiwORZIzJENEZLFjjvGnQwZ0X/QlooxG7aP98xRV5lNXKaY4YOjPOOI0urEECu6on/NfAQYAghtjz9rayCAAAAAASUVORK5CYII=' 
   : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtNJREFUeNqkU0lMU1EUPb90sFCl8GtHoAxFBCKDQEEEAzEqOISQaKILDSaGraw0Lt26cKcLXbgQN0Zj4gIiCwRawxCrCBiCMhNrCy1Qa1v6+wff+60ocenNP++/3HvOfffmvsdIkoT/MSVd+q4qoUxjoFQA5MtmGDQQdwmBIcULEMyRs8ZEYJMnCy9IfxL8Zc407YGL5iPNTra4tkSjy2KpM/5zKxj8+n7ON+2aEGM/XhDXxJ4KUtagOmC8Udre3aEz5RjUWi0USiXc7ndobKg3p7MWc1ZBdfls/6NsfnudFIoxKqIbkGJYqDOuOE5e79CZcw2+QBBcLIbo1hacNUflPfXRGOVQLtWIUioBL6CFddQ5tdlGg9fnx9MnvViaX4SQSCAeDsM14pZ9NEY5lEs1gphKwImoyrQddtCyjfpMdJ5vh8V0EALPy6irrpRBY5RDuVTD/U6QEKRchSZDzygU4HZ2kF+Uvyt2j4zL/6YTjXLMNTQKrd6gpxqCVAU81CqVihnsH5LJ0VAoKR4eh2twHMuLa7u+481OiILAUA1BcgqcgEA0vB1ubKrR01NWFtaQa7fAWV8Ji9kIqzXZzm3uLaZCGyiKqBJnBPlupFoQpcmlzx/84c1NrC59w7PHr7A8vyaLCovtyXYEAVNxP+pa2/Ax4Zc1r0v2JStICOhbmJ3stBaW2cwmi+5y1wXk5JloqYiSKdyJDmNG2CDzlhASQohEovGezqybpIN6uQIyT18sFnvofvNyKrj+PVJQlCOLXQMToG9lOuIDe6oM7OlyBPgAyi+1Zjafa6lAXKxhKOF+mwJ0prwonVVrtD2FpZWH7I5S1mi2pZPEuLU+wE/u+BHlYnFjV9X+meefPPLdZeDZk4D0BVGElVywThI+RpCXuuarBKN3W3Tdpmv2Cm/vigcqphZK5p/HRM1LEjxAEntMCHAV3ntfEkTooWLYNPglwABddGeEt7xfHwAAAABJRU5ErkJggg==';
};
toggleImage();
gPrefService.addObserver( s, toggleImage, false );
addDestructor(function() { gPrefService.removeObserver( s, toggleImage, false ) });


Что там надо поправить в первых строчках?
P.S. Network.cookie.cookieBehavior или иначе, Настройки --> Приватность --> Firefox будет использовать ваши настройки хранения истории.

Отредактировано xrun1 (09-06-2016 18:38:33)

Отсутствует

 

№1022409-06-2016 15:39:36

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

Re: Custom Buttons

xrun1

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

Выделить код

Код:

var s = 'network.cookie.cookieBehavior';

this. onmouseover = function (event){
custombuttons.getPrefs(s) == 0
? this.tooltipText="Куки принимать"
: this.tooltipText="Куки НЕ принимать";
};

this.onclick=function(e) {
if (e.button == 0) {
    if (custombuttons.getPrefs(s) == 1) {
        custombuttons.clearPrefs("network.cookie.cookieBehavior");
    } else {
        custombuttons.setPrefs("network.cookie.cookieBehavior", 1);
    }
} 
};
 
function toggleImage() { 
   var icon = self.ownerDocument.getAnonymousElementByAttribute( self, "class", "toolbarbutton-icon");
   icon.src = (custombuttons.getPrefs(s) != 0)
   ? 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAqRJREFUeNqkU0tPE1EYPTP0kYEGSltLeb+KSIxWRAoWMBiDWjUhBF1o4sLEuPaXGBfGGFkYUXcaEhcQE0OAlvAIGhNjCLE8BKkdA+XROkOnM3e8dzqgrLnpmU6+75wz5879htN1HUdZFnYZvmuBJY+DhQfoz8VxaKflRgqPydugWKDPmiZAUqUXVdP/Gfy3gnlC4U3fqa6gu+Fco91R7GbFTHprc/P73ELia2SWyLtvaWn2UAJztVsLvfebwg96HSUVHpsggLdYEI1OItTe5st3l/qKa5tPzo88d6nbv2lQTDMRuwEN44at4Lb/0r1eh6/Sk9jYhCLLkLa2EGw5a9yzGusxDuMyDdFNA1VDt9vfGhRcXk88IeLVi9dYji1By2aRSaUQmYgaNdZjHMZlGo2YBgrBmaLyE34W2+ssQt+NMEpLjkFTVQOtzQEDrMc4jMs0yr5BVtMreXuBk+N5KHt7qKmvORBHJ2aM/84LIaMXGZuC4PQ4mYbCTKDCZrVaudGRMYMs7ezkxOMziIzOYGVp7aDW0RUE0TSOaShMAw0bUmo7FepsASEEK4trBjnYFkD/rTDKynLbYWZyOo1tMZ5iGgpzC0T/svzts5hKJrG6vI43A0NYieVM6hqqc9vRNFy83AF5dxfrS/Mi01gXdHBslB+HeZ/VLgx0Xb/TXewtdfxcFVFRVYL9MV98NgxpMcGOG6qiECmZTPES+aETTBuDRM8zIcvy0+iHd67Qlf5AbX1VQYa+sOjHOXT2tCIR+4W+jp79gWOpiyhOvxwczBoJHl3lwc5UJfo1m114WNcUOF7tb3J7feX51BiTT96rYiwORZIzJENEZLFjjvGnQwZ0X/QlooxG7aP98xRV5lNXKaY4YOjPOOI0urEECu6on/NfAQYAghtjz9rayCAAAAAASUVORK5CYII=' 
   : 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAtNJREFUeNqkU0lMU1EUPb90sFCl8GtHoAxFBCKDQEEEAzEqOISQaKILDSaGraw0Lt26cKcLXbgQN0Zj4gIiCwRawxCrCBiCMhNrCy1Qa1v6+wff+60ocenNP++/3HvOfffmvsdIkoT/MSVd+q4qoUxjoFQA5MtmGDQQdwmBIcULEMyRs8ZEYJMnCy9IfxL8Zc407YGL5iPNTra4tkSjy2KpM/5zKxj8+n7ON+2aEGM/XhDXxJ4KUtagOmC8Udre3aEz5RjUWi0USiXc7ndobKg3p7MWc1ZBdfls/6NsfnudFIoxKqIbkGJYqDOuOE5e79CZcw2+QBBcLIbo1hacNUflPfXRGOVQLtWIUioBL6CFddQ5tdlGg9fnx9MnvViaX4SQSCAeDsM14pZ9NEY5lEs1gphKwImoyrQddtCyjfpMdJ5vh8V0EALPy6irrpRBY5RDuVTD/U6QEKRchSZDzygU4HZ2kF+Uvyt2j4zL/6YTjXLMNTQKrd6gpxqCVAU81CqVihnsH5LJ0VAoKR4eh2twHMuLa7u+481OiILAUA1BcgqcgEA0vB1ubKrR01NWFtaQa7fAWV8Ji9kIqzXZzm3uLaZCGyiKqBJnBPlupFoQpcmlzx/84c1NrC59w7PHr7A8vyaLCovtyXYEAVNxP+pa2/Ax4Zc1r0v2JStICOhbmJ3stBaW2cwmi+5y1wXk5JloqYiSKdyJDmNG2CDzlhASQohEovGezqybpIN6uQIyT18sFnvofvNyKrj+PVJQlCOLXQMToG9lOuIDe6oM7OlyBPgAyi+1Zjafa6lAXKxhKOF+mwJ0prwonVVrtD2FpZWH7I5S1mi2pZPEuLU+wE/u+BHlYnFjV9X+meefPPLdZeDZk4D0BVGElVywThI+RpCXuuarBKN3W3Tdpmv2Cm/vigcqphZK5p/HRM1LEjxAEntMCHAV3ntfEkTooWLYNPglwABddGeEt7xfHwAAAABJRU5ErkJggg==';
};
toggleImage();
gPrefService.addObserver( s, toggleImage, false );
addDestructor(function() { gPrefService.removeObserver( s, toggleImage, false ) });


И позволю себе порекламироваться. shuffle.gif

Отсутствует

 

№1022509-06-2016 15:45:30

bezuma
Участник
 
Группа: Members
Откуда: Москва
Зарегистрирован: 26-01-2014
Сообщений: 256
UA: Firefox 47.0

Re: Custom Buttons

bunda1
:) Спасибище! FF Exp Imp CB теперь нормуль, и переклюк анимации через адресную строку заработал
Осталась одна маленькая проблема с Save https://forum.mozilla-russia.org/viewto … 40#p493040 - не работают пункты Сохранить ярлык страницы... (мне для IE нужно)
Можно починить? Извиняюсь за настырность

Отсутствует

 

Board footer

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