>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Сustom Buttons http://forum.mozilla-russia.org/viewforum.php?id=34 >Обсуждение кнопок CB http://forum.mozilla-russia.org/viewtopic.php?id=57166 |
feas > 25-11-2012 15:51:38 |
Как сделать в кнопке TabScroll(Firefox) прокрутку не через 1 вкладку, а подряд. |
bunda1 > 25-11-2012 16:46:08 |
Как это подряд? |
feas > 25-11-2012 16:54:16 |
с 1-й на 2-ю с 2-й на 3-ю итд)) а не как в кнопке: с 1 на 3-ю с 3-й на 5-ю. (все значения на 1 ед прокрутки колеса) |
bunda1 > 25-11-2012 17:03:36 |
Мне кажется кнопка вообще не работает. |
voqabuhe > 25-11-2012 17:10:33 |
А что для этого кнопка нужна? У меня и так крутит. 25-11-2012 17:14:46 |
bunda1 > 25-11-2012 17:16:56 |
Да крутит, но кнопка вроде может крутить по кругу с последней на первую. |
feas > 25-11-2012 17:27:46 |
Ставим в рабочий режим, рестарт |
bunda1 > 25-11-2012 17:32:44 |
feas |
feas > 25-11-2012 17:37:52 |
bunda1 пишет
Чтобы не было проблемы с перезагрузкой. И может тогда сделать её только в инициализации, чтоб не пришлось нажимать каждый раз. |
bunda1 > 25-11-2012 17:39:48 |
Какие функции нужны от кнопки. 25-11-2012 17:40:48 feas пишет
|
feas > 25-11-2012 17:45:52 |
1 вариант. Чисто прокрутка колесом вкладок, без этой (в цитате) проблемы. Мне такая подойдет. feas пишет
2 вариант - для искушенных. ЛКМ - переход на самую левую. ПКМ - на самую правую. 25-11-2012 17:46:21 bunda1 пишет ок |
bunda1 > 25-11-2012 17:55:23 |
Прокрутка колесом вкладок у FF и так есть. feas пишет
По кругу что ли? |
feas > 25-11-2012 18:03:22 |
bunda1 пишет
имел ввиду на самую крайнюю. Тогда во 2-м варианте по кругу не будет нужна. |
bunda1 > 25-11-2012 18:09:54 |
Выделить код Код://Перейти на последнюю вкладку .... gBrowser.selectedTab = gBrowser.mTabs[gBrowser.mTabs.length - 1]; //Перейти на первую вкладку .... gBrowser.selectedTab = gBrowser.mTabContainer.childNodes[0];
А что с этим. |
feas > 25-11-2012 19:02:06 |
bunda1 пишет
незаметил.... |
bunda1 > 25-11-2012 20:33:47 |
Попробую, но не знаю что получится. |
adidharma > 23-12-2012 10:00:04 |
Чето в 23-12-2012 10:08:28 23-12-2012 12:20:08 voqabuhe пишет
|
voqabuhe > 23-12-2012 11:38:50 |
adidharma пишет
|
Babai555 > 26-12-2012 22:08:42 |
Если не в тему то удалите . |
feas > 26-12-2012 22:32:28 |
26-12-2012 22:34:14 |
iDev.Pi > 27-12-2012 01:20:29 |
bunda1 пишет
без дополнений? нет. |
iDev.Pi > 27-12-2012 10:51:30 |
okkamas_knife |
feas > 27-12-2012 12:08:15 |
У меня лежит код кнопки. Ввечером скину сюда |
bunda1 > 27-12-2012 21:00:21 |
iDev.Pi пишет
А вот и есть. Открой столько вкладок что бы появились кнопки прокрутки вкладок и покрути колёсиком мыши на вкладках. |
Babai555 > 27-12-2012 21:32:04 |
feas пишет
СПАСИБО!!! |
feas > 27-12-2012 22:33:54 |
bunda1 пишет
не очень удобно((( к сожалею кода у меня не осталось - стучите автору (см. начало темы) |
1fesFFFF > 05-01-2013 22:53:00 |
Кто может состряпать простенькую кнопку, чтобы при нажатии в новой вкладке |
bunda1 > 05-01-2013 23:12:31 |
1fesFFFF пишет
Создай кнопку с кодом: 05-01-2013 23:17:34 Пример: Выделить код Код: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%3Egoogle.ru%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%2C%2589PNG%250D%250A%251A%250A%2500%2500%2500%250DIHDR%2500%2500%2500%2510%2500%2500%2500%2510%2508%2506%2500%2500%2500%251F%25F3%25FFa%2500%2500%2500%2504sBIT%2508%2508%2508%2508%257C%2508d%2588%2500%2500%2500%2509pHYs%2500%2500%250E%25C3%2500%2500%250E%25C3%2501%25C7o%25A8d%2500%2500%2500%251CtEXtSoftware%2500Adobe%2520Fireworks%2520CS4%2506%25B2%25D3%25A0%2500%2500%2500%2516tEXtCreation%2520Time%250008%252F11%252F09%25D12_v%2500%2500%2501%25C6IDAT8%258Du%2592%25CDj%2513Q%2514%25C7%257F%29%25D9g%2593%2507%25B8%25FA%2500%25A2%250B%25B7%25E6%25AE%255C%25F9%2502YH%25B3%25E9%25C6%2597p%25B2u%25E7%25BEB%250A%258D%25D9%250A%25A2%251B%25A9%25DC%252C%25A4%2582%2510%25BA%25E9%25A6%28%258E%25AD%2514%25D2%250A%25C9%2540%25F0%2583%25CC%253D%257F%25173%2519%2526iz%25E00%25E7p%25CE%25FD%259D%258F9%2500%2592%25A4%25F05%25C8%25F5%2582%25F0A%25C9%2520H%2592%25B4%259C%252Bx%25AF%25D4%21qS%2501%25EDH%2502%2560p%2508%29%2580%2583%2524%2500y%2506%25CD%2516%259D%250Fo%25B8M%2504%25EC%25AC%259C%2590%25AE%2507%25FB%25C3%2593%25C2h%25B6%25C0%25F9%25AD%2580%251F%25AE%2506pn%253D%2598%25D6%2581%251B%25B1%25BA4W%2586w%251B%255D%25D4%251E%25A5%2501%25D2%250DH%25A7%25CCmh9%2517%25CD%2516%25E4%2519w%25F6NX1%255E%253F%25BBO%25F7a%258B%2583%2583%21I%25BA%25BF%250EH%25C1%25A7%25E0C%25A0%25E1z%2589%2592%259Eg%25B7%25D3%2501%2560%25F4%2525%25A3%25FB%2500h%25B6%25E8%258F%25FB%2524%21%25DC%253EB%250A%250D%25D7%250B%2522%250D8%25E7%25F1%251E%259E%25EF%2516%25A0%25F1%25B71%25FE%25D0o_%25E0%25DA%25A8%25BD%25A0%25E9%25EC%259F%25CCLf%25A6J%252C%25EA%25C9%25DB%253D1%25F0%253A%25BA%259C%28%25B7%25A8%25A3%25CB%2589%2518x%251D_%259C*%25B7%25A8%25E3%258BS%25E1%257C%25223%2513%25E5a%25D4U%2516%25E5%2507%2589r%258B%2502%258A%25EF%25C0o%25F8%25A1%25B8%253A%25CA%258B%255CI%25DD%258Fe%2581%25AD%2580%25FA%2583%259B%251D%25E4%25C54%25AA%2501%2512%25AFX%2503%25EC%2590ge%253EHB%25B2%25C2%25B6Hv%253E%252C%25FE5%258DjgO%25EF%253D%255E_%25A8%2596s%25A9%25AC%2520%2599%25FE%25CC%253EV%25FEr1U%2511%252F%253A43E%258B%2595%253F%25FF%25BBX%258D%2560%25D5%25CC%253F%253F%25DF%2595lY%2501%2525%25E9%25FB%25D5U%25D5%25F6J%25A3E%25BD%259A%25BC%2517%25F5D%25C9%2594%2506%25AF%25EC%257C%2524%2595%2595%25CE%25AE%25CF%25F4%25E8eW%25FB%2593w%259A.f%25CA-%25EA%25D7%25EFL%252F%253E%258D%25D4n%25B7%25F5%251FN2%25C0e-%2526g9%2500%2500%2500%2500IEND%25AEB%2560%2582%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*/%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5BgetBrowser%28%29.selectedTab%20%3D%20getBrowser%28%29.addTab%28%22https%3A//www.google.ru%22%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%u041E%u043D%u043B%u0430%u0439%u043D-%u043F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u0432%20%u0432%u0441%u043F%u043B%u044B%u0432%u0430%u044E%u0449%u0435%u043C%20%u043E%u043A%u043D%u0435%0A%u0411%u0435%u0437%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u0438%u044F%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0438%u0442%u0441%u044F%20%u0432%u0441%u044F%20%u0442%u0435%u043A%u0443%u0449%u0430%u044F%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0430%0A%0A%3Clabel%3E%20%0Aid%20%3D%20%3Cid%3E%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E |
feas > 05-01-2013 23:49:16 |
Открыть url в новой вкладке без проверки Выделить код Код:var url="http://custombuttons.mozdev.org/"; getBrowser (). selectedTab = getBrowser (). addTab (url); Открыть url в новой вкладке если она не пустая, если пустая то в текущей Выделить код Код:var url="http://custombuttons.mozdev.org/"; if(getBrowser().currentURI.spec == "about:blank") loadURI (url); else{ getBrowser (). selectedTab = getBrowser (). addTab (url); }; Открыть url в новой вкладке если она не пустая, если пустая то в текущей вариант 2 для ФФ 4+ Выделить код Код:var url = "http://custombuttons.mozdev.org/"; if( ( gBrowser.currentURI.spec == "about:blank" || gBrowser.currentURI.spec == cbu.getPrefs("browser.newtab.url") ) && !gBrowser.selectedBrowser.webProgress.isLoadingDocument ) loadURI(url); else gBrowser.selectedTab = gBrowser.addTab(url); Открыть url в текущей вкладке
- короче уже вынес сюда 05-01-2013 23:56:42 |
Pony_Smile_Pack > 06-01-2013 00:02:45 |
Ну и ещё вариант.
|
bunda1 > 06-01-2013 00:35:58 |
feas пишет
Что изменить на вертикальную? |
feas > 06-01-2013 00:42:12 |
bunda1 пишет
картинку видишь? это то ли персональная панель, то ли элементы панели закладок. |
bunda1 > 06-01-2013 01:04:51 |
feas пишет
Вижу. Я сейчас изменил orient на vertikal используя DOM Inspector Plus и ничего. Вот так. |
Infocatcher > 06-01-2013 01:25:44 |
bunda1 пишет
|
bunda1 > 06-01-2013 01:32:17 |
Infocatcher пишет
|
feas > 06-01-2013 02:18:27 |
bunda1 пишет
Ещё как практичную))) 06-01-2013 02:27:52 |
bunda1 > 06-01-2013 02:29:26 |
feas |
feas > 06-01-2013 15:02:26 |
Infocatcher, bunda1 спасибо вам. Решил пока стилем сделать. |
Kamui > 06-01-2013 17:14:37 |
feas пишет
Какой-то неказистый стиль, может должно быть: |
feas > 06-01-2013 17:29:00 |
Kamui пишет
может. А на что влияет синтаксис "{}" |
Kamui > 06-01-2013 17:36:17 |
feas |
Pony_Smile_Pack > 09-01-2013 05:10:52 |
Похоже на 18 |
bunda1 > 09-01-2013 09:01:03 |
Pony_Smile_Pack пишет
Я исправлю. |
feas > 31-01-2013 22:47:53 |
Установил кнопку VT на |
bunda1 > 01-02-2013 19:23:36 |
feas |
feas > 02-02-2013 20:57:15 |
Может я тут накосячил: От версии CB независит. (хоть релиз хоть тот пре что выше) Внешне выглядит так... кнопки вытянуты в высоту, большинство не работает, но там где голый код без инициализации пашут без проблем. 02-02-2013 21:04:26 |
bunda1 > 03-02-2013 11:59:27 |
feas |
feas > 04-02-2013 00:57:22 |
bunda1 пишет
Подтверждаю - работает как прежде. |
sonyas75 > 11-02-2013 22:56:56 |
bunda1 извините, если не туда пишу |
bunda1 > 11-02-2013 23:07:39 |
sonyas75 |
sonyas75 > 11-02-2013 23:30:29 |
о! благодарствую. |
vom > 21-02-2013 08:07:14 |
Подскажите пожалуйста, максимально простой код для кнопки вкл/выкл навигационной панели. |
bunda1 > 21-02-2013 09:20:05 |
vom Выделить код Код:document.getElementById("nav-bar").collapsed = !document.getElementById("nav-bar").collapsed; |
vom > 21-02-2013 10:29:46 |
bunda1 |
Kamui > 21-02-2013 10:35:27 |
vom Выделить код Код:#page-proxy-favicon { opacity: .5 !important; } #urlbar:hover #page-proxy-favicon { opacity: 1 !important; } |
vom > 21-02-2013 10:44:45 |
Kamui |
fish08 > 13-03-2013 18:09:55 |
Подскажите как сделать чтобы кнопка Linkification всегда была активной? |
bunda1 > 13-03-2013 21:28:23 |
fish08 |
fish08 > 14-03-2013 13:42:25 |
bunda1 пишет
Иконку поменял но после перезагрузки страницы или браузера она опять не активна.. |
bunda1 > 14-03-2013 19:29:27 |
fish08 |
fish08 > 14-03-2013 19:46:04 |
bunda1 пишет
может не поняли друг друга. Мне надо чтобы кнопка всегда была нажатой. |
bunda1 > 14-03-2013 20:14:28 |
fish08 пишет
Значит тебе нужно что бы кнопка автоматически превращала на страницах текстовые ссылки в обычные. Ну это не так сразу не сделаешь, может просто установи Linkification :: Дополнения Firefox или http://userscripts.org/scripts/show/67744 |
fish08 > 14-03-2013 22:27:22 |
Ясно, поставил скрипт но кнопка все же лучше работает(поставлю ее если переделаете). Спасибо. |
feas > 01-04-2013 22:24:43 |
Можно вернуть к жизни эту кнопку? Master Edit Button №130 после Конвертирование старых кнопок с XML (E4X) 01-04-2013 22:48:21 |
bunda1 > 02-04-2013 20:38:36 |
feas 02-04-2013 20:39:14 feas пишет
Вот пример такой кнопки: Выделить код Код:// Настройка функций кликов мыши ................................................................ this.onclick = function(e) { if ( e.button == 0 ) menuPopup.showPopup(this, -1, -1, "popup", "bottomleft", "topleft"); }; // Создать меню ................................................................................. var array = [ "scripts 1", "scripts 2", "scripts qwerty", "scripts 44 55 66", "separator", "scripts some 1", "scriptssome 2", "scripts some 3" ]; var node = document.getElementById(this.id + "-menuPopup"); if ( node && node.parentNode ) node.parentNode.removeChild(node); // блокировать дублирование меню var menuPopup = document.getElementById("mainPopupSet").appendChild(document.createElement("menupopup")); menuPopup.id = this.id + "-menuPopup"; array.forEach(function(str) { if ( str == "separator" ) { menuPopup.appendChild( document.createElement("menuseparator") ); return }; var menuItem = document.createElement("menuitem"); menuItem.setAttribute("label", str ); menuItem.addEventListener("command", insertOrCopyText, false); menuPopup.appendChild(menuItem); }); //this.type = "menu"; // Ставить текст в текстовое поле или скопировать из меню .......................................... function insertOrCopyText( text ) { var text = this.label; try { document.commandDispatcher.focusedElement.type; } catch(e) { gClipboard.write( text); return }; var cmd = "cmd_insertText"; var controller = document.commandDispatcher.getControllerForCommand(cmd); if ( controller && controller.isCommandEnabled(cmd) ) { var controller = controller.QueryInterface(Components.interfaces.nsICommandController); var params = Components.classes["@mozilla.org/embedcomp/command-params;1"].createInstance(Components.interfaces.nsICommandParams); params.setStringValue("state_data", text); controller.doCommandWithParams(cmd, params); } }; |
feas > 02-04-2013 20:54:18 |
bunda1 пишет
пока ПКМ не сделал, не догадался бы bunda1 пишет
спасиб, работает. (остальным: вставляйте в инициализацию) |
adidharma > 03-04-2013 12:41:44 |
|
Infocatcher > 03-04-2013 12:46:49 |
adidharma |
adidharma > 03-04-2013 13:04:28 |
Infocatcher |
Infocatcher > 03-04-2013 13:27:30 |
adidharma пишет
Там эта настройка уже удалена, как и E4X, который она включала. |
adidharma > 03-04-2013 13:57:34 |
Infocatcher пишет
И, больше ничего не сделать, для 21 и выше? |
Infocatcher > 03-04-2013 14:11:09 |
adidharma пишет
Кроме как переписать неработающий код без использования E4X? Ничего. |
adidharma > 03-04-2013 14:45:05 |
Infocatcher пишет
Спасибо. |
Pony_Smile_Pack > 03-04-2013 15:03:21 |
adidharma пишет
И работают даже после перезапуска? |
adidharma > 03-04-2013 15:16:33 |
Pony_Smile_Pack пишет
Да. |
Inko7 > 03-04-2013 15:26:11 |
Infocatcher adidharma пишет
Аналогично! Присоединяюсь с благодарностям! |
Infocatcher > 03-04-2013 15:43:45 |
Inko7 пишет
Все верно. Причем при javascript.options.xml.chrome = false редактировать кнопки можно только в экспериментальной версии CB, иначе потом чинить придется. |
oopsididagainster > 04-04-2013 21:26:55 |
Просьба. |
VORON > 05-04-2013 10:17:32 |
Здравствуйте. |
bunda1 > 05-04-2013 18:58:18 |
VORON пишет
Расстояние от курсора и длительность нахождения курсора рядом с вертикальной панелью при котором она появляется или сворачивается можно изменить в начале кода инициализации в кнопке изменяя эти константы: showDelay, distanceShow, distanceHide. |
VORON > 05-04-2013 19:08:58 |
bunda1 |
bunda1 > 05-04-2013 19:14:58 |
VORON пишет
Так не должно быть, ты наверно положил код из вкладки Код в вкладку Инициализация. 05-04-2013 19:16:47 05-04-2013 19:35:26 oopsididagainster пишет
Выделить код Код: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%3EUser-agent%20change%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/gif%3Bbase64%2CR0lGODdhEAAQAPcAAAAAAAAAALi4uMjIyNDQ0Pj4+MC8vCAUFAgEBLxYWLxAQMhYWMhAQNRYWBAEBNRAQLwgIMggIORYWNQgIORAQOQgIPBgYPAoKPRAQPQcILwICMgICNQICOQICPAEBPgIBP8AAP8oKP9gYPQQCPQoHPRgVPRAKNQgCOQgCPQgCNRAKORAKPRYQLwgCMggCNRYQLxAKMhAKORYQMhYQLxYQPRYKPRADORYKMBAFNRADORADNRYKMhYKLxYKPRYDMBABNRYFORYDMBYFNRYBMBYBCAUBNDQyCAkDCA0BCA0FCBEDCBUDAgUBCB0BCBkDCCEDCCUDCB0FCCkDCC0DCDECCDUCCDkCCD0CCj0HBD0CCDEICDUICDkICjwKBz0IAi0DAjECAjUCAjkCAj0BADwBAD/ACj/KCCUJCC0JAhkDAh0DAiEDAiUDAikDAD4CCB0JAhEDAhUDAT0ECBUJCCkLAg0DAjUIAjkIAj0ICCELCC0NAjEIAgkDCBkLCCUNCD0RCA0JCDURAi0LCDkTAikLCB0NCC0RAiULCD0VCDETCDUVAiELAjkTAj0TCD0ZCBELCCkTCC0VAh0LAjUTCCUTCDUZAjETCBUNCDkbAhkLCD0dAi0TAj0ZAjkZCB0RCCETAikTBD0dAD4cCC0ZCDEbCDUdAhULAj0dAD/eAiUTAjUbAjkdADwdLjAvMjQzLzMxAAIBAjEbCC0dAiETCCUZCCkbAi0bAhELCB0VAh0TAikbCBkTCCUdAiUbCCEbAhkTAiEbCB0ZAg0LCBUTAhUTAh0bCA0NAgUFCB0dAhkbCBkbAhETCBETCBUZAgkLAhUbAg0TCBUdAhEbCA0RCBEbAg0bAgkTCA0VCAkLAgULCA0ZAgkbCA0dAgUTAgUbCAkTCAkbLi4wMjI0Ly8zAAACAgEbAgETAgELCAUdCAUZCAUTAgEFCAEbCAUNCAETCAELCAUJNDIzCAEDLxAWMhAWNRAWORAWPRAWLwIIMgIINQIIOQIIPQIIPQEEPRUWPgACCwAAAAAEAAQAAAIhwAJCBxIsOBABAIRmFlohmDDhAsVMjRThkAZVAcjlinjZiJFgWYkIkwocSHIkAjEkfR4cqErAghSTvwjMIRNmzEZ5nxo81+ImC8FkkNgsyZOogd/fvggEMNSDx6YwiTwM4QIozdvxox51egHqyJwhkVgYKDUr1pDeBgpUCqBD//+fYhqsK7dgAA7%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20ps%20%3D%20Components.%20classes%20%5B%22@mozilla.org/preferences-service%3B1%22%5D.%20getService%20%28Components.%20interfaces.%20nsIPrefService%29.%20getBranch%20%28%22general.%22%29%3B%0A%20%20%20%20ps.%20setCharPref%20%28%22useragent.override%22%2C%20%22reset%22%29%3B%0A%0Athis.PS%20%3D%20Components.classes%5B%27@mozilla.org/preferences-service%3B1%27%5D%20.getService%28Components.interfaces.nsIPrefBranch%29%3B%0Athis.PS.clearUserPref%28%22general.useragent.override%22%29%3B%0Athis.image%3D%0A%27data%3Aimage/gif%3Bbase64%2CR0lGODdhEAAQAPcAAAAAAAAAAHh4eJiYmLi4uMjIyNDQ0Pj4+MC8vKCYmJiMjHBgYJB0dKCIiJhgYCAUFKxwcHRAQAgEBKxYWJRAQLxYWKBAQKxAQDgUFMxwcHQoKLxAQMxYWIQoKNhwcJQoKMxAQBAEBFAUFKwoKNhYWLwoKNhAQKAgIMwoKNgoKCAEBDgEBFAEBKAoJKAwKNhgWNhYUIxkYIRIQLx4cJhgWNhAKLxAKNhYQMxAKMxYQKxAKNhwWKCQjJhoXLxYQMxwWKBAKFAUBKxYQJRAKFg0KLxwWIRAKFAkFNhYKHhkXKxwWMxYKDgUBHRAKLxYKNhwQHBgWEw0KMxwQJh0YKxYKLxwQNhwKFAkBKxwQDgkFMxwKIx0YLxwKFA0FKxwKCAUBHBoXDgkBFA0BJyYjDg0KDg0FDg0BHh4cNDQyHR0YCAkBCAkFCA0BCA0FJCcjAgUBAgkBAg0BIigiFhwWCg0KFh4XDR0QIiYjAg0FCh0QIigkFhwYFB0XCB0PBh4OBhwPBh4QAgkFLjAvMjQzLzMxER0XBw0KBx0SAAIBDR0WCB0WAg0KIycmHB0dAgUFAgkKAg0QCA0QAg0WCAkKAgkQCA0WAgUKAgkWAgUQAgUWCAkQCAkWIyMkLi4wMjI0Ly8zAAACAgEQAgEWDg0WAgEKCAUWAgEFCAUQDg0QCAEWBwUKDgkWCAEQDgUWDgEWEw0WDgkQCAEKDgUQFAkWDgEQFAUWFAEWHRkdFg0WCgUKHQocHRAcFAEQIQocJyMmFAUQIRAcDgEKJQocFAkQHQoWKAocJRAcCAEFDgUKKwocHhwdNDIzKBAcIQoWLwocHRAWFAEKFA0QKxAcJQoWMwocNgocLxAcKAoWJBkdKwoWKCIkIRAWMxAcFAUKHQoQLwoWNhAcKxYcJRAWMwoWDgEFNgoWHRkaLxYcKBAWIQoQKxAWJQoQDgkKLxAWMxYcKAoQFAEFMxAWKwoQNhYcLwoQNhAWMwoQNgoQKAkMJhkaFAkKNhUYIQ8QLxscKAgKNhQVCwAAAAAEAAQAAAIpgANCBxIsOBACQIl+Fnoh6CAg3L8KOzTZ2EdA3X2HFwooY5Hjwv7XDQwQKFETwklVFwoUIBEhCkX5qkokBPDQQYkSBi0kqKBQUnyCc2nkyEiRCwN9OgxoodOnCmXChTqVEK+g0RH4BM4ocWIFmATDnKaj8fUfD2EhkurUyePZQJ7hGsx4cULtBL+EUUwsAXOFmjZ9mgBU+CIgSMSgx2B0qBAqI4NBAQAOw%3D%3D%27%3B%0A%0A%0Avar%20%u043C%u0435%u043D%u044E%20%3D%0A%27%3Cmenupopup%20xmlns%3D%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%5Cn%5C%0A%20%20%20%20%20%20%20oncommand%3D%22this.parentNode.%u0441%u043C%u0435%u043D%u0438%u0442%u044C%u042E%u0437%u0435%u0440%u0430%u0433%u0435%u043D%u0442%28event%29%22%3E%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22reset%22%20label%3D%22Default%20User-Agent%22/%3E%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%3Cmenuseparator/%3E%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22Mozilla/5.0%20%28Windows%3B%20U%3B%20Windows%20NT%205.1%3B%20ru%3B%20rv%3A1.9.2.3%29%20Gecko/20100401%20Firefox/3.6.15%20YB/3.5.1%22%20label%3D%22FF%203.6.15+yandexbar%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22Mozilla/5.0%20%28Windows%3B%20U%3B%20Windows%20NT%205.1%3B%20ru%3B%20rv%3A1.9.1.4%29%20Gecko/20091016%20Firefox/1.5.4%22%20label%3D%22firefox%201.5.4%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22Mozilla/4.76C-SGI%20%5Bru%5D%20%28X11%3B%20I%3B%20IRIX64%206.5%20IP30%29%22%20label%3D%22Mozilla%20SGI%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22Mozilla/4.0%20%28compatible%3B%20MSIE%206.0%3B%20Windows%20NT%205.1%3B%20SV1%29%22%20label%3D%22IE-6%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22Googlebot/2.1%20%28+http%3A//www.google.com/bot.html%29%22%20label%3D%22Googlebot%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22iCab/3.0.2%20%28Macintosh%3B%20U%3B%20PPC%20Mac%20OS%29%22%20label%3D%22iCab/Mac%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22Mozilla/5.0%20%28X11%3B%20Linux%20x86_64%3B%20rv%3A2.0b6pre%29%20Gecko/20100401%20Firefox/3.6.3%22%20label%3D%22Linux%20x86_64%3B%20rv%3A2.0b6pre%29%20Gecko/20100401%20Firefox/3.6.3%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22AmigaVoyager/3.2%20%28AmigaOS/MC680x0%29%22%20label%3D%22AmigaVoyager%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22Mozilla/5.0%20%28X11%3B%20U%3B%20Linux%20x86_64%3B%20en-US%3B%20rv%3A1.9.1.3%29%20Gecko/20090914%20Slackware/13.0_stable%20Firefox/3.5.3%22%20label%3D%22Slackware%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22Mozilla/5.0%20%28Macintosh%3B%20U%3B%20PPC%20Mac%20OS%20X%2010.4%3B%20ru%3B%20rv%3A1.9.2.3%29%20Gecko/20100401%20Firefox/3.6.3%22%20label%3D%22Firefox/3.6.3%20Mac%20OS%20X%2010.4%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22NCSA%20Mosaic/1.0%20%28X11%3BSunOS%204.1.4%20sun4m%29%22%20label%3D%22NCSA%20Mosaic/1.0%20%28X11%3BSunOS%204.1.4%20sun4m%29%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22NetSurf/2.0%20%28RISC%20OS%3B%20armv5l%29%22%20label%3D%22NetSurf/2.0%20%28RISC%20OS%3B%20armv5l%29%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22Mozilla/1.10%20%5Ben%5D%20%28Compatible%3B%20RISC%20OS%203.70%3B%20Oregano%201.10%29%22%20label%3D%22Mozilla/1.10%20%5Ben%5D%20%28Compatible%3B%20RISC%20OS%203.70%3B%20Oregano%201.10%29%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22Mozilla/5.0%20%28BeOS%3B%20U%3B%20Haiku%20BePC%3B%20en-US%3B%20rv%3A1.8.1.10pre%29%20Gecko/20080112%22%20label%3D%22Mozilla/5.0%20%28BeOS%3B%20U%3B%20Haiku%20BePC%3B%20en-US%3B%20rv%3A1.8.1.10pre%29%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22Mozilla/5.0%20%28OS/2%3B%20U%3B%20Warp%204.5%3B%20en-US%3B%20rv%3A1.8.1.3pre%29%20Gecko/20070307%22%20label%3D%22Mozilla/5.0%20%28OS/2%3B%20U%3B%20Warp%204.5%3B%20en-US%3B%20rv%3A1.8.1.3pre%29%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22Mozilla/5.0%20%28PLAYSTATION%203%3B%202.00%29%22%20label%3D%22Mozilla/5.0%20%28PLAYSTATION%203%3B%202.00%29%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22Links%20%286.9%3B%20Unix%206.9-astral%20sparc%3B%2080x25%29%22%20label%3D%22Links%20%286.9%3B%20Unix%206.9-astral%20sparc%3B%2080x25%29%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22NCSA_Mosaic/2.0%20%28Windows%203.1%29%22%20label%3D%22NCSA_Mosaic/2.0%20%28Windows%203.1%29%22/%3E%5Cn%5C%0A%20%20%20%20%3Cmenuitem%20type%3D%22radio%22%20value%3D%22Mozilla/5.0%20%28Windows%3B%20U%3B%20Windows%20NT%206.1%3B%20en-US%29%20AppleWebKit/532.9%20%28KHTML%2C%20like%20Gecko%29%20Chrome/5.0.307.0%20Safari/532.9%22%20label%3D%22Chrome/5.0.307.0%22/%3E%5Cn%5C%0A%3C/menupopup%3E%27%3B%0A%0A%0A%u043C%u0435%u043D%u044E%20%3D%20e4xConv_parseXULFromString%20%28%u043C%u0435%u043D%u044E%29%3B%0A%u043C%u0435%u043D%u044E.%20childNodes%20%5B0%5D.%20setAttribute%20%28%22checked%22%2C%20%22true%22%29%3B%0Athis.%20orient%20%3D%20%22horizontal%22%3B%0Athis.%20type%20%3D%20%22menu%22%3B%0Athis.%20appendChild%20%28%u043C%u0435%u043D%u044E%29%3B%0Athis.%20%u0441%u043C%u0435%u043D%u0438%u0442%u044C%u042E%u0437%u0435%u0440%u0430%u0433%u0435%u043D%u0442%20%3D%20function%20%28%u0441%u043E%u0431%u044B%u0442%u0438%u0435%29%0A%7B%0A%20%20%20%20var%20%u044E%u0437%u0435%u0440%u0430%u0433%u0435%u043D%u0442%20%3D%20%u0441%u043E%u0431%u044B%u0442%u0438%u0435.%20target.%20getAttribute%20%28%22value%22%29%3B%0A%20%20%20%20%20%20%20var%20ps%20%3D%20Components.%20classes%20%5B%22@mozilla.org/preferences-service%3B1%22%5D.%20getService%20%28Components.%20interfaces.%20nsIPrefService%29.%20getBranch%20%28%22general.%22%29%3B%0A%20%20%20%20ps.%20setCharPref%20%28%22useragent.override%22%2C%20%u044E%u0437%u0435%u0440%u0430%u0433%u0435%u043D%u0442%29%3B%0Athis.PS%20%3D%20Components.classes%5B%27@mozilla.org/preferences-service%3B1%27%5D%20.getService%28Components.interfaces.nsIPrefBranch%29%3B%0Athis.pref%3D%27general.useragent.override%27%3B%0Avar%20state%3Dthis.PS.getCharPref%28this.pref%29%3B%0Aif%20%28state%3D%3D%22reset%22%29%20%7B%20%0Athis.PS%20%3D%20Components.classes%5B%27@mozilla.org/preferences-service%3B1%27%5D%20.getService%28Components.interfaces.nsIPrefBranch%29%3B%0Athis.pref%3D%27general.useragent.override%27%3B%0Avar%20state%3Dthis.PS.getCharPref%28this.pref%29%3B%0Athis.PS%20%3D%20Components.classes%5B%27@mozilla.org/preferences-service%3B1%27%5D%20.getService%28Components.interfaces.nsIPrefBranch%29%3B%0Athis.PS.clearUserPref%28%22general.useragent.override%22%29%3B%20%0Athis.image%3D%0A%27data%3Aimage/gif%3Bbase64%2CR0lGODdhEAAQAPcAAAAAAAAAAHh4eJiYmLi4uMjIyNDQ0Pj4+MC8vKCYmJiMjHBgYJB0dKCIiJhgYCAUFKxwcHRAQAgEBKxYWJRAQLxYWKBAQKxAQDgUFMxwcHQoKLxAQMxYWIQoKNhwcJQoKMxAQBAEBFAUFKwoKNhYWLwoKNhAQKAgIMwoKNgoKCAEBDgEBFAEBKAoJKAwKNhgWNhYUIxkYIRIQLx4cJhgWNhAKLxAKNhYQMxAKMxYQKxAKNhwWKCQjJhoXLxYQMxwWKBAKFAUBKxYQJRAKFg0KLxwWIRAKFAkFNhYKHhkXKxwWMxYKDgUBHRAKLxYKNhwQHBgWEw0KMxwQJh0YKxYKLxwQNhwKFAkBKxwQDgkFMxwKIx0YLxwKFA0FKxwKCAUBHBoXDgkBFA0BJyYjDg0KDg0FDg0BHh4cNDQyHR0YCAkBCAkFCA0BCA0FJCcjAgUBAgkBAg0BIigiFhwWCg0KFh4XDR0QIiYjAg0FCh0QIigkFhwYFB0XCB0PBh4OBhwPBh4QAgkFLjAvMjQzLzMxER0XBw0KBx0SAAIBDR0WCB0WAg0KIycmHB0dAgUFAgkKAg0QCA0QAg0WCAkKAgkQCA0WAgUKAgkWAgUQAgUWCAkQCAkWIyMkLi4wMjI0Ly8zAAACAgEQAgEWDg0WAgEKCAUWAgEFCAUQDg0QCAEWBwUKDgkWCAEQDgUWDgEWEw0WDgkQCAEKDgUQFAkWDgEQFAUWFAEWHRkdFg0WCgUKHQocHRAcFAEQIQocJyMmFAUQIRAcDgEKJQocFAkQHQoWKAocJRAcCAEFDgUKKwocHhwdNDIzKBAcIQoWLwocHRAWFAEKFA0QKxAcJQoWMwocNgocLxAcKAoWJBkdKwoWKCIkIRAWMxAcFAUKHQoQLwoWNhAcKxYcJRAWMwoWDgEFNgoWHRkaLxYcKBAWIQoQKxAWJQoQDgkKLxAWMxYcKAoQFAEFMxAWKwoQNhYcLwoQNhAWMwoQNgoQKAkMJhkaFAkKNhUYIQ8QLxscKAgKNhQVCwAAAAAEAAQAAAIpgANCBxIsOBACQIl+Fnoh6CAg3L8KOzTZ2EdA3X2HFwooY5Hjwv7XDQwQKFETwklVFwoUIBEhCkX5qkokBPDQQYkSBi0kqKBQUnyCc2nkyEiRCwN9OgxoodOnCmXChTqVEK+g0RH4BM4ocWIFmATDnKaj8fUfD2EhkurUyePZQJ7hGsx4cULtBL+EUUwsAXOFmjZ9mgBU+CIgSMSgx2B0qBAqI4NBAQAOw%3D%3D%27%3B%0A%0A%20%7D%0A%20else%20%7B%20this.image%3D%0A%27data%3Aimage/gif%3Bbase64%2CR0lGODdhEAAQAPcAAAAAAAAAALi4uMjIyNDQ0Pj4+MC8vCAUFAgEBLxYWLxAQMhYWMhAQNRYWBAEBNRAQLwgIMggIORYWNQgIORAQOQgIPBgYPAoKPRAQPQcILwICMgICNQICOQICPAEBPgIBP8AAP8oKP9gYPQQCPQoHPRgVPRAKNQgCOQgCPQgCNRAKORAKPRYQLwgCMggCNRYQLxAKMhAKORYQMhYQLxYQPRYKPRADORYKMBAFNRADORADNRYKMhYKLxYKPRYDMBABNRYFORYDMBYFNRYBMBYBCAUBNDQyCAkDCA0BCA0FCBEDCBUDAgUBCB0BCBkDCCEDCCUDCB0FCCkDCC0DCDECCDUCCDkCCD0CCj0HBD0CCDEICDUICDkICjwKBz0IAi0DAjECAjUCAjkCAj0BADwBAD/ACj/KCCUJCC0JAhkDAh0DAiEDAiUDAikDAD4CCB0JAhEDAhUDAT0ECBUJCCkLAg0DAjUIAjkIAj0ICCELCC0NAjEIAgkDCBkLCCUNCD0RCA0JCDURAi0LCDkTAikLCB0NCC0RAiULCD0VCDETCDUVAiELAjkTAj0TCD0ZCBELCCkTCC0VAh0LAjUTCCUTCDUZAjETCBUNCDkbAhkLCD0dAi0TAj0ZAjkZCB0RCCETAikTBD0dAD4cCC0ZCDEbCDUdAhULAj0dAD/eAiUTAjUbAjkdADwdLjAvMjQzLzMxAAIBAjEbCC0dAiETCCUZCCkbAi0bAhELCB0VAh0TAikbCBkTCCUdAiUbCCEbAhkTAiEbCB0ZAg0LCBUTAhUTAh0bCA0NAgUFCB0dAhkbCBkbAhETCBETCBUZAgkLAhUbAg0TCBUdAhEbCA0RCBEbAg0bAgkTCA0VCAkLAgULCA0ZAgkbCA0dAgUTAgUbCAkTCAkbLi4wMjI0Ly8zAAACAgEbAgETAgELCAUdCAUZCAUTAgEFCAEbCAUNCAETCAELCAUJNDIzCAEDLxAWMhAWNRAWORAWPRAWLwIIMgIINQIIOQIIPQIIPQEEPRUWPgACCwAAAAAEAAQAAAIhwAJCBxIsOBABAIRmFlohmDDhAsVMjRThkAZVAcjlinjZiJFgWYkIkwocSHIkAjEkfR4cqErAghSTvwjMIRNmzEZ5nxo81+ImC8FkkNgsyZOogd/fvggEMNSDx6YwiTwM4QIozdvxox51egHqyJwhkVgYKDUr1pDeBgpUCqBD//+fYhqsK7dgAA7%27%3B%0A%0A%20%7D%3B%0A%7D%0A%20%20%0A%0Afunction%20e4xConv_parseXULFromString%28xul%29%20%7B%0A%09xul%20%3D%20xul.replace%28/%3E%5Cs+%3C/g%2C%20%22%3E%3C%22%29%3B%0A%09return%20new%20DOMParser%28%29.parseFromString%28xul%2C%20%22application/xml%22%29.documentElement%3B%0A%7D%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E |
VORON > 05-04-2013 22:16:31 |
bunda1 |
humnmind > 07-04-2013 11:49:10 |
У кого-нибудь кнопка Plugins Permissions работает? |
Infocatcher > 07-04-2013 17:12:05 |
humnmind на – будет частично работать для Flash. 07-04-2013 17:18:10 Infocatcher пишет
Это, впрочем, легко подправить, но вот для контроля всех плагинов придется делать по кнопке на каждый... 07-04-2013 17:24:40 Infocatcher пишет
Это все видно в %профиль%/permissions.sqlite – таблица moz_hosts, столбец type. |
Infocatcher > 07-04-2013 17:46:40 |
А в SeaMonkey 2.17 не работает ни "plugins", ни "plugin:flash", ни встроенная переключалка (переключает, но не сохраняет). Ну, вообще молодцы, чё. 07-04-2013 18:15:52 |
humnmind > 07-04-2013 18:52:37 |
Infocatcher |
Infocatcher > 07-04-2013 19:14:31 |
humnmind |
humnmind > 07-04-2013 19:17:41 |
Infocatcher |
Infocatcher > 07-04-2013 19:47:54 |
humnmind пишет
07-04-2013 19:49:40 |
feas > 09-04-2013 21:22:49 |
bunda1 пишет
Возникла проблема - это для символов и даже ссылок, но вот мне нужно такой формат в буфере, и в меню желательно отдельное название: Выделить код Код:jQuery(function(){ jQuery.fn.getTitle = function() { // Copy the title of every IMG tag and add it to its parent A so that fancybox can show titles var arr = jQuery("a.fancybox"); jQuery.each(arr, function() { var title = jQuery(this).children("img").attr("title"); jQuery(this).attr('title',title); }) } // Supported file extensions var thumbnails = jQuery("a:has(img)").not(".nolightbox").filter( function() { return /\.(jpe?g|png|gif|bmp)$/i.test(jQuery(this).attr('href')) }); thumbnails.addClass("fancybox").attr("rel","fancybox").getTitle(); jQuery("a.fancybox").fancybox({ 'cyclic': true, 'autoScale': true, 'padding': 10, 'opacity': true, 'speedIn': 500, 'speedOut': 500, 'changeSpeed': 300, 'overlayShow': true, 'overlayOpacity': "0.3", 'overlayColor': "#666666", 'titleShow': true, 'titlePosition': 'inside', 'enableEscapeButton': true, 'showCloseButton': true, 'showNavArrows': true, 'hideOnOverlayClick': true, 'hideOnContentClick': false, 'width': 560, 'height': 340, 'transitionIn': "elastic", 'transitionOut': "elastic", 'centerOnScroll': true }); }) </script> |
bunda1 > 09-04-2013 21:56:35 |
feas пишет
Сделал по простому, твой большой код в вкладке Справка: Выделить код Код: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%3Eeksperimental%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bcustombuttons-stdicon-4%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20................................................................%20%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%20menuPopup.showPopup%28this%2C%20-1%2C%20-1%2C%20%22popup%22%2C%20%22bottomleft%22%2C%20%22topleft%22%29%3B%0A%7D%3B%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u043C%u0435%u043D%u044E%20.................................................................................%0Avar%20array%20%3D%20%5B%0A%20%20%20%20%22scripts%201%22%2C%0A%20%20%20%20%22scripts%202%22%2C%0A%20%20%20%20%22scripts%20qwerty%22%2C%0A%20%20%20%20%22scripts%2044%2055%2066%22%2C%20%20%20%20%0A%20%20%20%20%20%20%20%22separator%22%2C%0A%20%20%20%20%22scripts%20some%201%22%2C%0A%20%20%20%20%22scriptssome%202%22%2C%0A%20%20%20%20%22scripts%20some%203%22%2C%0A%20%20%20%20this.Help%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%3B%0A%0Avar%20node%20%3D%20document.getElementById%28this.id%20+%20%22-menuPopup%22%29%3B%0Aif%20%28%20node%20%26%26%20node.parentNode%20%29%20node.parentNode.removeChild%28node%29%3B%20//%20%u0431%u043B%u043E%u043A%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0434%u0443%u0431%u043B%u0438%u0440%u043E%u0432%u0430%u043D%u0438%u0435%20%u043C%u0435%u043D%u044E%0A%0Avar%20menuPopup%20%3D%20document.getElementById%28%22mainPopupSet%22%29.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0AmenuPopup.id%20%3D%20this.id%20+%20%22-menuPopup%22%3B%0A%0Aarray.forEach%28function%28str%29%20%7B%0A%20%20%20%20%20if%20%28%20str%20%3D%3D%20%22separator%22%20%29%20%7B%20menuPopup.appendChild%28%20document.createElement%28%22menuseparator%22%29%20%29%3B%20return%20%7D%3B%20%0A%20%20%20%20%20var%20menuItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%0A%20%20%20%20%20menuItem.setAttribute%28%22label%22%2C%20str.substring%28%200%2C%2020%20%29%20%29%3B%20%0A%20%20%20%20%20menuItem.setAttribute%28%22value%22%2C%20str%20%29%3B%20%0A%20%20%20%20%20menuItem.addEventListener%28%22command%22%2C%20insertOrCopyText%2C%20false%29%3B%20%0A%20%20%20%20%20menuPopup.appendChild%28menuItem%29%3B%0A%7D%29%3B%0A//this.type%20%3D%20%22menu%22%3B%20%0A%0A%0A%0A//%20%u0421%u0442%u0430%u0432%u0438%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u0432%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u043E%u0435%20%u043F%u043E%u043B%u0435%20%u0438%u043B%u0438%20%u0441%u043A%u043E%u043F%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0438%u0437%20%u043C%u0435%u043D%u044E%20..........................................%0Afunction%20insertOrCopyText%28%29%20%7B%20%0A%0A%20%20%20var%20text%20%3D%20this.value%3B%0A%20%20%20%0A%20%20%20try%20%7B%20document.commandDispatcher.focusedElement.type%3B%20%7D%0A%20%20%20catch%28e%29%20%7B%20gClipboard.write%28%20text%29%3B%20return%20%7D%3B%0A%20%20%20%0A%20%20%20var%20cmd%20%3D%20%22cmd_insertText%22%3B%0A%20%20%20var%20controller%20%3D%20document.commandDispatcher.getControllerForCommand%28cmd%29%3B%0A%20%20%20if%20%28%20controller%20%26%26%20controller.isCommandEnabled%28cmd%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20var%20controller%20%3D%20controller.QueryInterface%28Components.interfaces.nsICommandController%29%3B%0A%20%20%20%20%20%20%20%20var%20params%20%3D%20Components.classes%5B%22@mozilla.org/embedcomp/command-params%3B1%22%5D.createInstance%28Components.interfaces.nsICommandParams%29%3B%0A%20%20%20%20%20%20%20%20params.setStringValue%28%22state_data%22%2C%20text%29%3B%0A%20%20%20%20%20%20%20%20controller.doCommandWithParams%28cmd%2C%20params%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%7D%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B%0A%0A%0A%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%5BjQuery%28function%28%29%7B%0A%0AjQuery.fn.getTitle%20%3D%20function%28%29%20%7B%20//%20Copy%20the%20title%20of%20every%20IMG%20tag%20and%20add%20it%20to%20its%20parent%20A%20so%20that%20fancybox%20can%20show%20titles%0A%20%20%20%20var%20arr%20%3D%20jQuery%28%22a.fancybox%22%29%3B%0A%20%20%20%20jQuery.each%28arr%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20var%20title%20%3D%20jQuery%28this%29.children%28%22img%22%29.attr%28%22title%22%29%3B%0A%20%20%20%20%20%20%20%20jQuery%28this%29.attr%28%27title%27%2Ctitle%29%3B%0A%20%20%20%20%7D%29%0A%7D%0A%0A//%20Supported%20file%20extensions%0Avar%20thumbnails%20%3D%20jQuery%28%22a%3Ahas%28img%29%22%29.not%28%22.nolightbox%22%29.filter%28%20function%28%29%20%7B%20return%20/%5C.%28jpe%3Fg%7Cpng%7Cgif%7Cbmp%29%24/i.test%28jQuery%28this%29.attr%28%27href%27%29%29%20%7D%29%3B%0A%0Athumbnails.addClass%28%22fancybox%22%29.attr%28%22rel%22%2C%22fancybox%22%29.getTitle%28%29%3B%0AjQuery%28%22a.fancybox%22%29.fancybox%28%7B%0A%20%20%20%20%27cyclic%27%3A%20true%2C%0A%20%20%20%20%27autoScale%27%3A%20true%2C%0A%20%20%20%20%27padding%27%3A%2010%2C%0A%20%20%20%20%27opacity%27%3A%20true%2C%0A%20%20%20%20%27speedIn%27%3A%20500%2C%0A%20%20%20%20%27speedOut%27%3A%20500%2C%0A%20%20%20%20%27changeSpeed%27%3A%20300%2C%0A%20%20%20%20%27overlayShow%27%3A%20true%2C%0A%20%20%20%20%27overlayOpacity%27%3A%20%220.3%22%2C%0A%20%20%20%20%27overlayColor%27%3A%20%22%23666666%22%2C%0A%20%20%20%20%27titleShow%27%3A%20true%2C%0A%20%20%20%20%27titlePosition%27%3A%20%27inside%27%2C%0A%20%20%20%20%27enableEscapeButton%27%3A%20true%2C%0A%20%20%20%20%27showCloseButton%27%3A%20true%2C%0A%20%20%20%20%27showNavArrows%27%3A%20true%2C%0A%20%20%20%20%27hideOnOverlayClick%27%3A%20true%2C%0A%20%20%20%20%27hideOnContentClick%27%3A%20false%2C%0A%20%20%20%20%27width%27%3A%20560%2C%0A%20%20%20%20%27height%27%3A%20340%2C%0A%20%20%20%20%27transitionIn%27%3A%20%22elastic%22%2C%0A%20%20%20%20%27transitionOut%27%3A%20%22elastic%22%2C%0A%20%20%20%20%27centerOnScroll%27%3A%20true%0A%7D%29%3B%0A%0A%0A%7D%29%0A%3C/script%3E%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E 09-04-2013 22:13:15 Выделить код Код: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%3Eeksperimental%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bcustombuttons-stdicon-4%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20................................%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%20menuPopup.showPopup%28this%2C%20-1%2C%20-1%2C%20%22popup%22%2C%20%22bottomleft%22%2C%20%22topleft%22%29%3B%0A%7D%3B%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u043C%u0435%u043D%u044E%20................................%0Avar%20section%20%3D%20%22%u25BA%u25BA%u25BA%u25BA%u25BA%u25BA%u25BA%22%3B%0Asection%20%3D%20%22%5Cn%22%20+%20section%20+%20%22%5Cn%22%3B%0Avar%20item%20%3D%20this.Help.split%28%20section%20%29%3B%0A%0Avar%20node%20%3D%20document.getElementById%28this.id%20+%20%22-menuPopup%22%29%3B%0Aif%20%28%20node%20%26%26%20node.parentNode%20%29%20node.parentNode.removeChild%28node%29%3B%20//%20%u0431%u043B%u043E%u043A%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0434%u0443%u0431%u043B%u0438%u0440%u043E%u0432%u0430%u043D%u0438%u0435%20%u043C%u0435%u043D%u044E%0A%0Avar%20menuPopup%20%3D%20document.getElementById%28%22mainPopupSet%22%29.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0AmenuPopup.id%20%3D%20this.id%20+%20%22-menuPopup%22%3B%0A%0Avar%20array%20%3D%20%5B%0A%20%20%20%20%22scripts%201%22%2C%0A%20%20%20%20%22scripts%202%22%2C%0A%20%20%20%20%22scripts%20qwerty%22%2C%0A%20%20%20%20%22scripts%2044%2055%2066%22%2C%20%20%20%20%0A%20%20%20%20%22separator%22%2C%0A%20%20%20%20%22scripts%20some%201%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%3B%0A%0Avar%20node%20%3D%20document.getElementById%28this.id%20+%20%22-menuPopup%22%29%3B%0Aif%20%28%20node%20%26%26%20node.parentNode%20%29%20node.parentNode.removeChild%28node%29%3B%20//%20%u0431%u043B%u043E%u043A%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0434%u0443%u0431%u043B%u0438%u0440%u043E%u0432%u0430%u043D%u0438%u0435%20%u043C%u0435%u043D%u044E%0A%0Avar%20menuPopup%20%3D%20document.getElementById%28%22mainPopupSet%22%29.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0AmenuPopup.id%20%3D%20this.id%20+%20%22-menuPopup%22%3B%0Avar%20i%20%3D%200%3B%0Aarray.forEach%28function%28%20m%20%29%20%7B%0A%20%20%20%20%20if%20%28%20m%20%3D%3D%20%22separator%22%20%29%20%7B%20menuPopup.appendChild%28%20document.createElement%28%22menuseparator%22%29%20%29%3B%20return%20%7D%3B%20%0A%20%20%20%20%20var%20menuItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%0A%20%20%20%20%20menuItem.setAttribute%28%22label%22%2C%20m%20%29%3B%20%0A%20%20%20%20%20menuItem.setAttribute%28%22value%22%2C%20i++%20%29%3B%20%0A%20%20%20%20%20menuItem.addEventListener%28%22command%22%2C%20insertOrCopyText%2C%20false%29%3B%20%0A%20%20%20%20%20menuPopup.appendChild%28%20menuItem%20%29%3B%0A%7D%29%3B%0A//this.type%20%3D%20%22menu%22%3B%20%0A%0A%0A%0A//%20%u0421%u0442%u0430%u0432%u0438%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u0432%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u043E%u0435%20%u043F%u043E%u043B%u0435%20%u0438%u043B%u0438%20%u0441%u043A%u043E%u043F%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0438%u0437%20%u043C%u0435%u043D%u044E%20%20................................%0Afunction%20insertOrCopyText%28%29%20%7B%20%0A%0A%20%20%20var%20text%20%3D%20item%5Bthis.value%5D%3B%0A%20%20%20%0A%20%20%20try%20%7B%20document.commandDispatcher.focusedElement.type%3B%20%7D%0A%20%20%20catch%28e%29%20%7B%20gClipboard.write%28%20text%29%3B%20return%20%7D%3B%0A%20%20%20%0A%20%20%20var%20cmd%20%3D%20%22cmd_insertText%22%3B%0A%20%20%20var%20controller%20%3D%20document.commandDispatcher.getControllerForCommand%28cmd%29%3B%0A%20%20%20if%20%28%20controller%20%26%26%20controller.isCommandEnabled%28cmd%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20var%20controller%20%3D%20controller.QueryInterface%28Components.interfaces.nsICommandController%29%3B%0A%20%20%20%20%20%20%20%20var%20params%20%3D%20Components.classes%5B%22@mozilla.org/embedcomp/command-params%3B1%22%5D.createInstance%28Components.interfaces.nsICommandParams%29%3B%0A%20%20%20%20%20%20%20%20params.setStringValue%28%22state_data%22%2C%20text%29%3B%0A%20%20%20%20%20%20%20%20controller.doCommandWithParams%28cmd%2C%20params%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%7D%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B%0A%0A%0A%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%5BtoggleImage%28%29%3B%0Avar%20ps%20%3D%20Cc%5B%22@mozilla.org/preferences-service%3B1%22%5D.getService%28Ci.nsIPrefBranch%29.QueryInterface%28Ci.nsIPrefBranch2%29%3B%0Aps.addObserver%28%20s%2C%20toggleImage%2C%20false%20%29%3B%0Athis.onDestroy%20%3D%20function%28%29%20%7B%0A%u25BA%u25BA%u25BA%u25BA%u25BA%u25BA%u25BA%0A%20%20%20%20%20%20%20if%20%28%20%21%21gFindBar._findField.style.color%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20gFindBar.getElement%28%27highlight%27%29.setAttribute%28%22checked%22%2C%20%22true%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20gFindBar._findField.removeAttribute%28%22style%22%29%0A%u25BA%u25BA%u25BA%u25BA%u25BA%u25BA%u25BA%0A%20%20%20var%20mItem%20%3D%20e.target%3B%0A%20%20%20var%20value%20%3D%20mItem.getAttribute%28%22value%22%29%3B%0A%20%20%20var%20label%20%3D%20mItem.getAttribute%28%22label%22%29%3B%0A%20%20%20var%20image%20%3D%20mItem.getAttribute%28%22image%22%29%3B%0A%u25BA%u25BA%u25BA%u25BA%u25BA%u25BA%u25BA%0A%20%7B%20label%3A%20%27%u0410%u0432%u0442%u043E%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u0438%u0435%27%2C%20value%3A%20%27FindBar.Highlight%27%2C%20func%3A%20toggleAttribute%2C%20cek%3A%27%27%7D%2C%0A%20%20%7B%20label%3A%20%27%u0410%u0432%u0442%u043E%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u0438%u0435%20%u0432%20%u0441%u0441%u044B%u043B%u043A%u0430%u0445%27%2C%20value%3A%20%27FindBar.Highlight.Link%27%2C%20func%3A%20Highlight%2C%20cek%3A%27%27%7D%2C%0A%20%20%7B%20label%3A%20%27%u0414%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u0434%u043B%u044F%20%u0430%u0432%u0442%u043E%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u0438%u0435%27%2C%20value%3A%20%27add%27%2C%20func%3A%20toggleHighlightValue%20%7D%2C%0A%20%20%7B%20label%3A%20%27%u0421%u0431%u0440%u043E%u0441%u0438%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u0434%u043B%u044F%20%u0430%u0432%u0442%u043E%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u0438%u0435%27%2C%20value%3A%20%27clear%27%2C%20func%3A%20toggleHighlightValue%20%7D%2C%0A%20%20%7B%20label%3A%20%27%u0418%u0437%u043C%u0435%u043D%u0438%u0442%u044C%20%u0446%u0432%u0435%u0442%3A%20%7C%23ef0fff%7C%20%u0434%u043B%u044F%20%u0430%u0432%u0442%u043E%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u0438%u0435%27%2C%20value%3A%20%27ui.textHighlightBackground%27%2C%20change%3A%27%27%7D%0A%u25BA%u25BA%u25BA%u25BA%u25BA%u25BA%u25BA%0AjQuery%28function%28%29%7B%0A%0AjQuery.fn.getTitle%20%3D%20function%28%29%20%7B%20//%20Copy%20the%20title%20of%20every%20IMG%20tag%20and%20add%20it%20to%20its%20parent%20A%20so%20that%20fancybox%20can%20show%20titles%0A%20%20%20%20var%20arr%20%3D%20jQuery%28%22a.fancybox%22%29%3B%0A%20%20%20%20jQuery.each%28arr%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20var%20title%20%3D%20jQuery%28this%29.children%28%22img%22%29.attr%28%22title%22%29%3B%0A%20%20%20%20%20%20%20%20jQuery%28this%29.attr%28%27title%27%2Ctitle%29%3B%0A%20%20%20%20%7D%29%0A%7D%0A%0A//%20Supported%20file%20extensions%0Avar%20thumbnails%20%3D%20jQuery%28%22a%3Ahas%28img%29%22%29.not%28%22.nolightbox%22%29.filter%28%20function%28%29%20%7B%20return%20/%5C.%28jpe%3Fg%7Cpng%7Cgif%7Cbmp%29%24/i.test%28jQuery%28this%29.attr%28%27href%27%29%29%20%7D%29%3B%0A%0Athumbnails.addClass%28%22fancybox%22%29.attr%28%22rel%22%2C%22fancybox%22%29.getTitle%28%29%3B%0AjQuery%28%22a.fancybox%22%29.fancybox%28%7B%0A%20%20%20%20%27cyclic%27%3A%20true%2C%0A%20%20%20%20%27autoScale%27%3A%20true%2C%0A%20%20%20%20%27padding%27%3A%2010%2C%0A%20%20%20%20%27opacity%27%3A%20true%2C%0A%20%20%20%20%27speedIn%27%3A%20500%2C%0A%20%20%20%20%27speedOut%27%3A%20500%2C%0A%20%20%20%20%27changeSpeed%27%3A%20300%2C%0A%20%20%20%20%27overlayShow%27%3A%20true%2C%0A%20%20%20%20%27overlayOpacity%27%3A%20%220.3%22%2C%0A%20%20%20%20%27overlayColor%27%3A%20%22%23666666%22%2C%0A%20%20%20%20%27titleShow%27%3A%20true%2C%0A%20%20%20%20%27titlePosition%27%3A%20%27inside%27%2C%0A%20%20%20%20%27enableEscapeButton%27%3A%20true%2C%0A%20%20%20%20%27showCloseButton%27%3A%20true%2C%0A%20%20%20%20%27showNavArrows%27%3A%20true%2C%0A%20%20%20%20%27hideOnOverlayClick%27%3A%20true%2C%0A%20%20%20%20%27hideOnContentClick%27%3A%20false%2C%0A%20%20%20%20%27width%27%3A%20560%2C%0A%20%20%20%20%27height%27%3A%20340%2C%0A%20%20%20%20%27transitionIn%27%3A%20%22elastic%22%2C%0A%20%20%20%20%27transitionOut%27%3A%20%22elastic%22%2C%0A%20%20%20%20%27centerOnScroll%27%3A%20true%0A%7D%29%3B%0A%0A%0A%7D%29%0A%3C/script%3E%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E |
feas > 09-04-2013 23:42:01 |
bunda1 пишет
спасиб! работает идеально! |
rubel > 10-04-2013 15:38:36 |
bunda1 |
bunda1 > 10-04-2013 20:17:07 |
rubel |
VORON > 10-04-2013 21:57:27 |
bunda1 |
bunda1 > 10-04-2013 22:22:16 |
VORON |
feas > 10-04-2013 23:04:53 |
bunda1 пишет
На вскидку(боковые) - закладки, журнал - есть в комплекте лисы. Возможно у автора и свои фичи типа дополнения и загрузки в боковой. |
VORON > 11-04-2013 00:17:03 |
bunda1 пишет
addons,extensions,settings,password manager и ещё куча всего остального может быть открыто из VT |
feas > 11-04-2013 00:49:02 |
VORON пишет
ясн - готовься писать правила |
rubel > 11-04-2013 07:58:37 |
bunda1 |
bunda1 > 11-04-2013 19:35:12 |
okkamas_knife |
bunda1 > 12-04-2013 18:19:12 |
okkamas_knife |
oopsididagainster > 12-04-2013 23:26:15 |
В кнопке Compact Menu( Firefox 4 + ) не работают опции Недавно закрытые вкладки и Недавно закрытые окна: не отображаются закрытые окна и вкладки. |
Dumby > 13-04-2013 05:45:04 |
oopsididagainster пишет
скрытый текст Выделить код Код: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%3ECompact%20Menu%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBEAAAEAIACsBAAAFgAAACgAAAAQAAAAIgAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMSAAcROg8hOGEvQV1hL0JdOQ4iOBIABxH7+/uBqKioqv7+/oAAAAAAAAAAAAAAAAAAAAAAAAAAAREABhB6PEx23HZ32+uLe/7rfGv/63tr/+uKev7vv7/tp52g10BAQP6vr6+z////fwAAAAAAAAAAAAAAAR0CEB3AaHK/629j/+FbVP/bUU7/10xK/9ZLSv/sp6X/26mm/0BAQP9AQED/QEBA/9jY2KH///9/AAAAAA8ABQ+6X22+1UpK/8Y2P/+8KDX/tB0v/6sZKf+uGCz/1pae/0BAQP9AQED/QEBA/0BAQP9AQED+8fHxkQAAAAJ0M0hzxz1G/7AYLv+lDCX/ng0b/5APD/+FFgL/1Zid/3BfYf9AQED/QEBA/0BAQP9AQED/QEBA/25ubtgPAAUPt0dc2KULJf+pFCb/tygu/7w1L/+FGAH/nSsW/8OSjf+gf3//qIKB/9aTlf/Vi5P/0YSR/9yosuzw7/CHMAobMLw2Sf60Iyz/xD41/9NSPv/cYUT/0188/+VwSf/IWzj/WhID/0kFAP9zGhT/yEM4/7grL/+9Okn+Nw0fNFYoOVLAOT3/zEg6/9xhRP/qdUv/64RR/+uNVf/rk1f/65NX/9t1Q/9mGQD/YhcE/9NeP//RTz3/xEA//1wsPVlWKDhR01dI/+BnRv/rf0//65JX/+ugXP/rqV7/661g/+utYf/McDH/gS4C/4UyD//CXjX/5G5I/9hdSf9dLD5YMAoaMOp+Zf7rgE//65dZ/+upX//rtGP/671n/+vBaP/rslz/rk4K/51CBf/rjUf/64RI/+uBTf/rhGf+NQweNA4ABg7Tdm3X65NY/+uqX//rumX/68Rq/+vMbf/r0G//68pn/+u+X//cgTD/67hi/+uuYf/rmlr/2Hxv2REABhAAAAACdTlIceudYP/rrV7/66xW/+vMbf/r03D/69Zw/+vVcP/r1HD/68tr/9x+Pv/rkUz/66xo/3Y7SXMAAAACAAAAAA8ABQ+2Z2O70WIX/+uEIf/rvVb/68JY/+vPbf/rsUn/68FX/+uVRf+dNBL/zGw0/8h7dL0PAAUPAAAAAAAAAAAAAAABHAEPHL5qWrzrr0r/69CA/+vQgf/r3qv/696r/+vNgP/rrnb/rEgo/6VXW70dAg8cAAAAAQAAAAAAAAAAAAAAAAAAAAEPAAUPdztFceiUcNjrz47+69yw/+vUmf/ryIT+03pe2XIzRHMPAAUPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIPAAUPMgscMlcpOlNYKTlUMwscMg8ABQ8AAAACAAAAAAAAAAAAAAAAAAAAAP//rEHwA6xBwAGsQYAArEGAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEGAAaxBgAGsQcADrEHwD6xB%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%u0442%u0438%u043B%u044C%20%u0443%u0434%u0430%u043B%u044F%u0435%u0442%20%u041F%u0430%u043D%u0435%u043B%u044C%20%u043C%u0435%u043D%u044E%20%u0438%20%u043A%u043D%u043E%u043F%u043A%u0443%20Firefox%20..............%0Aconst%20sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%3B%20%20%0Avar%20css%20%3D%20%27%5C%0A%23toolbar-menubar%20%7B%20-moz-appearance%3A%20none%20%21important%3B%20display%20%3A%20none%20%21important%3B%20%7D%5C%0A%23titlebar-content%20%23appmenu-button%20%7B%20display%3A%20none%20%21important%3B%20%7D%5C%0A%23TabsToolbar%20hbox.titlebar-placeholder%5Btype%3D%22appmenu-button%22%5D%20%7B%5C%0Adisplay%3A%20none%20%21important%3B%5C%0A%7D%5C%0A%27%3B%0A%0Avar%20uri%20%3D%20makeURI%28%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28css%29%29%3B%0Asss.loadAndRegisterSheet%28uri%2C%20sss.AGENT_SHEET%29%3B%0Athis.onDestroy%20%3D%20function%28%29%20%7B%0A%20%20%20%20%20if%20%28%20sss.sheetRegistered%28uri%2C%20sss.AGENT_SHEET%29%20%29%20sss.unregisterSheet%28uri%2C%20sss.AGENT_SHEET%29%3B%0A%7D%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bconst%20ids%20%3D%20%5B%0A%09%22file-menu%22%2C%0A%09%22edit-menu%22%2C%0A%09%22view-menu%22%2C%0A%09%22bookmarksMenu%22%2C%0A%09%22history-menu%22%2C%0A%09%22tools-menu%22%2C%0A%09%22helpMenu%22%0A%5D%3B%0Aconst%20id%20%3D%20%22Compact-Menu-menupopup%22%3B%0Avar%20popup%20%3D%20document.getElementById%28id%29%3B%0Aif%20%28%21popup%29%20%7B%0A%09popup%20%3D%20this.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0A%09const%20attrs%20%3D%20%7B%0A%09%09id%3A%20id%2C%0A%09%09position%3A%20%22after_start%22%2C%0A%09%09oncontextmenu%3A%20%22event.preventDefault%28%29%22%2C%0A%09%09oncommand%3A%20%22event.stopPropagation%28%29%22%2C%0A%09%7D%3B%0A%09for%20%28var%20attr%20in%20attrs%29%20popup.setAttribute%28attr%2C%20attrs%5Battr%5D%29%3B%0A%0A%09ids.forEach%28function%28id%29%20%7B%0A%09%09var%20clonedMenu%20%3D%20document.getElementById%28id%29.cloneNode%28true%29%3B%0A%09%09clonedMenu.hidden%20%3D%20false%3B%0A%09%09popup.appendChild%28clonedMenu%29%3B%0A%09%7D%29%3B%0A%09if%20%28ids.indexOf%28%22history-menu%22%29%20%21%3D%20-1%29%20%7B%0A%09%09%5B%22%22%2C%20%22Window%22%5D.forEach%28function%28str%29%20%7B%0A%09%09%09var%20node%20%3D%20popup.getElementsByAttribute%28%22id%22%2C%20%22historyUndo%22%20+%20str%20+%20%22Popup%22%29%5B0%5D%3B%0A%09%09%09var%20attr%20%3D%20node.getAttribute%28%22onpopupshowing%22%29%3B%0A%09%09%09node.setAttribute%28%22onpopupshowing%22%2C%20%22this.parentNode.parentNode.parentNode%22%20+%20attr.substring%2839%29%29%3B%0A%09%09%7D%29%3B%0A%09%7D%0A%7D%0Apopup.openPopup%28this%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 |
rubel > 13-04-2013 06:56:37 |
Dumby |
oopsididagainster > 13-04-2013 11:36:13 |
Dumby пишет
Так работает. |
Dumby > 13-04-2013 14:03:19 |
rubel пишет
Попробовать то можно, только не понял что. |
rubel > 13-04-2013 16:50:02 |
Dumby |
Dumby > 13-04-2013 22:07:49 |
rubel Попробуй добавить это в самый конец кода скрытый текст Выделить код Код:function n(id) document.getElementById(id); const page = n("content"), box = n("sidebar-box"), sidebar = n("sidebar"); var tvtc = 0; function onSBL(e) { var time = Date.now(); if (time - tvtc > 800) return; addEventListener("mouseover", function onMO() { removeEventListener("mouseover", onMO, false, page); if (box.hidden) return; var id = box.getAttribute("sidebarcommand") || "viewBookmarksSidebar"; n(id).setAttribute("checked", true); toggleSidebar(id); }, false, page); } function onVTC(e) { var time = Date.now(); for (var node = e.target; node; node = node.parentNode) { if (node == toolbar) { tvtc = time; break; } } } const data = [ ["DOMContentLoaded", onSBL, false, sidebar], ["click", onVTC, false, window], ["command", onVTC, false, window] ]; function ael(add) { data.forEach(function(args) { (add ? addEventListener : removeEventListener).apply(this, args); }); } ael(true); addDestructor(function() { ael(false) }); |
rubel > 14-04-2013 07:18:30 |
Dumby
Прекрасно всё получилось, именно так, как мне и хотелось. Огромное спасибо! |
rubel > 14-04-2013 09:51:35 |
Dumby |
feas > 14-04-2013 12:31:03 |
okkamas_knife пишет
Эх эх.... расшифрую А стоит лишь убрать мышку все тут же исчезнет: Выделить код Код:if (!toolbar.hasAttribute("autohide")) { browser.addEventListener("mousemove", collapser, false); } else toolbar.setAttribute("autohide", "true"); lock(); Редактирование функции ни к чему не приводит видимому: Выделить код Код:var tvtc = 10000; function onSBL(e) { var time = Date.now(); if (time - tvtc > 8000000) return; |
oopsididagainster > 14-04-2013 12:36:16 |
Как узнать какая команда отвечает за опцию Настроить ? |
feas > 14-04-2013 12:46:17 |
Вот эта настроить и есть настройки интерфейса 14-04-2013 12:54:32 Ещё так можно ![]() и так №11 |
rubel > 14-04-2013 12:58:57 |
okkamas_knife пишет
Это как раз я попробовал в первую очередь и как и у feas ничего не меняется. |
oopsididagainster > 14-04-2013 12:58:58 |
feas feas пишет
То что нужно! |
Dumby > 14-04-2013 15:17:45 |
rubel пишет
Можно попробовать вместо той добавки эту. скрытый текст Выделить код Код:const delay = 1000; function n(id) document.getElementById(id); const page = n("content"), box = n("sidebar-box"), sidebar = n("sidebar"); var tvtc, timeout; function listenMO(node, listen) { var func = node == box ? onBMO : onPMO; (listen ? addEventListener : removeEventListener) .apply(this, ["mouseover", func, false, node]); } function onPMO() { listenMO(page, false); timeout = setTimeout(hideSB, delay); listenMO(box, true); } function onBMO() { listenMO(box, false); clearTimeout(timeout); listenMO(page, true); } function hideSB() { listenMO(box, false); if (box.hidden) return; var id = box.getAttribute("sidebarcommand") || "viewBookmarksSidebar"; n(id).setAttribute("checked", true); toggleSidebar(id); } function onSBL() { var time = Date.now(); listenMO(page, false); if (time - tvtc < 800) listenMO(page, true); } function onVTC(e) { var time = Date.now(); for (var node = e.target; node; node = node.parentNode) { if (node != toolbar) continue; tvtc = time; break; } } function ael(add) { [ ["DOMContentLoaded", onSBL, false, sidebar], ["click", onVTC, false, window], ["command", onVTC, false, window] ].forEach(function(args) { (add ? addEventListener : removeEventListener).apply(this, args); }); } ael(true); addDestructor(function() { ael(false) }); okkamas_knife пишет
Хорошо подшутил над знакомой - спросил о том, чего нет |
rubel > 14-04-2013 16:17:39 |
Dumby
Отлично! Я поставил const delay = 400. Теперь очень хорошо. Спасибо ещё раз. |
rubel > 15-04-2013 19:26:40 |
bunda1 Починить можно? |
Dumby > 15-04-2013 21:19:48 |
rubel |
feas > 15-04-2013 21:36:15 |
Dumby пишет
заработало, чтоб остальные не мучились: Выделить код Код: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%3EContext%20Search%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bcustombuttons-stdicon-1%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//Context%20Search......................................%0A%0Aif%20%28window.contextSearcher%29%20%7B%0A%20%20window.contextSearcher.destroy%28%29%3B%0A%20%20delete%20window.contextSearcher%3B%0A%7D%0A%0Awindow.contextSearcher%20%3D%20%7B%0A%20%20NEW_TAB%3A%20true%2C%0A%0A%20%20_regexp%3A%20%7B%0A%20%20%20%20hiragana%3A%20%22%5B%5C%5Cu3040-%5C%5Cu309F%5D%22%2C%0A%20%20%20%20katakana%3A%20%22%5B%5C%5Cu30A0-%5C%5Cu30FF%5D%22%2C%0A%20%20%20%20kanji%20%20%20%3A%20%22%5B%5C%5Cu4E00-%5C%5Cu9FA0%5D%22%2C%0A%20%20%20%20//suuji%20%20%20%3A%20%22%5B0-9_./%2C%25-%5D%22%2C%0A%20%20%20%20eisu_han%3A%20%22%5Ba-zA-Z0-9_-%5D%22%2C%0A%20%20%20%20eisu_zen%3A%20%22%5B%5C%5CuFF41-%5C%5CuFF5A%5C%5CuFF21-%5C%5CuFF3A%5C%5CuFF10-%5C%5CuFF19%5D%22%2C%0A%20%20%20%20hankaku%20%3A%20%22%5B%5C%5CuFF00-%5C%5CuFFEF%5D%22%2C%0A%20%20%7D%2C%0A%0A%20%20get%20startReg%28%29%20%7B%0A%20%20%20%20let%20reg%20%3D%20%7B%7D%3B%0A%20%20%20%20for%28let%20n%20in%20this._regexp%29%20%7B%0A%20%20%20%20%20%20reg%5Bn%5D%20%3D%20new%20RegExp%28%27%5E%27%20+%20this._regexp%5Bn%5D%20+%20%27+%27%29%3B%0A%20%20%20%20%7D%0A%20%20%20%20delete%20this.startReg%3B%0A%20%20%20%20return%20this.startReg%20%3D%20reg%3B%0A%20%20%7D%2C%0A%20%20get%20endReg%28%29%20%7B%0A%20%20%20%20let%20reg%20%3D%20%7B%7D%3B%0A%20%20%20%20for%28let%20n%20in%20this._regexp%29%20%7B%0A%20%20%20%20%20%20reg%5Bn%5D%20%3D%20new%20RegExp%28this._regexp%5Bn%5D%20+%20%27+%24%27%29%3B%0A%20%20%20%20%7D%0A%20%20%20%20delete%20this.endReg%3B%0A%20%20%20%20return%20this.endReg%20%3D%20reg%3B%0A%20%20%7D%2C%0A%20%20searchText%3A%20%27%27%2C%0A%20%20searchEngines%3A%20%5B%5D%2C%0A%20%20init%3A%20function%28%29%7B%0A%20%20%20%20this.searchService%20%3D%20Cc%5B%22@mozilla.org/browser/search-service%3B1%22%5D.getService%28Ci.nsIBrowserSearchService%29%3B%0A%20%20%20%20this.context%20%3D%20document.getElementById%28%27contentAreaContextMenu%27%29%3B%0A%20%20%20%20var%20searchselect%20%3D%20document.getElementById%28%27context-searchselect%27%29%3B%0A%20%20%20%20searchselect.style.display%20%3D%20%27none%27%3B%0A%0A%20%20%20%20this.menu%20%3D%20this.context.insertBefore%28document.createElement%28%27splitmenu%27%29%2C%20searchselect%29%3B%0A%20%20%20%20this.menu.setAttribute%28%27id%27%2C%20%27context-searcher%27%29%3B%0A%20%20%20%20this.menu.setAttribute%28%27accesskey%27%2C%20gNavigatorBundle.getString%28%22contextMenuSearch.accesskey%22%29%29%3B%0A%20%20%20%20this.menu.setAttribute%28%27oncommand%27%2C%20%27contextSearcher.command%28event%29%3B%27%29%3B%0A%20%20%20%20this.menu.setAttribute%28%27onclick%27%2C%20%27checkForMiddleClick%28this%2C%20event%29%3B%27%29%3B%0A%20%20%20%20this.menu.setAttribute%28%27iconic%27%2C%20%27true%27%29%3B%0A%0A%20%20%20%20this.popup%20%3D%20this.menu.appendChild%28%20document.createElement%28%27menupopup%27%29%20%29%3B%0A%0A%20%20%20%20//%20splitmenu%0A%20%20%20%20this.dummy%20%3D%20this.context.insertBefore%28document.createElement%28%27menuitem%27%29%2C%20searchselect%29%3B%0A%20%20%20%20this.dummy.setAttribute%28%27id%27%2C%20%27context-searcher-dummy%27%29%3B%0A%20%20%20%20this.dummy.setAttribute%28%27command%27%2C%20%27context-searcher%27%29%3B%0A%20%20%20%20this.dummy.setAttribute%28%27accesskey%27%2C%20gNavigatorBundle.getString%28%22contextMenuSearch.accesskey%22%29%29%3B%0A%20%20%20%20this.dummy.collapsed%20%3D%20true%3B%0A%0A%20%20%20%20this.context.addEventListener%28%27popupshowing%27%2C%20this%2C%20false%29%3B%0A%20%20%20%20this.menu.addEventListener%28%27DOMMouseScroll%27%2C%20this%2C%20false%29%3B%0A%20%20%20%20gBrowser.mPanelContainer.addEventListener%28%27click%27%2C%20this%2C%20false%29%3B%0A%20%20%20%20window.addEventListener%28%27unload%27%2C%20this%2C%20false%29%3B%0A%0A%20%20%20this.menu._menuDelay%20%3D%20300%3B%0A%20%20%7D%2C%0A%0A%20%20uninit%3A%20function%28%29%20%7B%0A%20%20%20%20this.context.removeEventListener%28%27popupshowing%27%2C%20this%2C%20false%29%3B%0A%20%20%20%20this.menu.removeEventListener%28%27DOMMouseScroll%27%2C%20this%2C%20false%29%3B%0A%20%20%20%20gBrowser.mPanelContainer.removeEventListener%28%27click%27%2C%20this%2C%20false%29%3B%0A%20%20%20%20window.removeEventListener%28%27unload%27%2C%20this%2C%20false%29%3B%0A%20%20%7D%2C%0A%0A%20%20destroy%3A%20function%28%29%7B%0A%20%20%20%20this.uninit%28%29%3B%0A%20%20%20%20document.getElementById%28%27context-searchselect%27%29.style.removeProperty%28%27display%27%29%3B%0A%20%20%20%20var%20m%20%3D%20document.getElementById%28%27context-searcher%27%29%3B%0A%20%20%20%20if%20%28m%29%0A%20%20%20%20%20%20m.parentNode.removeChild%28m%29%3B%0A%20%20%20%20m%20%3D%20document.getElementById%28%27context-searcher-dummy%27%29%3B%0A%20%20%20%20if%20%28m%29%0A%20%20%20%20%20%20m.parentNode.removeChild%28m%29%3B%0A%20%20%7D%2C%0A%0A%20%20handleEvent%3A%20function%28event%29%20%7B%0A%20%20%20%20if%20%28this%5Bevent.type%5D%29%0A%20%20%20%20%20%20this%5Bevent.type%5D%28event%29%3B%0A%20%20%7D%2C%0A%20%20%0A%20%20unload%3A%20function%28e%29%7B%0A%20%20%20%20this.uninit%28%29%3B%0A%20%20%7D%2C%0A%0A%20%20DOMMouseScroll%3A%20function%28e%29%20%7B%0A%20%20%20%20this.searchEngines%20%3D%20this.searchService.getVisibleEngines%28%7B%7D%29%3B%0A%20%20%20%20if%20%28%21this.searchEngines%20%7C%7C%20this.searchEngines.length%20%3D%3D%200%29%0A%20%20%20%20%20%20return%3B%0A%20%20%20%20%0A%20%20%20%20var%20index%20%3D%20this.searchEngines.indexOf%28this.searchService.currentEngine%29%3B%0A%20%20%20//var%20newEngine%20%3D%20e.detail%20%3E%200%3F%0A%20%20%20//this.searchEngines%5Bindex+1%5D%20%7C%7C%20this.searchEngines%5B0%5D%3A%0A%20%20%20//this.searchEngines%5Bindex-1%5D%20%7C%7C%20this.searchEngines%5Bthis.searchEngines.length%20-1%5D%3B%0A%20%20%20%20var%20newEngine%20%3D%20e.detail%20%3E%200%3F%20this.searchEngines%5Bindex+1%5D%20%3A%20this.searchEngines%5Bindex-1%5D%3B%0A%20%20%20%20if%20%28%21newEngine%29%0A%20%20%20%20%20%20return%3B%0A%20%20%20%20this.searchService.currentEngine%20%3D%20newEngine%3B%0A%20%20%20%20this.setMenuitem%28%29%3B%0A%20%20%7D%2C%0A%0A%20%20command%3A%20function%28e%29%7B%0A%20%20%20%20var%20target%20%3D%20e.target%3B%0A%20%20%20%20var%20engine%20%3D%20e.target.engine%20%7C%7C%20this.menu.engine%3B%0A%0A%20%20%20%20var%20submission%20%3D%20engine.getSubmission%28this.searchText%2C%20null%29%3B%0A%20%20%20%20if%20%28%21submission%29%0A%20%20%20%20%20%20return%3B%0A%0A%20%20%20%20if%20%28%21this.NEW_TAB%20%7C%7C%20content.location.href%20%3D%3D%3D%20%27about%3Ablank%27%29%20%7B%0A%20%20%20%20%20%20loadURI%28submission.uri.spec%2C%20null%2C%20submission.postData%2C%20false%29%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28submission.uri.spec%2C%20%7B%0A%20%20%20%20%20%20%20%20postData%3A%20submission.postData%2C%0A%20%20%20%20%20%20%20%20ownerTab%3A%20gBrowser.mCurrentTab%2C%0A%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%7D%0A%20%20%7D%2C%0A%0A%20%20click%3A%20function%28event%29%20%7B%0A%20%20%20%20if%20%28event.button%20%3D%3D%3D%202%29%20%7B%0A%20%20%20%20%20%20this._clickNode%20%3D%20event.rangeParent%3B%0A%20%20%20%20%20%20this._clickOffset%20%3D%20event.rangeOffset%3B%0A%20%20%20%20%20%20this._clientX%20%3D%20event.clientX%3B%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20this._clickNode%20%3D%20null%3B%0A%20%20%20%20%20%20this._clickOffset%20%3D%200%3B%0A%20%20%20%20%20%20this._clientX%20%3D%200%3B%0A%20%20%20%20%7D%0A%20%20%7D%2C%0A%0A%20%20setMenuitem%3A%20function%28%29%20%7B%0A%20%20%20%20var%20currentEngine%20%3D%20this.searchService.currentEngine%3B%0A%20%20%20%20var%20l%20%3D%20this.searchText.length%20%3E%2016%3F%20this.searchText.substr%280%2C%2016%29%20+%20%27...%27%20%3A%20this.searchText%3B%0A%20%20%20%20this.menu.engine%20%3D%20currentEngine%3B%0A%20%20%20%20this.menu.setAttribute%28%27label%27%2C%20gNavigatorBundle.getFormattedString%28%22contextMenuSearch%22%2C%20%5BcurrentEngine.name%2C%20l%5D%29%29%3B%0A%20%20%20%20if%20%28currentEngine.iconURI%29%0A%20%20%20%20%20%20this.menu.style.listStyleImage%20%3D%20%27url%28%22%27%20+%20currentEngine.iconURI.spec%20+%20%27%22%29%27%3B%0A%20%20%20%20else%20%0A%20%20%20%20%20%20this.menu.style.removeProperty%28%27list-style-image%27%29%3B%0A%20%20%7D%2C%0A%0A%20%20popupshowing%3A%20function%28e%29%7B%0A%20%20%20%20if%20%28e.target%20%21%3D%20this.context%29%20return%3B%0A%0A%20%20%20%20this.searchText%20%3D%20gContextMenu.isTextSelected%3F%20this.getBrowserSelection%28%29%3A%20%27%27%20%7C%7C%20%0A%20%20%20%20%20%20gContextMenu.onLink%3F%20gContextMenu.linkText%28%29%3A%20%27%27%20%7C%7C%20%0A%20%20%20%20%20%20gContextMenu.onTextInput%3F%20this.getTextInputSelection%28%29%20%3A%20%27%27%20%7C%7C%0A%20%20%20%20%20%20this.getCursorPositionText%28%29%3B%0A%0A%20%20%20%20if%20%28%21this.searchText%20%7C%7C%20%21/%5CS/.test%28this.searchText%29%29%20%7B%0A%20%20%20%20%20%20this.menu.hidden%20%3D%20true%3B%0A%20%20%20%20%20%20this.dummy.hidden%20%3D%20true%3B%0A%20%20%20%20%20%20return%3B%0A%20%20%20%20%7D%0A%20%20%20%20if%20%28this.searchText.length%20%3E%20256%29%0A%20%20%20%20%20%20this.searchText%20%3D%20this.searchText.substr%280%2C%20256%29%3B%0A%20%20%20%20this.menu.hidden%20%3D%20false%3B%0A%20%20%20%20this.dummy.hidden%20%3D%20false%3B%0A%20%20%20%20%0A%20%20%20%20if%20%28%21this.popup.hasChildNodes%28%29%20%7C%7C%20e.ctrlKey%29%0A%20%20%20%20%20%20this.createMenuitem%28%29%3B%0A%20%20%20%20%0A%20%20%20%20this.setMenuitem%28%29%3B%0A%20%20%7D%2C%0A%20%20%0A%20%20createMenuitem%3A%20function%28%29%7B%0A%20%20%20%20this.searchEngines%20%3D%20this.searchService.getVisibleEngines%28%7B%7D%29%3B%0A%20%20%20%20if%20%28%21this.searchEngines%20%7C%7C%20this.searchEngines.length%20%3D%3D%200%29%0A%20%20%20%20%20%20return%3B%0A%0A%20%20%20%20var%20f%3B%0A%20%20%20%20while%20%28f%20%3D%20this.popup.firstChild%29%20%7B%0A%20%20%20%20%20%20this.popup.removeChild%28f%29%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20this.menu.engine%20%3D%20this.searchService.currentEngine%3B%0A%20%20%20%20if%20%28this.menu.engine.iconURI%29%0A%20%20%20%20%20%20this.menu.style.listStyleImage%20%3D%20%27url%28%22%27%20+%20this.menu.engine.iconURI.spec%20+%20%27%22%29%27%3B%0A%20%20%20%20else%20%0A%20%20%20%20%20%20this.menu.style.removeProperty%28%27list-style-image%27%29%3B%0A%20%20%20%20for%20%28var%20i%20%3D%200%2C%20s%20%3D%20this.searchEngines%2C%20l%20%3D%20s.length%3B%20i%20%3C%20l%3B%20i++%29%20%7B%0A%20%20%20%20%20%20var%20engine%20%3D%20s%5Bi%5D%3B%0A%20%20%20%20%20%20var%20m%20%3D%20document.createElement%28%27menuitem%27%29%3B%0A%20%20%20%20%20%20m.setAttribute%28%27label%27%2C%20engine.name%29%3B%0A%20%20%20%20%20%20if%20%28engine.iconURI%29%20%7B%0A%20%20%20%20%20%20%20%20m.setAttribute%28%27src%27%2C%20engine.iconURI.spec%29%3B%0A%20%20%20%20%20%20%20%20m.setAttribute%28%27class%27%2C%20%27menuitem-iconic%27%29%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20m.setAttribute%28%27oncommand%27%2C%20%27contextSearcher.command%28event%29%3B%27%29%3B%0A%20%20%20%20%20%20m.setAttribute%28%27onclick%27%2C%20%27checkForMiddleClick%28this%2C%20event%29%3B%27%29%3B%0A%20%20%20%20%20%20m.engine%20%3D%20engine%3B%0A%20%20%20%20%20%20this.popup.appendChild%28m%29%3B%0A%20%20%20%20%7D%0A%20%20%7D%2C%0A%20%20%0A%20%20getBrowserSelection%3A%20function%20%28%29%20%7B%0A%20%20%20%20var%20win%20%3D%20document.commandDispatcher.focusedWindow%3B%0A%20%20%20%20var%20sel%20%3D%20win.getSelection%28%29%3B%0A%20%20%20%20var%20str%20%3D%20%27%27%3B%0A%20%20%20%20if%20%28sel.isCollapsed%29%0A%20%20%20%20%20%20return%20str%3B%0A%0A%20%20%20%20for%28var%20i%20%3D%200%2C%20l%20%3D%20sel.rangeCount%3B%20i%20%3C%20l%3B%20i++%29%20%7B%0A%20%20%20%20%20%20str%20+%3D%20sel.getRangeAt%28i%29%20+%20%27%20%27%3B%0A%20%20%20%20%7D%0A%20%20%20%20return%20str.replace%28/%5E%5Cs*%7C%5Cs*%24/g%2C%20%27%27%29.replace%28/%5Cs+/g%2C%20%27%20%27%29%3B%0A%20%20%7D%2C%0A%20%20%0A%20%20getTextInputSelection%3A%20function%20%28%29%20%7B%0A%20%20%20%20var%20elem%20%3D%20document.commandDispatcher.focusedElement%3B%0A%20%20%20%20var%20str%20%3D%20elem.value.slice%28elem.selectionStart%2C%20elem.selectionEnd%29%3B%0A%20%20%20%20return%20str.replace%28/%5E%5Cs*%7C%5Cs*%24/g%2C%20%27%27%29.replace%28/%5Cs+/g%2C%20%27%20%27%29%3B%0A%20%20%7D%2C%0A%0A%20%20getCursorPositionText%3A%20function%28%29%20%7B%0A%20%20%20%20var%20str%20%3D%20%22%22%3B%0A%20%20%20%20var%20node%20%3D%20this._clickNode%3B%0A%20%20%20%20if%20%28%21node%20%7C%7C%20node.nodeType%20%21%3D%3D%20Node.TEXT_NODE%29%0A%20%20%20%20%20%20return%20str%3B%0A%0A%20%20%20%20var%20offset%20%3D%20this._clickOffset%3B%0A%20%20%20%20var%20text%20%3D%20node.nodeValue%3B%0A%20%20%20%20if%20%28%21text%29%0A%20%20%20%20%20%20return%20str%3B%0A%0A%20%20%20%20var%20range%20%3D%20node.ownerDocument.createRange%28%29%3B%0A%20%20%20%20range.setStart%28node%2C%20offset%29%3B%0A%20%20%20%20var%20rect%20%3D%20range.getBoundingClientRect%28%29%3B%0A%20%20%20%20range.detach%28%29%3B%0A%0A%20%20%20%20if%20%28rect.left%20%3E%3D%20this._clientX%29%0A%20%20%20%20%20%20offset--%3B%0A%0A%20%20%20%20var%20current%20%3D%20text%5Boffset%5D%3B%0A%20%20%20%20var%20type%3B%0A%20%20%20%20for%20%28let%20n%20in%20this._regexp%29%20%7B%0A%20%20%20%20%20%20if%20%28this.endReg%5Bn%5D.test%28current%29%29%20%7B%0A%20%20%20%20%20%20%20%20type%20%3D%20n%3B%0A%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20if%20%28%21type%29%0A%20%20%20%20%20%20return%20str%3B%0A%0A%20%20%20%20var%20s%20%3D%20this.endReg%5Btype%5D.exec%28%20text.substr%280%2C%20offset%29%20%29%3B%0A%20%20%20%20if%20%28s%29%20str%20+%3D%20s%3B%0A%20%20%20%20s%20%3D%20this.startReg%5Btype%5D.exec%28%20text.substr%28offset%29%20%29%0A%20%20%20%20if%20%28s%29%20str%20+%3D%20s%3B%0A%0A%20%20%20%20if%20%28str.length%20%3D%3D%3D%201%29%20%7B%0A%20%20%20%20%20%20if%20%28type%20%3D%3D%3D%20%22kanji%22%29%20%7B%0A%20%20%20%20%20%20%20%20s%20%3D%20this.startReg%5B%22hiragana%22%5D.exec%28%20text.substr%28offset+1%29%20%29%3B%0A%20%20%20%20%20%20%20%20if%20%28s%29%20str%20+%3D%20s%3B%0A%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20return%20%22%22%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20%0A%20%20%20%20return%20str%3B%0A%20%20%7D%2C%0A%0A%20%20log%3A%20function%28%29%20%7B%0A%20%20%20%20Application.console.log%28%22%5BcontextSearcher%5D%20%22%20+%20Array.slice%28arguments%29%29%3B%0A%20%20%7D%0A%7D%0A%0Awindow.contextSearcher.init%28%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%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E |
Kamui > 15-04-2013 22:21:18 |
feas |
rubel > 16-04-2013 07:36:00 |
Dumby
Так и сделал, теперь прекрасно работает. Положил Код инициализации в кнопку Cookie Manager, в ней было пусто во вкладке Инициализация, не стал ставить отдельную кнопку feas'а. |
rbfyec > 16-04-2013 12:55:49 |
А можно соорудить такой код? В адресную строку вставляется мой текст, за которым следует текущий урл. Ну и нажимается Энтер. |
bunda1 > 16-04-2013 18:55:08 |
rbfyec пишет
Выделить код Код:gURLBar.value = "мой текст" + content.document.location; gURLBar.focus(); var evt = document. createEvent ("KeyEvents"); evt.initKeyEvent("keypress", true, true, null, false, false, false, false, evt. DOM_VK_RETURN, 0 ); if ( document.activeElement.nodeName == "browser" ) gBrowser.contentDocument.activeElement.dispatchEvent(evt); else document. activeElement. dispatchEvent (evt); |
rbfyec > 16-04-2013 22:43:11 |
bunda1, это именно то, что я хотел. Спасибо! okkamas_knife, спасибо за ссылки, буду стараться разобраться |
rbfyec > 17-04-2013 10:29:06 |
okkamas_knife пишет
А вот не работает этот код. Я получаю сообщение: Формат адреса неверен URL недействителен и не может быть загружен. Адреса веб-сайтов обычно записываются в формате http://www.example.com/ |
Zaycoff > 17-04-2013 18:26:58 |
Можно как-то написать такой код, чтобы на определённом сайте, точнее на скрытый текст Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. при просмотре манги можно было нажать кнопку и все ссылки на изображения, относящиеся к конкретной главе, скопировались в буфер обмена, а то замучался каждую картинку сохранять вручную ![]() По идее все эти ссылки на картинки есть в буфере управляющего скрипта, т.к. переключение картинок (страниц одной главы) происходит даже,если нет физического соединения с сетью, вот только как их выдрать не представляю... |
Zaycoff > 17-04-2013 20:09:38 |
okkamas_knife |
rbfyec > 17-04-2013 21:19:24 |
okkamas_knife пишет
Да, именно кейворды я и собирался подставлять В любом случае, спасибо большое за помощь! |
Zaycoff > 18-04-2013 02:09:42 |
Прошу сильно не пинать, пишу на яве вообще первый раз, может что-то упустил, не могу врубится, почему кнопка срабатывает через раз?.. Может кто, что посоветует? скрытый текст проверить можно, например, тут: Войдите или зарегистрируйтесь, чтобы увидеть скрытый текст. Выделить код Код:/*CODE*/ var doc = content.document.body.innerHTML ; gClipboard.clear() ; // --------------------------------------- var razdelit = '"fullimg":["' ; // Сносим первую часть страницы, по "fullimg":[" var array_of_strings = doc.split(razdelit) ; cut_string = array_of_strings[1] ; doc = cut_string ; // --------------------------------------- var razdelit = '",]' ; // Сносим вторую часть страницы, начиная от ",] var array_of_strings = doc.split(razdelit) ; cut_string = array_of_strings[0] ; doc = cut_string ; // --------------------------------------- var i ; var ending_str="" ; var razdelit = '","' ; // Описываем разделители var array_of_strings = doc.split(razdelit) ; // описываем массив ссылок разделённых razdelit // собирам окончательную строку из элементов массива // в конце каждой ссылки добавляем перенос строки -'\n' for (i=0; i < array_of_strings.length; i++) { ending_str = ending_str + array_of_strings[i] + '\n' ; } ; gClipboard.write(ending_str) ; alert("Ссылки скопированны в буфер обмена."); |
Zaycoff > 18-04-2013 11:39:37 |
okkamas_knife пишет
Бред какой-то, напихал алертов на каждое действие, кнопка стала работать идеально... O_<" Добавлено 18 апреля 2013 г. в 12:30 В общем фиг знает почему, но нормально работает такой вот код: скрытый текст Выделить код Код:/*CODE*/ var doc = content.document.body.innerHTML ; gClipboard.clear() ; // --------------------------------------- var razdelit = '"fullimg":["' ; // Сносим первую часть страницы, по "fullimg":[" var array_of_strings = doc.split(razdelit) ; var cut_string = array_of_strings[1] ; var doc = cut_string ; // --------------------------------------- var razdelit = '",]' ; // Сносим вторую часть страницы, начиная от ",] var array_of_strings = doc.split(razdelit) ; var cut_string = array_of_strings[0] ; var doc = cut_string ; // --------------------------------------- var i ; var ending_str="" ; var razdelit = '","' ; // Описываем разделители var array_of_strings = doc.split(razdelit) ; // описываем массив ссылок разделённых razdelit alert("Ссылки скопированы в буфер обмена."); // собирам окончательную строку из элементов массива // в конце каждой ссылки добавляем перенос строки -'\n' for (i=0; i < array_of_strings.length; i++) { ending_str = ending_str + array_of_strings[i] + '\n' ; } ; gClipboard.write(ending_str) ; // alert("Ссылки скопированны в буфер обмена."); |
Kiril__777 > 18-04-2013 13:00:09 |
http://forum.mozilla-russia.org/viewtopic.php?pid=446701#p446701 |
Dumby > 18-04-2013 13:21:42 |
Zaycoff пишет
И меня тоже скрытый текст Выделить код Код:/*CODE*/ var links = content.wrappedJSObject.data.fullimg.join("\r\n"); gClipboard.write(links); alert("Ссылки скопированны в буфер обмена.\nВот они:\n" + links); P.S. Если вопрос был про редирект, то может в Инициализацию скрытый текст Выделить код Код:const du = Cc["@mozilla.org/inspector/dom-utils;1"].getService(Ci.inIDOMUtils); function vk(e) { var doc = e.target; if (doc.location.host != "vk.com") return; var br = du.getParentForNode(doc, true); var wn = br.webNavigation; wn.allowMetaRedirects = false; addEventListener("load", function onLoad() { removeEventListener("load", onLoad, true, br); wn.allowMetaRedirects = true; }, true, br); } addEventListener("DOMContentLoaded", vk, false, gBrowser); |
adidharma > 18-04-2013 15:12:45 |
Kiril__777 пишет
intl.accept_languages;ru, en-US, en так? Больше причин не знаю, УМВР. |
Kiril__777 > 18-04-2013 15:22:29 |
adidharma пишет
что-то я такого вообще не нахожу |
Zaycoff > 18-04-2013 15:35:15 |
Dumby И за вконтакт отдельная благодарность - очень полезная штука, если нужно только почитать его, а разрешать скрипты и логиниться не хочется okkamas_knife |
adidharma > 18-04-2013 15:49:47 |
Kiril__777 пишет
скрытый текст А, ну да, ступил я, наверно. ![]() Как убрал ru-RU - стало всё нормально. |
Kiril__777 > 18-04-2013 15:59:27 |
adidharma скрытый текст где можно прочитать об этом ru-ru и где хранится эта настройка в профиле? intl.accept_languages |
voqabuhe > 18-04-2013 16:37:32 |
Zaycoff пишет
Это где такое? |
Zaycoff > 18-04-2013 16:57:43 |
voqabuhe пишет
Dumby пишет
Если это код положить в инициализацию новой кнопки, то при посещении вконтакта можно будет не включать скрипты и куки, часть функционала конечно отвалится, но посты и всякое такое читать будет можно, а мне больше и не нужно, а то дают ссылку на статью во вконтате, а ему ещё и скрипты с куками подавай... бизобразие какой-то |
adidharma > 19-04-2013 08:41:39 |
Как бы одну кнопку поправить, чтобы работала в скрытый текст код кнопки Выделить код Код: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%3EExtensions%20Options%20Menu%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU4NzIwMkI5QkNFNDExRTBCOEIwQzU3QzQyMDBGNDk2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU4NzIwMkJBQkNFNDExRTBCOEIwQzU3QzQyMDBGNDk2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg3MjAyQjdCQ0U0MTFFMEI4QjBDNTdDNDIwMEY0OTYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTg3MjAyQjhCQ0U0MTFFMEI4QjBDNTdDNDIwMEY0OTYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4v/lPcAAACe0lEQVR42nRTW0tUURQ++3IuHmecdCJzLDRqisaKoR4zlMDKKLEoiR4qIiLwB/QS/YN6CYSgiCBCaKDAIqJI6GKQGFEqhjUQqQk5w5hnZjq3vVtrPMY46YaPb6+111pn3Q6RUioVhwMMgApwAX8AnrLawQBloH03bzU0b935bN2GLbPIKKO+wu4faEU8MvD4aasvaVO4rn4KGWXUr5YADVIOAeoQfTeuTyeTyc+mGc4io7z0FtjxZV+ENEJN8R0px/YSCiWCq3qhKhSeU3Uz79qF6qK1sNZzbVMRkmo6H/8+OXoC/KzyhmlC4bGaaPQrIdQjlArGuU0p94luOoxpBSkE9EDwgjUfA3sdUAQIbCGWIBnXFjjXclzX51W9KguyBYGKyJphZnQz9Msww7M63DOZbG3Hoa7D4BcGMAxgd3a0fRgbfj7Qub91xvddGoxvOQhxmKpa7Qe7r4xNTF6LJ3bfxnGjsXf+7On7wKnei2ee+K6NZTkrgXMj50kWqo7UffF80oi7gsb83IVLPd1HjxiDr960QbPcwOG/Q6hCd21P5D5+Gq1PtGxLY2Y4hdrGTS0vmapZKtd+G6HINNf0/EoB7KIVnRgZTPU/eBg/dfLYMKjeYgZUrzKnjerIFKXMI4y7vutwIX1OCfMoVx1CiI8BoDycwBA4DwFnlqagEMbype6r2oLiufzq5d6f4+9fvEOWrqOhL/ZKSFHafsBcwKVNlItXqF4I2bA+ynqOdz0CuR8ZZdSX5r5oJytX2Y5vbs5DfWscu1iTTn+r39t+IHnn7j0NGWXU4zvaoX3lKjPgfYBYoMNfdwTwA7ARsKds/2cAr4OSSuevAAMAy+gvpYr6B6sAAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis.label%20%3D%20%22Extensions%22%3B%0Athis.tooltipText%20%3D%20this.label%3B%0A%0A/*%20*****%20BEGIN%20LICENSE%20BLOCK%20*****%0A%20*%20Version%3A%20MPL%201.1%0A%20*%0A%20*%20The%20contents%20of%20this%20file%20are%20subject%20to%20the%20Mozilla%20Public%20License%20Version%0A%20*%201.1%20%28the%20%22License%22%29%3B%20you%20may%20not%20use%20this%20file%20except%20in%20compliance%20with%0A%20*%20the%20License.%20You%20may%20obtain%20a%20copy%20of%20the%20License%20at%0A%20*%20http%3A//www.mozilla.org/MPL/%0A%20*%0A%20*%20Software%20distributed%20under%20the%20License%20is%20distributed%20on%20an%20%22AS%20IS%22%20basis%2C%0A%20*%20WITHOUT%20WARRANTY%20OF%20ANY%20KIND%2C%20either%20express%20or%20implied.%20See%20the%20License%0A%20*%20for%20the%20specific%20language%20governing%20rights%20and%20limitations%20under%20the%0A%20*%20License.%0A%20*%0A%20*%20Original%20code%20is%20Extensions%20Options%20Menu%20for%20Custom%20Buttons%0A%20*%0A%20*%20The%20Initial%20Developer%20of%20the%20Original%20Code%20is%20LouCypher.%0A%20*%20Portions%20created%20by%20the%20Initial%20Developer%20are%20Copyright%20%28C%29%202011%0A%20*%20the%20Initial%20Developer.%20All%20Rights%20Reserved.%0A%20*%0A%20*%20Contributor%28s%29%3A%0A%20*%20%20LouCypher%20%3Cloucypher@mozillaca.com%3E%0A%20*%0A%20*%20*****%20END%20LICENSE%20BLOCK%20*****%20*/%0A%0Afunction%20%24%28aId%29%20%7B%0A%20%20return%20document.getElementById%28aId%29%3B%0A%7D%0A%0Afunction%20%24xml%28aXML%29%20%7B%0A%20%20return%20cbu.makeXML%28aXML%29%3B%0A%7D%0A%0Afunction%20sort%28aArray%29%20%7B%0A%20%20aArray.sort%28function%28a%2C%20b%29%20%7B%0A%20%20%20%20a%20%3D%20a.name.toLowerCase%28%29%3B%0A%20%20%20%20b%20%3D%20b.name.toLowerCase%28%29%3B%0A%20%20%20%20if%20%28a%20%3C%20b%29%20return%20-1%3B%0A%20%20%20%20if%20%28a%20%3E%20b%29%20return%201%3B%0A%20%20%20%20return%200%3B%0A%20%20%7D%29%0A%7D%0A%0Athis.openDialog%20%3D%20function%28aURL%29%20%7B%0A%20%20openDialog%28aURL%2C%20%22%22%2C%20%22chrome%2C%20dialog%2C%20close%2C%20titlebar%2C%20toolbar%2C%22%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22scrollbars%2C%20minimizable%2C%20centerscreen%22%29%3B%0A%7D%0A%0Athis.setStatus%20%3D%20function%28aString%29%20%7B%0A%20%20document.getElementById%28%22statusbar-display%22%29.label%20%3D%20aString%3B%0A%7D%0A%0Athis.onclick%20%3D%20function%20inspectExtensions%28aEvent%29%20%7B%0A%20%20if%20%28%28typeof%20inspectObject%20%21%3D%20%22function%22%29%20%7C%7C%0A%20%20%20%20%20%20%28aEvent.button%20%21%3D%201%29%29%20return%3B%0A%20%20AddonManager.getAllAddons%28function%28aAddons%29%20%7B%0A%20%20%20%20var%20extensions%20%3D%20%5B%5D%3B%0A%20%20%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aAddons.length%3B%20i++%29%20%7B%0A%20%20%20%20%20%20if%20%28aAddons%5Bi%5D.type%20%3D%3D%20%22extension%22%29%20%7B%0A%20%20%20%20%20%20%20%20extensions.push%28aAddons%5Bi%5D%29%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20sort%28extensions%29%3B%0A%20%20%20%20inspectObject%28extensions%29%3B%0A%20%20%7D%29%0A%7D%0A%0Athis.addonsMgr%20%3D%20function%28aPopup%2C%20aCallback%29%20%7B%0A%20%20AddonManager.getAllAddons%28function%28aAddons%29%20%7B%0A%20%20%20%20var%20extensions%20%3D%20%5B%5D%3B%0A%20%20%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aAddons.length%3B%20i++%29%20%7B%0A%20%20%20%20%20%20aAddons%5Bi%5D.toString%20%3D%20function%28%29%20%7B%20return%20this.name%3B%20%7D%0A%20%20%20%20%20%20if%20%28%28aAddons%5Bi%5D.type%20%3D%3D%20%22extension%22%29%20%26%26%0A%20%20%20%20%20%20%20%20%20%20%28aAddons%5Bi%5D.optionsURL%20%21%3D%20null%29%20%26%26%0A%20%20%20%20%20%20%20%20%20%20aAddons%5Bi%5D.isActive%29%20%7B%0A%20%20%20%20%20%20%20%20extensions.push%28aAddons%5Bi%5D%29%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20sort%28extensions%29%3B%0A%20%20%20%20aCallback%28aPopup%2C%20extensions%29%3B%0A%20%20%7D%29%0A%7D%0A%0Afunction%20getExtensionObject%28aId%2C%20aCallback%29%20%7B%0A%20%20AddonManager.getAllAddons%28function%28aAddons%29%20%7B%0A%20%20%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aAddons.length%3B%20i++%29%20%7B%0A%20%20%20%20%20%20if%20%28aAddons%5Bi%5D.id%20%3D%3D%20aId%29%20%7B%0A%20%20%20%20%20%20%20%20aCallback%28aAddons%5Bi%5D%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%7D%0A%20%20%7D%29%0A%7D%0A%0Afunction%20addItem%28aNode%2C%20aId%2C%20aLabel%2C%20aURL%2C%20aIcon%2C%20aHomePage%2C%20aDesc%29%20%7B%0A%20%20aNode.appendChild%28%24xml%28%3Cmenuitem%20xmlns%3D%7Bxulns%7D%20class%3D%22menuitem-iconic%22%0A%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%20GUID%3D%7BaId%7D%20label%3D%7BaLabel%7D%0A%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%20image%3D%7BaIcon%7D%20homepage%3D%7BaHomePage%7D%0A%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%20statustext%3D%7BaURL%7D%20tooltiptext%3D%7BaDesc%7D/%3E%29%29%3B%0A%7D%0A%0Avar%20popup%20%3D%20%24xml%28%3Cmenupopup%20xmlns%3D%7Bxulns%7D%20context%3D%22cb-extensions-menu%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20oncommand%3D%22event.stopPropagation%28%29%3B%20this.parentNode.openDialog%28event.target.statusText%29%3B%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onmouseover%3D%22this.parentNode.setStatus%28event.target.statusText%29%3B%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onmouseout%3D%22this.parentNode.setStatus%28%27%27%29%3B%22/%3E%29%3B%0A%0Athis.populate%20%3D%20function%28aPopup%2C%20aExtensions%29%20%7B%0A%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aExtensions.length%3B%20i++%29%20%7B%0A%20%20%20%20let%20ext%20%3D%20aExtensions%5Bi%5D%3B%0A%20%20%20%20addItem%28aPopup%2C%20ext.id%2C%20ext.name%20+%20%22%20%22%20+%20ext.version%2C%20ext.optionsURL%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28ext.iconURL%20%3F%20ext.iconURL%20%3A%20%22chrome%3A//mozapps/skin/extensions/extensionGeneric-16.png%22%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28ext.homepageURL%20%3F%20ext.homepageURL%20%3A%20ext.reviewURL.replace%28/%5C/reviews/%2C%20%22%22%29.toString%28%29%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ext.description%29%3B%0A%20%20%7D%0A%7D%0A%0Athis.addonsMgr%28popup%2C%20this.populate%29%3B%0A%0Athis.appendChild%28popup%29%3B%0Athis.type%20%3D%20%22menu-button%22%3B%0A%0A//---------------------------------%0A%0Athis.copyId%20%3D%20function%28aId%29%20%7B%0A%20%20Cc%5B%22@mozilla.org/widget/clipboardhelper%3B1%22%5D.%0A%20%20getService%28Ci.nsIClipboardHelper%29.copyString%28aId%29%3B%0A%7D%0A%0Athis.goHome%20%3D%20function%28aURL%29%20%7B%0A%20%20gBrowser.loadOneTab%28aURL%29%3B%0A%7D%0A%0Athis.inspect%20%3D%20function%28aId%29%20%7B%0A%20%20getExtensionObject%28aId%2C%20inspectObject%29%3B%0A%7D%0A%0Athis.explore%20%3D%20function%28aId%29%20%7B%0A%20%20var%20dirService%20%3D%20Cc%5B%22@mozilla.org/file/directory_service%3B1%22%5D.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20getService%28Ci.nsIProperties%29%3B%0A%20%20var%20dir%20%3D%20dirService.get%28%22ProfD%22%2C%20Ci.nsIFile%29%3B%0A%20%20dir.append%28%22extensions%22%29%3B%0A%20%20dir.append%28aId%29%3B%0A%20%20if%20%28%21dir.exists%28%29%29%20%7B%0A%20%20%20%20alert%28%22Directory%20%22%20+%20dir.path%20+%20%22%20doesn%27t%20exist%21%22%29%3B%0A%20%20%20%20return%3B%0A%20%20%20%20//dir.append%28%22.xpi%22%29%3B%0A%20%20%20%20//Application.console.log%28dir.path%29%3B%0A%20%20%7D%0A%20%20var%20localFileInterface%20%3D%20Cc%5B%22@mozilla.org/file/local%3B1%22%5D.%0A%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%20createInstance%28Ci.nsILocalFile%29%3B%0A%20%20localFileInterface.initWithPath%28dir.path%29%3B%0A%20%20var%20iDirectory%20%3D%20localFileInterface%3B%0A%20%20try%20%7B%0A%20%20%20%20iDirectory.reveal%28%29%3B%0A%20%20%7D%20catch%28ex%29%20%7B%0A%20%20%20%20var%20uri%20%3D%20Cc%5B%22@mozilla.org/network/io-service%3B1%22%5D.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20getService%28Ci.nsIIOService%29.newFileURI%28iDirectory%29%3B%0A%20%20%20%20var%20protocolSvc%20%3D%20Cc%5B%22@mozilla.org/uriloader/external-protocol-service%3B1%22%5D.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20getService%28Ci.nsIExternalProtocolService%29%3B%0A%20%20%20%20protocolSvc.loadUrl%28uri%29%3B%0A%20%20%7D%0A%7D%0A%0Aif%20%28%24%28%22cb-extensions-menu%22%29%29%20%7B%0A%20%20%24%28%22cb-extensions-menu%22%29.parentNode.removeChild%28%24%28%22cb-extensions-menu%22%29%29%3B%0A%7D%0A%0Athis.checkForDOMI%20%3D%20function%28aEvent%29%20%7B%0A%20%20if%20%28typeof%20inspectObject%20%21%3D%20%22function%22%29%20%7B%0A%20%20%20%20aEvent.target.getElementsByTagName%28%22menuitem%22%29%5B2%5D.hidden%20%3D%20true%3B%0A%20%20%7D%0A%7D%0A%0Avar%20popupset%20%3D%20document.getElementById%28%22mainPopupSet%22%29%3B%0Avar%20context%20%3D%20popupset.appendChild%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24xml%28%3Cmenupopup%20xmlns%3D%7Bxulns%7D%20id%3D%22cb-extensions-menu%22%20onclick%3D%22event.stopPropagation%28%29%3B%22%0A%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%20onpopupshowing%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.checkForDOMI%28event%29%3B%22%7D%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmenuitem%20label%3D%22Visit%20Home%20Page%22%0A%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%20onmouseover%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28document.popupNode.getAttribute%28%27homepage%27%29%29%3B%22%7D%0A%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%20onmouseout%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28%27%27%29%3B%22%7D%0A%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%20oncommand%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.goHome%28document.popupNode.getAttribute%28%27homepage%27%29%29%3B%22%7D/%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmenuitem%20label%3D%22Copy%20GUID%22%0A%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%20onmouseover%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D%0A%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%20onmouseout%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28%27%27%29%3B%22%7D%0A%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%20oncommand%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.copyId%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D/%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmenuitem%20label%3D%22Inspect%20Extension%22%0A%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%20onmouseover%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D%0A%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%20onmouseout%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28%27%27%29%3B%22%7D%0A%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%20oncommand%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.inspect%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D/%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmenuitem%20label%3D%22Browse%20Install%20Directory%22%0A%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%20onmouseover%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D%0A%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%20onmouseout%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28%27%27%29%3B%22%7D%0A%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%20oncommand%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.explore%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D/%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/menupopup%3E%29%29%3B%0A%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bvar%20url%20%3D%20%22chrome%3A//mozapps/content/extensions/extensions.xul%22%3B%0A%0Aif%20%28gBrowser.mCurrentTab.linkedBrowser.currentURI.spec%20%3D%3D%20%22about%3Ablank%22%29%20%7B%0A%20%20loadURI%28url%29%3B%0A%20%20return%3B%0A%7D%0A%0Avar%20tabs%20%3D%20gBrowser.mTabs%3B%0Afor%20%28var%20i%20%3D%200%3B%20i%20%3C%20tabs.length%3B%20i++%29%20%7B%0A%20%20if%20%28tabs%5Bi%5D.linkedBrowser.currentURI.spec%20%3D%3D%20url%29%20%7B%0A%20%20%20%20gBrowser.selectedTab%20%3D%20tabs%5Bi%5D%3B%0A%20%20%20%20return%3B%0A%20%20%7D%0A%7D%0A%0AgBrowser.loadOneTab%28url%2C%20null%2C%20null%2C%20null%2C%20false%29%3B%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%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E код Выделить код Код:var url = "chrome://mozapps/content/extensions/extensions.xul"; if (gBrowser.mCurrentTab.linkedBrowser.currentURI.spec == "about:blank") { loadURI(url); return; } var tabs = gBrowser.mTabs; for (var i = 0; i < tabs.length; i++) { if (tabs[i].linkedBrowser.currentURI.spec == url) { gBrowser.selectedTab = tabs[i]; return; } } gBrowser.loadOneTab(url, null, null, null, false); инициализация Выделить код Код:this.label = "Extensions"; this.tooltipText = this.label; /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * Original code is Extensions Options Menu for Custom Buttons * * The Initial Developer of the Original Code is LouCypher. * Portions created by the Initial Developer are Copyright (C) 2011 * the Initial Developer. All Rights Reserved. * * Contributor(s): * LouCypher <loucypher@mozillaca.com> * * ***** END LICENSE BLOCK ***** */ function $(aId) { return document.getElementById(aId); } function $xml(aXML) { return cbu.makeXML(aXML); } function sort(aArray) { aArray.sort(function(a, b) { a = a.name.toLowerCase(); b = b.name.toLowerCase(); if (a < b) return -1; if (a > b) return 1; return 0; }) } this.openDialog = function(aURL) { openDialog(aURL, "", "chrome, dialog, close, titlebar, toolbar," + "scrollbars, minimizable, centerscreen"); } this.setStatus = function(aString) { document.getElementById("statusbar-display").label = aString; } this.onclick = function inspectExtensions(aEvent) { if ((typeof inspectObject != "function") || (aEvent.button != 1)) return; AddonManager.getAllAddons(function(aAddons) { var extensions = []; for (var i = 0; i < aAddons.length; i++) { if (aAddons[i].type == "extension") { extensions.push(aAddons[i]); } } sort(extensions); inspectObject(extensions); }) } this.addonsMgr = function(aPopup, aCallback) { AddonManager.getAllAddons(function(aAddons) { var extensions = []; for (var i = 0; i < aAddons.length; i++) { aAddons[i].toString = function() { return this.name; } if ((aAddons[i].type == "extension") && (aAddons[i].optionsURL != null) && aAddons[i].isActive) { extensions.push(aAddons[i]); } } sort(extensions); aCallback(aPopup, extensions); }) } function getExtensionObject(aId, aCallback) { AddonManager.getAllAddons(function(aAddons) { for (var i = 0; i < aAddons.length; i++) { if (aAddons[i].id == aId) { aCallback(aAddons[i]); return; } } }) } function addItem(aNode, aId, aLabel, aURL, aIcon, aHomePage, aDesc) { aNode.appendChild($xml(<menuitem xmlns={xulns} class="menuitem-iconic" GUID={aId} label={aLabel} image={aIcon} homepage={aHomePage} statustext={aURL} tooltiptext={aDesc}/>)); } var popup = $xml(<menupopup xmlns={xulns} context="cb-extensions-menu" oncommand="event.stopPropagation(); this.parentNode.openDialog(event.target.statusText);" onmouseover="this.parentNode.setStatus(event.target.statusText);" onmouseout="this.parentNode.setStatus('');"/>); this.populate = function(aPopup, aExtensions) { for (var i = 0; i < aExtensions.length; i++) { let ext = aExtensions[i]; addItem(aPopup, ext.id, ext.name + " " + ext.version, ext.optionsURL, (ext.iconURL ? ext.iconURL : "chrome://mozapps/skin/extensions/extensionGeneric-16.png"), (ext.homepageURL ? ext.homepageURL : ext.reviewURL.replace(/\/reviews/, "").toString()), ext.description); } } this.addonsMgr(popup, this.populate); this.appendChild(popup); this.type = "menu-button"; //--------------------------------- this.copyId = function(aId) { Cc["@mozilla.org/widget/clipboardhelper;1"]. getService(Ci.nsIClipboardHelper).copyString(aId); } this.goHome = function(aURL) { gBrowser.loadOneTab(aURL); } this.inspect = function(aId) { getExtensionObject(aId, inspectObject); } this.explore = function(aId) { var dirService = Cc["@mozilla.org/file/directory_service;1"]. getService(Ci.nsIProperties); var dir = dirService.get("ProfD", Ci.nsIFile); dir.append("extensions"); dir.append(aId); if (!dir.exists()) { alert("Directory " + dir.path + " doesn't exist!"); return; //dir.append(".xpi"); //Application.console.log(dir.path); } var localFileInterface = Cc["@mozilla.org/file/local;1"]. createInstance(Ci.nsILocalFile); localFileInterface.initWithPath(dir.path); var iDirectory = localFileInterface; try { iDirectory.reveal(); } catch(ex) { var uri = Cc["@mozilla.org/network/io-service;1"]. getService(Ci.nsIIOService).newFileURI(iDirectory); var protocolSvc = Cc["@mozilla.org/uriloader/external-protocol-service;1"]. getService(Ci.nsIExternalProtocolService); protocolSvc.loadUrl(uri); } } if ($("cb-extensions-menu")) { $("cb-extensions-menu").parentNode.removeChild($("cb-extensions-menu")); } this.checkForDOMI = function(aEvent) { if (typeof inspectObject != "function") { aEvent.target.getElementsByTagName("menuitem")[2].hidden = true; } } var popupset = document.getElementById("mainPopupSet"); var context = popupset.appendChild( $xml(<menupopup xmlns={xulns} id="cb-extensions-menu" onclick="event.stopPropagation();" onpopupshowing={"document.getElementById('" + this.id + "').checkForDOMI(event);"}> <menuitem label="Visit Home Page" onmouseover={"document.getElementById('" + this.id + "').setStatus(document.popupNode.getAttribute('homepage'));"} onmouseout={"document.getElementById('" + this.id + "').setStatus('');"} oncommand={"document.getElementById('" + this.id + "').goHome(document.popupNode.getAttribute('homepage'));"}/> <menuitem label="Copy GUID" onmouseover={"document.getElementById('" + this.id + "').setStatus(document.popupNode.getAttribute('GUID'));"} onmouseout={"document.getElementById('" + this.id + "').setStatus('');"} oncommand={"document.getElementById('" + this.id + "').copyId(document.popupNode.getAttribute('GUID'));"}/> <menuitem label="Inspect Extension" onmouseover={"document.getElementById('" + this.id + "').setStatus(document.popupNode.getAttribute('GUID'));"} onmouseout={"document.getElementById('" + this.id + "').setStatus('');"} oncommand={"document.getElementById('" + this.id + "').inspect(document.popupNode.getAttribute('GUID'));"}/> <menuitem label="Browse Install Directory" onmouseover={"document.getElementById('" + this.id + "').setStatus(document.popupNode.getAttribute('GUID'));"} onmouseout={"document.getElementById('" + this.id + "').setStatus('');"} oncommand={"document.getElementById('" + this.id + "').explore(document.popupNode.getAttribute('GUID'));"}/> </menupopup>)); |
Infocatcher > 19-04-2013 09:14:23 |
adidharma пишет
https://loucypher.googlecode.com/svn/custombuttons/xml/ |
adidharma > 19-04-2013 10:04:05 |
Infocatcher пишет
Спасибо за ссылку, но чёто всё-равно работать не хочет. C ABP конфликтует, штоли? Да, отключил Adblock - всё нормально стало. С ABP такая ошибка: На 20-й версии тоже такую же ошибку выдаёт, а та кнопка, что я выше привёл, нормально работает. |
Infocatcher > 19-04-2013 12:42:49 |
adidharma Выделить код Код:function addItem(aNode, aId, aLabel, aURL, aIcon, aHomePage, aDesc) { aNode.appendChild($xml('<menuitem xmlns="' + xulns + '" ' + 'class="menuitem-iconic" GUID="' + aId + '" ' + 'label="' + aLabel + '" image="' + aIcon + '" ' + 'homepage="' + htmlEntities(aHomePage) + '" ' + 'statustext="' + aURL + '" ' + 'tooltiptext="' + aDesc + '"/>')); } на Выделить код Код:function addItem(aNode, aId, aLabel, aURL, aIcon, aHomePage, aDesc) { aNode.appendChild($xml('<menuitem xmlns="' + xulns + '" ' + 'class="menuitem-iconic" GUID="' + htmlEntities(aId) + '" ' + 'label="' + htmlEntities(aLabel) + '" image="' + htmlEntities(aIcon) + '" ' + 'homepage="' + htmlEntities(aHomePage) + '" ' + 'statustext="' + htmlEntities(aURL) + '" ' + 'tooltiptext="' + htmlEntities(aDesc) + '"/>')); } |
adidharma > 19-04-2013 13:12:32 |
Infocatcher |
Kiril__777 > 21-04-2013 18:33:47 |
для фф 20 есть кнопка BBCode? та что имеется уже не работает |
voqabuhe > 21-04-2013 20:19:41 |
Kiril__777 пишет
|
Kiril__777 > 22-04-2013 06:21:51 |
voqabuhe работает, спасибо |
Чайник > 22-04-2013 13:04:42 |
А как бы сделать, чтобы можно было использовать такую конструкцию Выделить код Код:(function(){var url=document.location.href;window.open('http://my_search.com/?q=' + encodeURIComponent(url))})() только вместо адреса подставлять содержимое буфера обмена? |
Чайник > 22-04-2013 16:21:29 |
okkamas_knife пишет
Мне надо вставлять содержимое буфера не в адресную строку, а в поле ввода поискового запроса на странице поисковика. |
Чайник > 23-04-2013 18:06:54 |
okkamas_knife пишет
okkamas_knife, потихоньку пробую вникнуть. Есть код Выделить код Код:gBrowser.selectedTab = gBrowser.addTab("http://my_url"); function upimg() { loadURI ("javascript:my_bookmarklet)"); } setTimeout(upimg, 1000); var input = content.document.getElementsByName("name")[0]; input.focus(); Получается, всё что идёт после setTimeout не работает. Почему? |
bunda1 > 23-04-2013 19:13:12 |
Чайник пишет
При отладке кода полезно смотреть в консоль ошибок:
|
Чайник > 23-04-2013 19:33:30 |
Нет, в консоли ошибок у меня ничего нет |
Чайник > 23-04-2013 22:48:52 |
okkamas_knife пишет
Вы абсолютно правильно поняли! okkamas_knife пишет
Не получается, нужно чтобы между срабатыванием букмарклета и фокусировкой был небольшой интервал, иначе не работает. okkamas_knife пишет
Тоже не выходит, срабатывает только первый таймер. В том числе и тот код, что вы предложили. |
Чайник > 24-04-2013 11:52:43 |
Я сделал с листенером: скрытый текст Выделить код Код:var newTabBrowser = gBrowser.getBrowserForTab(gBrowser.selectedTab = gBrowser.addTab("http://pixator.ru/")); newTabBrowser.addEventListener("load", function () {loadURI ("javascript:my_bookmarklet"); }, true); function focus() { var input = content.document.getElementsByName("id")[0]; input.focus(); //Тут идут ещё пара команд и вроде всё работает } window.setTimeout(focus, 2000); Только у меня не работало, пока я не подставил window перед setTimeout. В каких случаях надо добавлять window? |
Чайник > 25-04-2013 11:15:59 |
okkamas_knife пишет
Точно! В этом, как оказалось, и было всё дело. Спасибо огромное за помощь! |
1fesFFFF > 25-04-2013 15:14:43 |
В списке готовых кнопок нашёл только одну кнопку "Tabs Counter", но она не подходит мне. Мне нужно, чтобы сразу показывало число вкладок и только. Желательно, чтобы в этом месте |
diliana > 30-04-2013 01:25:18 |
всем привет есть такая удобная кнопка Stf - №76. Сохраняет выделенный текст или весь текст на странице как txt файл. еще я нашла кнопку Text To Editor - №165, которая умеет так делать, но в отличии от Stf в этой кнопке есть 2 больших неудобства В общем мне очень нужна ваша помощь, чтобы немного подправить кнопку Stf. |
Dumby > 30-04-2013 06:26:40 |
diliana Eщё вариант скрытый текст Заменить Выделить код Код:saveURL("data:text/plain," + encodeURIComponent( content.location.href + ("\r\n\r\n" + getSelect() )), fileTitle + ".txt", null, false, false, null, content.document); на Выделить код Код:var text = convertFromUnicode("UTF-8", content.location + "\r\n\r\n" + getSelect()); const filePicker = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker); filePicker.appendFilters(filePicker.filterText); filePicker.defaultExtension = "txt"; filePicker.defaultString = fileTitle + ".txt"; filePicker.init(window, "Сохранить как", filePicker.modeSave); if (filePicker.show() != filePicker.returnCancel) { const foStream = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream); foStream.init(filePicker.file, -1, 0777, 0); foStream.write(text, text.length); foStream.close(); filePicker.file.launch(); } |
diliana > 30-04-2013 15:29:41 |
Dumby это то, что было нужно! просто супер! |
adidharma > 11-05-2013 11:24:02 |
Тут предложение и запрос по кнопке Текстовые смайлы(Firefox3.6-5.0) |
bunda1 > 11-05-2013 11:43:03 |
adidharma |
adidharma > 11-05-2013 12:12:01 |
bunda1 пишет
Было бы прекрасно. |
bunda1 > 11-05-2013 12:14:11 |
okkamas_knife |
adidharma > 11-05-2013 12:14:19 |
okkamas_knife пишет
Я о том же думал - тогда новую кнопку сделать и выложить, отдельным постом. 11-05-2013 12:17:29 bunda1 пишет
Это, наверно, к модераторам/администраторам надо обратиться? |
bunda1 > 11-05-2013 12:25:02 |
adidharma пишет
Сложно это, я не возьмусь. |
adidharma > 11-05-2013 12:33:37 |
bunda1 пишет
Ну тогда просто отдельным постом выложить. |
bunda1 > 11-05-2013 12:37:47 |
Хорошо, примерно через час. |
Dumby > 11-05-2013 13:28:43 |
Чуть отвернулся - уже, наверно, не актуально, а выбросить жалко. скрытый текст Выделить код Код: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%u0422%u0435%u043A%u0441%u0442%u043E%u0432%u044B%u0435%20%u0441%u043C%u0430%u0439%u043B%u044B%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAACB0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgTVi7kSokAAAAFnRFWHRDcmVhdGlvbiBUaW1lADExLzA1LzA33bqJ2wAAAi9JREFUeJyVk8tLVHEUxz+/e2dGzWlCp2wxQykyiwQlw0JbhFJBEIEugqB90L5NLnr9A+3b1KZcxeiuxYTUoskQLc1ZJGXYSBk+ynnPvfecFlPqnaDHd3P48X2cc35wjKriw8KRHkzotmL3KXZc1UO9ShatTCOVm4HeT3O75cYXkDmaxNjDVJfB2wT1fhI2YsK4JoqqM95wbHnEH5C91kju2SLuWpzqR/4EhyiuNGVzbjzRNpAuWwBspcb+xQwQZB2bfDxsvR+rTZDpOw7yiuLMX827UXD2oyon7FtXWx/grHQiRR5OJrh+vx+Ano4Nn6GeMwgitFtqNXXhbQLwaDKxU8MnfQH1XMCq4IrpslQ19uu3Lw8t1uqFA9A84Auo54xRRCRm3Le9apdnd5TNA7Xu+RdQSPsXr+M2cnswzlx3NlDNxMDjf6Bq2MyHViy8fEZMeJtIzcaZSHf8ZphId3A32bP9rroWtnEzASE4KiZ6NqTfawGvY8wvRUm9SdB9OAvA/FIrH75E6O6sQuQcbD2hWDaIeKNGVanMHEpaWhwOsk6hHODe0/OkphzfBGf6G7hyqZ1me4XC58dUHRlvGZQRo6psTJ9ubNJ3izb5eMj6BqaBr84Qq4XaKgejQdqiQSgtUFx7TqlUyq6ua6LropZ9x1Scakuq6nDIyhOwKpjAXrAjqBqcSp5CIQd44y2DUndMu1B8ua9bhDsi2ueJxlUEY9ysQaYt492InJL53fofa8ocVmP9V6MAAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bconst%20data%20%3D%20%5B%0A%09%22%u042D%u043C%u043E%u0446%u0438%u044F%22%2C%0A%09%5B%0A%09%09%22%u0443%u043B%u044B%u0431%u043A%u0430%22%2C%20%22%3A-%29%22%2C%0A%09%09%22%u0433%u0440%u0443%u0441%u0442%u044C%22%2C%20%22%3A-%28%22%2C%0A%09%09%22%u0437%u0430%u0434%u0443%u043C%u0447%u0438%u0432%u043E%u0441%u0442%u044C%22%2C%20%22%3A-%7C%22%2C%0A%09%09%22%u0441%u043C%u0435%u0445%22%2C%20%22%3A-D%22%2C%0A%09%09%22%u0441%u043C%u0435%u0445%20%u0441%20%u0437%u0430%u0436%u043C%u0443%u0440%u0435%u043D%u043D%u044B%u043C%u0438%20%u0433%u043B%u0430%u0437%u0430%u043C%u0438%22%2C%20%22X-D%22%2C%0A%09%09%22%u0441%u0438%u043B%u044C%u043D%u043E%u0435%20%u043E%u0433%u043E%u0440%u0447%u0435%u043D%u0438%u0435%22%2C%20%22%3A-C%22%2C%0A%09%09%22%u043D%u0435%u0434%u043E%u0432%u043E%u043B%u044C%u0441%u0442%u0432%u043E/%u043E%u0437%u0430%u0434%u0430%u0447%u0435%u043D%u043D%u043E%u0441%u0442%u044C%22%2C%20%22%3A-/%22%2C%0A%09%09%22%u043D%u0435%u0434%u043E%u0432%u043E%u043B%u044C%u0441%u0442%u0432%u043E/%u043E%u0437%u0430%u0434%u0430%u0447%u0435%u043D%u043D%u043E%u0441%u0442%u044C%22%2C%20%22%3A-%5C%5C%22%2C%0A%09%09%22%u0443%u0434%u0438%u0432%u043B%u0435%u043D%u0438%u0435%22%2C%20%22%3A-0%22%2C%0A%09%09%22%u0441%u0438%u043B%u044C%u043D%u043E%u0435%20%u0443%u0434%u0438%u0432%u043B%u0435%u043D%u0438%u0435%22%2C%20%228-O%22%2C%0A%09%09%22%u0441%u0438%u043B%u044C%u043D%u043E%u0435%20%u0443%u0434%u0438%u0432%u043B%u0435%u043D%u0438%u0435%22%2C%20%22%3D-O%22%2C%0A%09%09%22%u0441%u0438%u043B%u044C%u043D%u043E%u0435%20%u0443%u0434%u0438%u0432%u043B%u0435%u043D%u0438%u0435%22%2C%20%22%3A-%5B%20%5D%22%2C%0A%09%09%22%u0441%u043C%u0443%u0449%u0435%u043D%u0438%u0435%22%2C%20%22%3A-%5B%22%2C%0A%09%09%22%u0441%u0431%u0438%u0442%20%u0441%20%u0442%u043E%u043B%u043A%u0443%22%2C%20%22%250%22%2C%0A%09%09%22%u0437%u043B%u043E%u0440%u0430%u0434%u043D%u044B%u0439%20%20%u0441%u043C%u0435%u0445%22%2C%20%22%3E%3A-D%22%2C%0A%09%09%22%u043A%u043E%u0432%u0430%u0440%u043D%u0430%u044F%20%20%u0443%u043B%u044B%u0431%u043A%u0430%22%2C%20%22%7D%3A-%3E%22%2C%0A%09%09%22%u043A%u043E%u0432%u0430%u0440%u043D%u0430%u044F%20%20%u0443%u043B%u044B%u0431%u043A%u0430%22%2C%20%22%5D%3A-%3E%22%2C%0A%09%09%22%u0441%u0438%u043B%u044C%u043D%u044B%u0439%20%u0441%u043C%u0435%u0445%28%u0434%u043E%20%u0441%u043B%u0451%u0437%29%22%2C%20%22%3A%27-%29%22%2C%0A%09%09%22%u0441%u0438%u043B%u044C%u043D%u044B%u0439%20%u0441%u043C%u0435%u0445%28%u0434%u043E%20%u0441%u043B%u0451%u0437%29%22%2C%20%22%3A%27-D%22%2C%0A%09%09%22%u0441%u0438%u043B%u044C%u043D%u0430%u044F%20%u0437%u043B%u043E%u0441%u0442%u044C%22%2C%20%22D-%3A%22%2C%0A%09%09%22%AB%u0435%u0434%u0435%u0442%20%u043A%u0440%u044B%u0448%u0430%BB%22%2C%20%22/%3A-%28%22%2C%0A%09%09%22%AB%u0435%u0434%u0435%u0442%20%u043A%u0440%u044B%u0448%u0430%BB%22%2C%20%22/%3A-%5D%22%0A%09%5D%2C%0A%09%22%u0414%u0435%u0439%u0441%u0442%u0432%u0438%u0435%22%2C%0A%09%5B%0A%09%09%22%u043F%u043E%u0434%u043C%u0438%u0433%u0438%u0432%u0430%u0442%u044C%22%2C%20%22%3B-%29%22%2C%0A%09%09%22%u0446%u0435%u043B%u043E%u0432%u0430%u0442%u044C%22%2C%20%22%3A-*%22%2C%0A%09%09%22%u043F%u043B%u0430%u043A%u0430%u0442%u044C%22%2C%20%22%3A_%28%22%2C%0A%09%09%22%u043F%u043B%u0430%u043A%u0430%u0442%u044C%22%2C%20%22%3A%7E%28%22%2C%0A%09%09%22%u043F%u043B%u0430%u043A%u0430%u0442%u044C%22%2C%20%22%3A%27%28%22%2C%0A%09%09%22%u043F%u043B%u0430%u043A%u0430%u0442%u044C%22%2C%20%22%3A*%28%22%2C%0A%09%09%22%u0441%u0442%u0440%u0430%u0441%u0442%u043D%u044B%u0439%20%u043F%u043E%u0446%u0435%u043B%u0443%u0439%22%2C%20%22%3A-%7B%7D%22%2C%0A%09%09%22%u043A%u0440%u0438%u0447%u0430%u0442%u044C%22%2C%20%22%3A-@%22%2C%0A%09%09%22%u0440%u043E%u0442%20%u043D%u0430%20%u0437%u0430%u043C%u043A%u0435%22%2C%20%22%3A-X%22%2C%0A%09%09%22%u043E%u0442%u0432%u0440%u0430%u0449%u0435%u043D%u0438%u0435%22%2C%20%22%3A-%21%22%2C%0A%09%09%22%u043F%u043E%u043A%u0430%u0437%u044B%u0432%u0430%u0442%u044C%20%u044F%u0437%u044B%u043A%22%2C%20%22%3A-P%22%2C%0A%09%09%22%u043F%u043E%u043A%u0430%u0437%u044B%u0432%u0430%u0442%u044C%20%u044F%u0437%u044B%u043A%22%2C%20%22%3A-p%22%2C%0A%09%09%22%u0433%u0440%u043E%u043C%u043A%u0438%u0439%20%u0441%u043C%u0435%u0445%22%2C%20%22%3Alol%3A%22%0A%09%5D%2C%0A%09%22%u041F%u0435%u0440%u0441%u043E%u043D%u0430%u0436%22%2C%0A%09%5B%0A%09%09%22%u0447%u0435%u043B%u043E%u0432%u0435%u043A%20%u0432%20%u043E%u0447%u043A%u0430%u0445%22%2C%20%228-%29%22%2C%0A%09%09%22%u0447%u0435%u043B%u043E%u0432%u0435%u043A%20%u0432%20%u043E%u0447%u043A%u0430%u0445%22%2C%20%22B-%29%22%2C%0A%09%09%22%u0430%u043D%u0433%u0435%u043B%22%2C%20%22O%3A-%29%22%2C%0A%09%09%22%u0441%u0443%u043C%u0430%u0441%u0448%u0435%u0434%u0448%u0438%u0439%22%2C%20%22%25%29%22%2C%0A%09%09%22%3A*%29%u043F%u044C%u044F%u043D%u044B%u0439%22%2C%20%22%22%2C%0A%09%09%22%u041C%u0435%u0434%u0432%u0435%u0434/%AB%u041F%u0440%u0435%u0432%u0435%u0434%21%22%2C%20%22/b/%22%2C%0A%09%09%22%u041C%u0435%u0434%u0432%u0435%u0434/%AB%u041F%u0440%u0435%u0432%u0435%u0434%21%BB%22%2C%20%22%5C%5Co/%22%2C%0A%09%09%22%u041C%u0435%u0434%u0432%u0435%u0434/%AB%u041F%u0440%u0435%u0432%u0435%u0434%21%BB%22%2C%20%22%u0413%u0433Y%22%2C%0A%09%09%22%u041A%u0442%u0443%u043B%u0445%u0443%22%2C%20%22%7B%3A%u20AC%22%2C%0A%09%09%22%u041A%u0442%u0443%u043B%u0445%u0443%22%2C%20%22%3AE%22%2C%0A%09%09%22%u041A%u0442%u0443%u043B%u0445%u0443%22%2C%20%22%28%3B%2C%3B%29%22%2C%0A%09%09%22%u043A%u043B%u043E%u0443%u043D%22%2C%20%22*%3AO%29%22%2C%0A%09%09%22%u043E%u0441%u043A%u0430%u043B%u0435%u043D%u043D%u044B%u0439%20%20%u0432%u0430%u043C%u043F%u0438%u0440%22%2C%20%22%3A-E%22%2C%0A%09%09%22%u0432%u0430%u043C%u043F%u0438%u0440%20%u0431%u0435%u0437%20%u043A%u043B%u044B%u043A%u0430%22%2C%20%22%3A-F%22%2C%0A%09%09%22%u043C%u0443%u0442%u0430%u043D%u0442/%u043F%u0440%u0438%u0448%u0435%u043B%u0435%u0446%22%2C%20%22%3A%3A-%29%22%2C%0A%09%09%22%u0440%u043E%u0431%u043E%u0442%22%2C%20%22%5B%3A%5D%22%2C%0A%09%09%22%u0432%u043E%u043B%u0448%u0435%u0431%u043D%u0438%u043A%22%2C%20%22-%3D%3C%3A-%29%22%2C%0A%09%09%22%u043A%u0438%u0442%u0430%u0435%u0446%22%2C%20%22%2C%u2019-/%22%2C%0A%09%09%22%u043A%u0438%u0442%u0430%u0435%u0446%22%2C%20%22%3C%7C-%29%22%2C%0A%09%09%22%u0446%u0438%u043A%u043B%u043E%u043F%22%2C%20%22%u043E-%29%22%2C%0A%09%09%22%u0446%u0438%u043A%u043B%u043E%u043F%22%2C%20%22O-%29%22%2C%0A%09%09%22%u0447%u0435%u0440%u0435%u043F%22%2C%20%22%3A-%5D%5B%22%2C%0A%09%09%22%u043A%u0443%u0440%u044F%u0449%u0438%u0439%20%u0442%u0440%u0443%u0431%u043A%u0443%22%2C%20%22%3A-%3F%22%2C%0A%09%09%22%u043E%u043B%u0435%u043D%u044C%22%2C%20%22%u042D%3A-%29%22%2C%0A%09%09%22%u0441%u0435%u0440%u0434%u0446%u0435%22%2C%20%22%3C3%22%2C%0A%09%09%22%u0440%u043E%u0437%u0430%22%2C%20%22@%7D-%3E--%22%2C%0A%09%09%22%u043A%u043E%u0437%u0430%20%28%u0436%u0435%u0441%u0442%29%22%2C%20%22%5C%5Cm/%22%2C%0A%09%09%22%u043A%u043E%u0437%u0430%20%28%u0436%u0435%u0441%u0442%29%22%2C%20%22%5C%5Cm/_%22%2C%0A%09%09%22%u0431%u0430%u044F%u043D%22%2C%20%22%5B%3A%7C%7C%7C%3A%5D%22%2C%0A%09%09%22%u0431%u0430%u044F%u043D%22%2C%20%22%5B%3A%5D/%5C%5C/%5C%5C/%5C%5C%5B%3A%5D%22%2C%0A%09%09%22%u0431%u0430%u044F%u043D%22%2C%20%22%5B%3A%5D%7C%7C%7C%5B%3A%5D%22%2C%0A%09%09%22%u0437%u0430%u0434%u043D%u0438%u0446%u0430%22%2C%20%22%28_%21_%29%22%2C%0A%09%09%22%u0437%u0430%u0434%u043D%u0438%u0446%u0430%22%2C%20%22%28%29%28%29%22%0A%09%5D%0A%5D%3B%0Afunction%20appendNode%28nodeName%2C%20parent%2C%20attrs%29%20%7B%0A%09var%20node%20%3D%20document.createElement%28nodeName%29%3B%0A%09for%20%28var%20attr%20in%20attrs%29%20node.setAttribute%28attr%2C%20attrs%5Battr%5D%29%3B%0A%09parent.appendChild%28node%29%3B%0A%09return%20node%3B%0A%7D%0Athis.insertText%20%3D%20function%28text%29%20%7B%0A%09const%20command%20%3D%20%22cmd_insertText%22%3B%0A%09var%20controller%20%3D%20document.commandDispatcher.getControllerForCommand%28command%29%3B%0A%09if%20%28%21controller%20%7C%7C%20%21controller.isCommandEnabled%28command%29%29%20return%3B%0A%09var%20params%20%3D%20Cc%5B%22@mozilla.org/embedcomp/command-params%3B1%22%5D.createInstance%28Ci.nsICommandParams%29%3B%0A%09params.setStringValue%28%22state_data%22%2C%20text%29%3B%0A%20%20%20%20%20%20%20%20controller.QueryInterface%28Ci.nsICommandController%29.doCommandWithParams%28command%2C%20params%29%3B%0A%7D%3B%0Avar%20popup%20%3D%20appendNode%28%22menupopup%22%2C%20this%2C%20%7B%0A%09position%3A%20%22after_start%22%2C%0A%09oncommand%3A%20%22event.stopPropagation%28%29%3B%20this.parentNode.insertText%28event.target.value%29%22%2C%0A%09oncontextmenu%3A%20%22event.preventDefault%28%29%22%0A%7D%29%3B%0Afor%20%28var%20i%20%3D%200%2C%20l%20%3D%20data.length%3B%20i%20%3C%20l%3B%20i%20+%3D%202%29%20%7B%0A%09var%20menu%20%3D%20appendNode%28%22menu%22%2C%20popup%2C%20%7B%20label%3A%20data%5Bi%5D%20%7D%29%3B%0A%09var%20menupopup%20%3D%20appendNode%28%22menupopup%22%2C%20menu%2C%20%7B%7D%20%29%3B%0A%09var%20items%20%3D%20data%5Bi%20+%201%5D%3B%0A%09for%20%28var%20j%20%3D%200%2C%20s%20%3D%20items.length%3B%20j%20%3C%20s%3B%20j%20+%3D%202%29%20%7B%0A%09%09appendNode%28%22menuitem%22%2C%20menupopup%2C%20%7B%0A%09%09%09label%3A%20items%5Bj%20+%201%5D%20+%20%22%20%22%20+%20items%5Bj%5D%2C%0A%09%09%09value%3A%20items%5Bj%20+%201%5D%0A%09%09%7D%29%3B%0A%09%7D%0A%7D%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bthis.lastChild.openPopup%28this%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 Выделить код Код: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%u0422%u0435%u043A%u0441%u0442%u043E%u0432%u044B%u0435%20%u0441%u043C%u0430%u0439%u043B%u044B%20%28%u0410%u0437%u0438%u044F%29%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAACB0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgTVi7kSokAAAAFnRFWHRDcmVhdGlvbiBUaW1lADExLzA1LzA33bqJ2wAAAi9JREFUeJyVk8tLVHEUxz+/e2dGzWlCp2wxQykyiwQlw0JbhFJBEIEugqB90L5NLnr9A+3b1KZcxeiuxYTUoskQLc1ZJGXYSBk+ynnPvfecFlPqnaDHd3P48X2cc35wjKriw8KRHkzotmL3KXZc1UO9ShatTCOVm4HeT3O75cYXkDmaxNjDVJfB2wT1fhI2YsK4JoqqM95wbHnEH5C91kju2SLuWpzqR/4EhyiuNGVzbjzRNpAuWwBspcb+xQwQZB2bfDxsvR+rTZDpOw7yiuLMX827UXD2oyon7FtXWx/grHQiRR5OJrh+vx+Ano4Nn6GeMwgitFtqNXXhbQLwaDKxU8MnfQH1XMCq4IrpslQ19uu3Lw8t1uqFA9A84Auo54xRRCRm3Le9apdnd5TNA7Xu+RdQSPsXr+M2cnswzlx3NlDNxMDjf6Bq2MyHViy8fEZMeJtIzcaZSHf8ZphId3A32bP9rroWtnEzASE4KiZ6NqTfawGvY8wvRUm9SdB9OAvA/FIrH75E6O6sQuQcbD2hWDaIeKNGVanMHEpaWhwOsk6hHODe0/OkphzfBGf6G7hyqZ1me4XC58dUHRlvGZQRo6psTJ9ubNJ3izb5eMj6BqaBr84Qq4XaKgejQdqiQSgtUFx7TqlUyq6ua6LropZ9x1Scakuq6nDIyhOwKpjAXrAjqBqcSp5CIQd44y2DUndMu1B8ua9bhDsi2ueJxlUEY9ysQaYt492InJL53fofa8ocVmP9V6MAAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bconst%20data%20%3D%20%5B%0A%09%22%u042D%u043C%u043E%u0446%u0438%u044F%22%2C%0A%09%5B%0A%09%09%22%u0443%u043B%u044B%u0431%u043A%u0430%22%2C%20%22%28n_n%29%22%2C%0A%09%09%22%u0440%u0430%u0434%u043E%u0441%u0442%u044C%22%2C%20%22%28%5E_%5E%29%22%2C%0A%09%09%22%u0433%u0440%u0443%u0441%u0442%u044C%22%2C%20%22%28%3C_%3E%29%22%2C%0A%09%09%22%u0433%u0440%u0443%u0441%u0442%u044C%22%2C%20%22%28v_v%29%22%2C%0A%09%09%22%u0443%u043B%u044B%u0431%u043A%u0430%20%u0447%u0435%u0440%u0435%u0437%20%u0441%u0438%u043B%u0443%22%2C%20%22%28%5E%20%5E%29%22%2C%0A%09%09%22%u0437%u043B%u043E%u0441%u0442%u044C/%u043A%u0430%u0442%u0435%u0433%u043E%u0440%u0438%u0447%u043D%u043E%u0441%u0442%u044C%22%2C%20%22%28%3E_%3C%29%22%2C%0A%09%09%22%u0441%u043A%u0435%u043F%u0442%u0438%u0447%u043D%u043E%u0441%u0442%u044C%22%2C%20%22%28%3E_%3E%29%22%2C%0A%09%09%22%u0441%u043A%u0435%u043F%u0442%u0438%u0447%u043D%u043E%u0441%u0442%u044C%22%2C%20%22%28%3C_%3C%29%22%2C%0A%09%09%22%u0441%u043A%u043E%u043D%u0444%u0443%u0436%u0435%u043D%u043D%u043E%u0441%u0442%u044C%22%2C%20%22%28-_-%A8%29%22%2C%0A%09%09%22%u0441%u043C%u0443%u0449%u0451%u043D%u043D%u043E%u0441%u0442%u044C%22%2C%20%22%5E_%5E%A8%22%2C%0A%09%09%22%u0441%u043C%u0443%u0449%u0435%u043D%u043D%u043E%u0441%u0442%u044C%20%u0441%20%u043F%u043E%u043A%u0440%u0430%u0441%u043D%u0435%u043D%u0438%u0435%u043C%22%2C%20%22*%5E_%5E*%22%2C%0A%09%09%22%u044F%u0440%u043E%u0441%u0442%u044C%22%2C%20%22%28-_-%23%29%22%2C%0A%09%09%22%u044F%u0440%u043E%u0441%u0442%u044C%22%2C%20%22%28-_-%A4%29%22%2C%0A%09%09%22%u044F%u0440%u043E%u0441%u0442%u044C%22%2C%20%22%28-_-+%29%22%2C%0A%09%09%22%u0443%u0434%u0438%u0432%u043B%u0435%u043D%u0438%u0435%22%2C%20%22%28o_o%29%22%2C%0A%09%09%22%u0441%u0438%u043B%u044C%u043D%u043E%u0435%20%u0443%u0434%u0438%u0432%u043B%u0435%u043D%u0438%u0435%22%2C%20%22%280_0%29%22%2C%0A%09%09%22%u043E%u0447%u0435%u043D%u044C%20%u0441%u0438%u043B%u044C%u043D%u043E%u0435%20%u0443%u0434%u0438%u0432%u043B%u0435%u043D%u0438%u0435%22%2C%20%22%28O_o%29%22%2C%0A%09%09%22%u043E%u0447%u0435%u043D%u044C%20%u0441%u0438%u043B%u044C%u043D%u043E%u0435%20%u0443%u0434%u0438%u0432%u043B%u0435%u043D%u0438%u0435%22%2C%20%22%28o_O%29%22%2C%0A%09%09%22%u043D%u0435%u043F%u0440%u0438%u044F%u0442%u043D%u043E%u0435%20%u0443%u0434%u0438%u0432%u043B%u0435%u043D%u0438%u0435%22%2C%20%22%28V_v%29%22%2C%0A%09%09%22%u043E%u0431%u0430%u043B%u0434%u0435%u043D%u0438%u0435%22%2C%20%22%28@_@%29%22%2C%0A%09%09%22%u0443%u0441%u0442%u0430%u043B%u043E%u0441%u0442%u044C%20%u0433%u043B%u0430%u0437%22%2C%20%22%28%25_%25%29%22%2C%0A%09%09%22%u0434%u0435%u043F%u0440%u0435%u0441%u0441%u0438%u044F%22%2C%20%22%28u_u%29%22%2C%0A%09%09%22%u0447%u0435%u0440%u0442%21%22%2C%20%22%28%3Ex%3C%21%29%22%2C%0A%09%09%22%u0440%u0435%u0432%u043D%u0438%u0432%u044B%u0439%22%2C%20%228%28%3E_%3C%298%22%2C%0A%09%09%22%u043A%u043E%u0441%u043E%u0439%20%u0432%u0437%u0433%u043B%u044F%u0434%2C%20%u043D%u0435%u0434%u043E%u0432%u0435%u0440%u0438%u0435%22%2C%20%22%28%3E%3E%29%22%2C%0A%09%09%22%u043D%u0435%u0440%u0432%u043D%u044B%u0439%20%u0442%u0438%u043A%22%2C%20%22%280_%3C%29%22%2C%0A%09%09%22%u0444%u0430%u043D%u0430%u0442%u0435%u043D%u0438%u0435%22%2C%20%22%28*_*%29%22%2C%0A%09%09%22%u0444%u043B%u0435%u0433%u043C%u0430%u0442%u0438%u0447%u043D%u043E%u0441%u0442%u044C/%AB%u043C%u0434%u0430-%u0430-%u0430%u2026%BB%22%2C%20%22-__-%22%2C%0A%09%09%22%u043D%u0435%20%u0441%u043F%u0430%u043B%20%u0432%u0441%u044E%20%u043D%u043E%u0447%u044C%22%2C%20%22%289_9%29%22%2C%0A%09%09%22%u0441%u043E%u043D%u043D%u044B%u0439%20%u0438%u043B%u0438%20%AB%u0434%u043E%u0441%u0442%u0430%u043B%u0438%u2026%BB%22%2C%20%22%3D__%3D%22%2C%0A%09%09%22Zzz.%u0441%u043F%u044F%u0449%u0438%u0439%22%2C%20%22%28-.-%29Zzz.%22%2C%0A%09%09%22Zzz.%u0441%u043F%u044F%u0449%u0438%u0439%22%2C%20%22%28-_-%29Zzz.%22%2C%0A%09%09%22%u0431%u043E%u043B%u0435%u0437%u043D%u0435%u043D%u043D%u043E%u0441%u0442%u044C%22%2C%20%22%28-_-%3B%29%22%2C%0A%09%09%22%u0442%u0440%u0443%u043F%22%2C%20%22%28%u0425_%u0445%29%22%2C%0A%09%09%22%u0442%u0440%u0443%u043F%22%2C%20%22%28+_+%29%22%2C%0A%09%09%22%u0442%u0440%u0443%u043F%22%2C%20%22%28%u0445_%u0445%29%22%0A%09%5D%2C%0A%09%22%u0414%u0435%u0439%u0441%u0442%u0432%u0438%u0435%22%2C%0A%09%5B%0A%09%09%22%u043F%u043E%u0434%u043C%u0438%u0433%u0438%u0432%u0430%u0442%u044C%22%2C%20%22%28%5E_%7E%29%22%2C%0A%09%09%22%u043F%u043E%u0434%u043C%u0438%u0433%u0438%u0432%u0430%u0442%u044C%22%2C%20%22%28%5E_-%29%22%2C%0A%09%09%22%u043F%u043B%u0430%u043A%u0430%u0442%u044C%22%2C%20%22%28%3B_%3B%29%22%2C%0A%09%09%22%u043F%u043B%u0430%u043A%u0430%u0442%u044C%22%2C%20%22%28T_T%29%22%2C%0A%09%09%22%u043F%u043B%u0430%u043A%u0430%u0442%u044C%22%2C%20%22%28TT.TT%29%22%2C%0A%09%09%22%u043F%u043B%u0430%u043A%u0430%u0442%u044C%22%2C%20%22%28ToT%29%22%2C%0A%09%09%22%u043F%u043B%u0430%u043A%u0430%u0442%u044C%22%2C%20%22Q__Q%22%2C%0A%09%09%22%u0440%u0443%u043A%u043E%u043F%u043E%u0436%u0430%u0442%u0438%u0435%22%2C%20%22%3DX%3D%22%2C%0A%09%09%22%u043B%u044E%u0431%u043E%u0432%u044C%22%2C%20%22%5E%7D%7B%5E%22%2C%0A%09%09%22%u043F%u043E%u0446%u0435%u043B%u0443%u0439%22%2C%20%22%28%5E3%5E%29%22%0A%09%5D%2C%0A%09%22%u041F%u0435%u0440%u0441%u043E%u043D%u0430%u0436%22%2C%0A%09%5B%0A%09%09%22%u043A%u043E%u0448%u043A%u0430%28%u043D%u044F%29%22%2C%20%22%28%3D%5E.%5E%3D%29%22%2C%0A%09%09%22%u043A%u043E%u0448%u043A%u0430%28%u043D%u044F%29%22%2C%20%22%3D%5E_%5E%3D%22%2C%0A%09%09%22%u0441%u043E%u0432%u0430%22%2C%20%22%28O%2Co%29%22%2C%0A%09%09%22%u0441%u0432%u0438%u043D%u044C%u044F%22%2C%20%22%5E..%5E%22%2C%0A%09%09%22%u044D%u043C%u043E-%u043A%u0438%u0434%22%2C%20%22///_%u0422%22%2C%0A%09%09%22%u044D%u043C%u043E-%u043A%u0438%u0434%22%2C%20%22T_%5C%5C%5C%5C%5C%5C%22%2C%0A%09%09%22%u044D%u043C%u043E-%u043A%u0438%u0434%22%2C%20%22///_%5E%22%2C%0A%09%09%22%u044D%u043C%u043E-%u043A%u0438%u0434%22%2C%20%22%5E_%5C%5C%5C%5C%5C%5C%22%2C%0A%09%09%22%u041C%u0435%u0434%u0432%u0435%u0434/%AB%u041F%u0440%u0435%u0432%u0435%u0434%21%BB%22%2C%20%22%28%A8%5C%5C%28%u043E_%u041E%29/%A8%29%22%2C%0A%09%09%22%u041A%u0442%u0443%u043B%u0445%u0443%22%2C%20%22%28jIj%29%22%2C%0A%09%09%22%u041A%u0442%u0443%u043B%u0445%u0443%22%2C%20%22%28%3B%2C%3B%29%22%2C%0A%09%09%22%u041A%u0442%u0443%u043B%u0445%u0443%22%2C%20%22%28o%2C.%2CO%29%22%2C%0A%09%09%22%u041A%u0442%u0443%u043B%u0445%u0443%22%2C%20%22Y%28O%2C%2C%2C%2CO%29Y%22%2C%0A%09%09%22%u0436%u0438%u0432%u043E%u0439%20%u0441%u0440%u0435%u0434%u0438%20%u0437%u043E%u043C%u0431%u0438%22%2C%20%22%28x%28x_%28x_x%28%u041E_%u043E%29x_x%29_x%29x%29%22%2C%0A%09%09%22%u043F%u0440%u043E%u0441%u043D%u0443%u043B%u0441%u044F%20%u0432%20%u043C%u0435%u0442%u0440%u043E%22%2C%20%22%28-%28-_%28-_-%28%u041E_%u043E%29-_-%29_-%29-%29%22%2C%0A%09%09%22%u043E%u0432%u0435%u043D%2C%20%u0431%u0430%u0440%u0430%u0448%u043A%u0430%22%2C%20%22@-_-@%22%0A%09%5D%0A%5D%3B%0Afunction%20appendNode%28nodeName%2C%20parent%2C%20attrs%29%20%7B%0A%09var%20node%20%3D%20document.createElement%28nodeName%29%3B%0A%09for%20%28var%20attr%20in%20attrs%29%20node.setAttribute%28attr%2C%20attrs%5Battr%5D%29%3B%0A%09parent.appendChild%28node%29%3B%0A%09return%20node%3B%0A%7D%0Athis.insertText%20%3D%20function%28text%29%20%7B%0A%09const%20command%20%3D%20%22cmd_insertText%22%3B%0A%09var%20controller%20%3D%20document.commandDispatcher.getControllerForCommand%28command%29%3B%0A%09if%20%28%21controller%20%7C%7C%20%21controller.isCommandEnabled%28command%29%29%20return%3B%0A%09var%20params%20%3D%20Cc%5B%22@mozilla.org/embedcomp/command-params%3B1%22%5D.createInstance%28Ci.nsICommandParams%29%3B%0A%09params.setStringValue%28%22state_data%22%2C%20text%29%3B%0A%20%20%20%20%20%20%20%20controller.QueryInterface%28Ci.nsICommandController%29.doCommandWithParams%28command%2C%20params%29%3B%0A%7D%3B%0Avar%20popup%20%3D%20appendNode%28%22menupopup%22%2C%20this%2C%20%7B%0A%09position%3A%20%22after_start%22%2C%0A%09oncommand%3A%20%22event.stopPropagation%28%29%3B%20this.parentNode.insertText%28event.target.value%29%22%2C%0A%09oncontextmenu%3A%20%22event.preventDefault%28%29%22%0A%7D%29%3B%0Afor%20%28var%20i%20%3D%200%2C%20l%20%3D%20data.length%3B%20i%20%3C%20l%3B%20i%20+%3D%202%29%20%7B%0A%09var%20menu%20%3D%20appendNode%28%22menu%22%2C%20popup%2C%20%7B%20label%3A%20data%5Bi%5D%20%7D%29%3B%0A%09var%20menupopup%20%3D%20appendNode%28%22menupopup%22%2C%20menu%2C%20%7B%7D%20%29%3B%0A%09var%20items%20%3D%20data%5Bi%20+%201%5D%3B%0A%09for%20%28var%20j%20%3D%200%2C%20s%20%3D%20items.length%3B%20j%20%3C%20s%3B%20j%20+%3D%202%29%20%7B%0A%09%09appendNode%28%22menuitem%22%2C%20menupopup%2C%20%7B%0A%09%09%09label%3A%20items%5Bj%20+%201%5D%20+%20%22%20%22%20+%20items%5Bj%5D%2C%0A%09%09%09value%3A%20items%5Bj%20+%201%5D%0A%09%09%7D%29%3B%0A%09%7D%0A%7D%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bthis.lastChild.openPopup%28this%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 |
Dumby > 11-05-2013 13:57:21 |
okkamas_knife |
Dumby > 11-05-2013 15:40:35 |
Упс, виноват, не все обратные слэши заэкранировал. |
bunda1 > 11-05-2013 15:43:46 |
Dumby пишет
Не понял, где поправить. 11-05-2013 15:44:46 11-05-2013 15:58:33 |
MySh > 15-05-2013 20:28:57 |
Всем доброго времени суток! Нужна помощь с кнопками. После обновления Firefox до версии 21 перестали работать вот эти кнопки:
Они отвалились на самом деле ещё раньше, но тогда помогло включение параметра javascript.options.xml.chrome. Он и сейчас включён, но это больше не помогает. |
Pony_Smile_Pack > 15-05-2013 20:32:44 |
MySh пишет
|
adidharma > 15-05-2013 21:51:20 |
MySh пишет
|
bunda1 > 15-05-2013 21:52:46 |
MySh пишет
|
MySh > 15-05-2013 23:49:31 |
Pony_Smile_Pack
Спасибо, уже лучше, чем совсем ничего, но всё же не совсем то. Та кнопка позволяла выбрать один символ из выпадающего меню, и он появлялся на ней же, после чего его можно было вставлять много раз, не открывая выпадающего меню; с этой же кнопкой так не получается. К тому же у той кнопки меню не закрывалось, пока не щёлкнешь где-нибудь вне его (возможно, потому, что у меня установлено расширение Stay-Open Menu), а у этой оно всё равно закрывается. okkamas_knife
Это я уже понял. А как её вернуть? Может быть, есть какое-нибудь расширение для этого? adidharma
А вот это я не очень понял. По ссылке открывается GitHub, а в нём какие-то файлы. И что мне с ними делать? Это надо самому расширение собирать, что ли?
К сожалению, нормально не хочет работать. То есть, вроде работает, но в выпадающем меню какой-то ужас творится (какие-то сущности XML). Видимо, тоже уже не работает. bunda1
И эта, к сожалению, работать не хочет. |
adidharma > 16-05-2013 00:13:23 |
MySh пишет
Там нужно перейти по ссылке http://infocatcher.github.io/Custom_But … rtE4X.html и установить кнопку, тыцнул по "install" (если есть NoScript и/или Redirect Remover, то в первом надо разр. скрипты, а второе отключить). Потом вытащить установленную кнопку и кликая сначала на ней, а потом на требующей конвертации, сконвертировать (будет открыта вкладка с исправленным кодом инициализации). Page Encoding (Firefox 13+) и Вставка символа сконвертились без проблем. MySh пишет
В этом посте же написано, как исправить: №164 |
MySh > 16-05-2013 00:22:34 |
adidharma
Спасибо, буду разбираться.
Ещё раз спасибо, исправил, вроде работает. |
bunda1 > 16-05-2013 08:13:07 |
MySh пишет
Я сейчас проверил и кнопка работает даже на Nightly |
voqabuhe > 16-05-2013 10:48:16 |
bunda1 |
bunda1 > 16-05-2013 18:18:47 |
voqabuhe пишет
Обнови кнопку, эта ошибка исправлена. |
voqabuhe > 16-05-2013 21:47:49 |
bunda1 пишет
А, спасибо, проморгал обновление. |
MySh > 18-05-2013 00:05:49 |
bunda1
Я вспомнил, почему оно не хочет работать — это из-за того, что у меня Linux, да ещё с KDE. Для моей системы Anton сделал специальную версию, которая у меня и стояла. Как бы то ни было, кнопка помогла, всё заработало как нужно. Посмотрим, надолго ли. |
bunda1 > 18-05-2013 00:09:29 |
MySh |
MySh > 18-05-2013 01:32:32 |
bunda1 Хотелось бы, чтобы в этой кнопке в выпадающем меню отключённые расширения тоже показывались (только в более бледном виде). Можно ли такое сделать? Тогда будет полная замена старой версии. |
Чайник > 18-05-2013 19:52:56 |
Какой командой можно закрыть toolbar-context-menu? |
Dumby > 18-05-2013 20:17:22 |
Чайник пишет
Выделить код Код:addEventListener("popupshowing", function(e) e.preventDefault(), false, document.getElementById("toolbar-context-menu")); |
Чайник > 18-05-2013 21:05:57 |
Dumby Выделить код Код:// ------ Очистка searchbar по правому клику на иконке лупы var sbar = document.getElementById("searchbar"); var butt = document.getAnonymousElementByAttribute(sbar, "anonid", "search-go-button"); butt.setAttribute("onclick", "event.stopPropagation(); clear(event);"); clear = function (event) { // ------ Добавлен EventListener addEventListener("popupshowing", function(e) e.preventDefault(), false, document.getElementById("toolbar-context-menu")); // ------------------------------------- if ( event.button == 2 ) { sbar.value="" } else { sbar.handleSearchCommand(event).doCommand(); } } Кликаю по лупе и контекстное меню выскакивает как и без листенера. |
Dumby > 18-05-2013 21:43:18 |
Чайник скрытый текст Выделить код Код:// ------ Очистка searchbar по правому клику на иконке лупы var sbar = document.getElementById("searchbar"); var butt = document.getAnonymousElementByAttribute(sbar, "anonid", "search-go-button"); var attr = '\ if (event.button == 2) { event.preventDefault(); this.parentNode.parentNode.value = ""; }\ else handleSearchCommand(event);'; butt.setAttribute("onclick", attr); |
Чайник > 18-05-2013 22:32:12 |
Просто блеск!! |
vom > 29-05-2013 09:32:02 |
Подскажите пожалуйста код, чтобы сворачивать браузер сочетанием Shift + F1. |
Dumby > 29-05-2013 10:16:36 |
vom Выделить код Код:addEventListener("keypress", function(e) { if (e.keyCode == e.DOM_VK_F1 && e.shiftKey) minimize() }, false); |
vom > 29-05-2013 17:35:06 |
Dumby, okkamas_knife и ради интереса, возможно ли сделать такой же глобальный хот кей на свернуть/развернуть браузер? В фубаре, например, глобальные клавиши назначаются просто, может и в лисе можно? |
bunda1 > 29-05-2013 20:33:52 |
vom пишет
Свернуть можно если фокус на баузере но развернуть наверно нет. |
vom > 30-05-2013 13:31:07 |
bunda1 |
vom > 30-05-2013 15:26:46 |
okkamas_knife |
adidharma > 02-06-2013 08:30:37 |
Насчёт кнопок в UX: feas пишет
adidharma пишет
тут случайно обнаружил - если перетащить неработающие кнопки с панели навигации (не работают только те кнопки, у которых код в Инициализации, точнее код из Инициализации не работает, а из секции "Код" работает) на панель закладок, а потом назад, то они начинают работать. Однако после перезапуска UX опять перестают работать. |
Ferguss114 > 02-06-2013 12:34:21 |
Можно сделать, чтобы кнопка вызывала на searchbar-e то контекстное меню, что открывается у выделенного текста на странице? |
bunda1 > 02-06-2013 13:39:57 |
Ferguss114 пишет
|
Dumby > 02-06-2013 14:12:17 |
adidharma пишет
У меня так сработало скрытый текст Выделить код Код:var sel = '#nav-bar-customizationtarget > toolbarbutton[id^="custombuttons-button"]:not([initialized])'; Array.forEach(document.querySelectorAll(sel), btn => { try { btn.init() } catch(ex) {} }); |
bunda1 > 02-06-2013 14:42:01 |
Dumby |
Dumby > 02-06-2013 15:13:30 |
bunda1 пишет
Дело было так скрытый текст Забрал этот ![]() А там - похоже, что кнопки, вытащенные на #nav-bar, не хотят инициализироваться сами. Ну а код, будучи положен в Инициализацию кнопки, |
bunda1 > 02-06-2013 15:21:29 |
Dumby |
adidharma > 02-06-2013 20:31:10 |
Dumby пишет
Спасибо, это работает. 02-06-2013 20:41:43 скрытый текст Dumby пишет
Там, кстати, и установка кнопок на панель дополнений делается весьма костыльным методом - кнопки устанавливаются и их расположение настраивается в обычной Nightly, после чего папка custombuttons и файл localstore.rdf копируются в профиль UX. |
bunda1 > 03-06-2013 19:42:04 |
Ferguss114 пишет
Я продублировал это пункт меню в контекстном меню панели поиска и обнаружил что он не работает Выделить код Код:addEventListener("popupshowing", function(e) { var popup = e.originalTarget; var cloneSearchSelect = document.getElementById("context-searchselect").cloneNode(true); popup.appendChild( cloneSearchSelect ); }, false, document.getElementById("searchbar") ); |
Ferguss114 > 04-06-2013 00:12:14 |
Жаль... |
Zaycoff > 04-06-2013 02:46:54 |
Небольшой вопросик: я тут одну кнопочку делал и нужно мне, чтобы пользователь вводил некое число... вставляю значит такой код: а на выходе оно выдаёт число ровно в 10 раз большее чем введено (т.е. вместо 5 выдаёт 50)... пытаюсь его поделить на 10, раз уж его так колбасит, на выходе получаю в 10 раз меньший результат, т.е 0.5 Умножаю его ещё раз на 10 и получаю нужный, в итоге работает такой вот код: Только у меня так или так и задумано? |
Zaycoff > 04-06-2013 03:47:14 |
okkamas_knife |
Mishania > 06-06-2013 20:36:55 |
У меня установлено расширение Greasefire (поиск скриптов для открытой страницы на Userscripts.org), но в последнее время расширение работает из рук вон плохо. И вот я подумал, а нельзя-ли для этой цели использовать сделать кнопку? |
Pony_Smile_Pack > 06-06-2013 21:02:08 |
Mishania пишет
Добавить поиск по Userscripts.org с помощью Add to Search Bar :: Дополнения Firefox |
Mishania > 07-06-2013 05:39:25 |
Pony_Smile_Pack |
Mishania > 07-06-2013 07:46:58 |
okkamas_knife |
Zaycoff > 07-06-2013 08:24:16 |
Mishania Выделить код Код: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%3ESearch%20for%20Userscripts.org%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKwSURBVHjabJNJTBNRGID/mc5MQYVWVNCGTbEtNZGDBj1ogolEMR5UJA2LBmMoIokxERIj8ehJjx6MYIQoJgq4JIa6gEARkKJFTa2iFFtKWwp2oeDCzNQ+31DQCc5L/nmT/P/3749ACAFBECBxiEPFFds0Ws399DRVhtX2udc97ig0PmgOLBkIbOwjAR8uMRRdvXF7pqv/NfrqnEAOlxsdLas6j3Wk2AEpCRcbKvLydrdu1WUr0lXrITEhAZKUSkhQKvKwXiY2ppbDRzCcv29P/ZZsDaSqUkCJYVJGwKMnHTDlmWgTZ/CvjkW4sKTScP1WC+oZsKAxpwv5gyEUnAkj2xc70p88Y8Y2a8VBxT0gispOGa413UVDb23IMe6OwaEw+jTqQKMOF3pptqBSw7k74hLEPaDUOu0VmpFDV58ZCJIAkiDB5fUBz0eApmjQqbOgrqa69HhVbZO4jKUfmiBJBctysHJFPPiDYbA7J4DjeJDLaWAYGVAyErIy0uDs6RPH9OXVtULWYgfEmN3emJK8BlYrEsHl8cEvloX4ODnEyRlgKGZhV1iOhcz0VNixM7dOCCp2EBkeMF3u6DaNqDasg1U4CzlFxxSRKMyz8xjmsPAQwNmRsc2jxGPkR0esHp7n9RBFrYbyUi1DUzh1GujFG0UBQrNz8P7DR3j+9NklqTEK3VVkbNLkVNZc9AwNW5Hb60PT/gCamg6gEbsT3XvYjvIP6i9gu2ShhOWb+BvLD13O9o3azWrVdy4K3wKhv5HfWW1Q39BY19nechPbzQrVwX9bhU+iIqnyQMF+mPvJQr/FCsHwDJgG30ADhl8Y2wQ4jIUVkpdaZRnPcd6AfxomJ32AIhEwdvaC8XG7JLwwvmXPmVFn52Tu2lvQjN9Crn3M6bWY+6otr3oGpWCB/SPAAJaJRguGUxB0AAAAAElFTkSuQmCC%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*/%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%0Aurl%3DgetBrowser%28%29.currentURI.spec%3B%0Adomen%20%3D%20url.split%28/%5C/+/g%29%5B1%5D%3B%0AgetBrowser%20%28%29.%20selectedTab%20%3D%20getBrowser%20%28%29.%20addTab%20%28%22https%3A//userscripts.org/scripts/search%3Fq%3D%22%20+%20domen%20+%22%26submit%3DSearch%22%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 Выделить код Код:url=getBrowser().currentURI.spec; domen = url.split(/\/+/g)[1]; getBrowser (). selectedTab = getBrowser (). addTab ("https://userscripts.org/scripts/search?q=" + domen +"&submit=Search"); |
1fesFFFF > 17-06-2013 01:07:00 |
Есть ли кнопка, которая открывает окошко с сохранёнными паролями именно для того сайта, на котором она была нажата? |
Dumby > 17-06-2013 22:27:16 |
1fesFFFF пишет
Если нет и если правильно понял, то может новую, и во вкладку Код скрытый текст Выделить код Код:var str = ""; var loc = content.location; if (!loc.protocol.indexOf("http")) str = loc.host; var win = Services.wm.getMostRecentWindow("Toolkit:PasswordManager"); if (win) win.setFilter(str), win.focus(); else openDialog( "chrome://passwordmgr/content/passwordManager.xul", "_blank", "resizable,dialog=no,centerscreen", { filterString: str } ); |
1fesFFFF > 17-06-2013 23:23:50 |
Dumby |
Loom > 03-09-2013 17:15:27 |
Подскажите пожалуйста, как изменить сохранение изображений с двойного на одинарный клик ПКМ в этой кнопке Autocopy+3? И можно ли сделать выделение слова по одинарному ЛКМ, а абзаца по двойному? |
bunda1 > 04-09-2013 21:18:06 |
Loom пишет
Выделить код Код: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%3EAutocopy+3%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgEDAAQACAcEAAcIBAAHCAQABwgEAAcIBAAHCAQABwgEAAcIBAAHCAMBBAEAAAAAAAAAAAAAAAACAAMDAAAAABUAJx9cAKq3awG84GoBud1qAbreagG63moBut5qAbreagG63mgAuN1qAbrgYgCzxR4ANy8AAAAAAAABAAEAAgQABAAAVwCgprNW/f/Wqf7805///9Si///Uov//1KL//9Si///Uov//16f//9Wl/vy3Yv3/YwC0vwEBAAAAAAAAFQAoH1cAoalyAM/1hh/Y/Ywn3P2KI9v9iyTb/Ysl2/2LJdv9iybb/Yki2v2bQ+L927X9/Neq/v9qAbvdBQAJCAABAABeAKuzr1H7/8WP9Pu+f/H/vn/y/76A8v++gPL/voDy/75/8v+9fvL/wof0/4wq3P+eS+L93rT//2gAud0DAAcIBQAJCGsBvNzVp/3/4sH//d+7///hv///4b///+G////hv///4b///9+7/v/nyf//w4rx/4wr2v3guv//agK63gMABwgEAAcIagK53dWl///gwP793rv+/9++/v/gv/7/4L/+/+C//v/fvv7/3br+/+TG///BhvH/jy3b/eTD//9qA7reAwAHCAQABwhqArre2rD//+jP//3lyv//583//+fO///nzv//587//+fN///lyP7/7Nb//8WP8v+QL9v96c3//2oDut4DAAcIBAAHCGoCut7fuf//7tz//evW///t2f//7dr//+3a///t2v//7dn//+rV/v/y4///yJby/5Ax2/3s1f//agS63gMABwgEAAcIagK63uPB///z6P/98OH///Lk///z5f//8+X///Pl///y5P//8OD+//ju///LnfL/kTLb/fDc//9rBLreAwAHCAQABwhqArre5sn///jy//316v//9u3///fu///37///9+7///bt///06f7//fj//86j8v+RMtv98d///2oFud0DAAcIBAAHCGoCut7pz////Pr//fjx///69P//+vX///r1///69f//+vT///fw/v//////0ajx/5M12/305///awS83AQACQgEAAcIaQK53erR///+/v/9+vT///v3///8+P///Pj///z4///79///+fT+///////TrPL/iyjY+8N5/f9dAKuzAAIAAAUACQhqAbvd7dr+//////z+/f/9/////f////3////9/////f////39/P79/////dy+8/5vAND1VgKhqRUAJx8AAAAAAQIAAGIAtL/Jh/3/8uT+/O3X///u2f//7tn//+7Z///u2f//7tn//+3X///x4/38vW78/1UAoKYABQAAAQACBAAAAQAAAAAAHgA3LmEAs8VqArvgagK53WoCut5qArreagK63moCut5qArreagK53WsBvOBbAKq3FQAnHwAAAAACAAMDAAAAAAAAAAAAAAAAAwIEAQQACAgEAAcIBAAHCAQABwgEAAcIBAAHCAQABwgEAAcIBAAIBwMCAwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20Autocopy+3%20%u043E%u0442%2005.08.2013.%0A%0A//%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20................................%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20cbu.setPrefs%28%22Autocopy%22%2C%20%21cbu.getPrefs%28%22Autocopy%22%29%20%29%3B%20%0A%20%20%20%20%20%20%20%0A%20%20%20if%20%28%20e.button%20%3D%3D%202%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%20%20%0A%20%20%20%20%20%20%20%20menuPopup.showPopup%28%20this%2C%20-1%2C%20-1%2C%20%22popup%22%2C%20%22bottomleft%22%2C%20%22topleft%22%29%3B%0A%20%20%20%20%20%20%20%20%7D%20%20%20%20%20%0A%7D%3B%20%0A%0A%0A%0A//%20%u041F%u0440%u043E%u0432%u0435%u0440%u0438%u0442%u044C%20%u043D%u0430%u043B%u0438%u0447%u0438%u0435%20%u0441%u0442%u0440%u043E%u043A%20%u0432%20%27about%3Aconfig%27%20%u0438%20%u0441%u043E%u0437%u0434%u0430%u0442%u044C%20%u0435%u0441%u043B%u0438%20%u043D%u0435%20%u0441%u0443%u0449%u0435%u0441%u0442%u0432%u0443%u0435%u0442%20................................%0Aif%20%28%20%21cbu.isPref%28%22Autocopy.saveWithDoubleClick%22%29%20%29%20%7B%0A%20%20%20%20%20%5B%22Autocopy%22%2C%20%22Autocopy.reset%22%2C%20%22Autocopy.selectingTextBlink%22%2C%20%22Autocopy.selectWithDoubleClick%22%2C%0A%20%20%20%20%20%20%22Autocopy.copyWithDoubleClick%22%2C%20%22Autocopy.saveWithDoubleClick%22%5D.forEach%28function%28pref%29%20%7B%20cbu.setPrefs%28%20pref%2C%20false%20%29%20%7D%29%3B%0A%7D%3B%0A%0A%0A%20%0A//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u043C%u0435%u043D%u044E%20................................%0Avar%20menuPopup%20%3D%20document.getElementById%28%22mainPopupSet%22%29.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0A%0A//%20%u043C%u0430%u0441%u0441%u0438%u0432%20%u0441%20%u0434%u0430%u043D%u043D%u044B%u043C%u0438%20%u0434%u043B%u044F%20%u0441%u043E%u0437%u0434%u0430%u043D%u0438%u0435%20%u043C%u0435%u043D%u044E%20....%0Avar%20array%20%3D%20%5B%0A%20%20%20%20%7B%20label%3A%20%27%u0412%u044B%u043A%u043B%u044E%u0447%u0430%u0442%u044C%20%u0430%u0432%u0442%u043E%u043A%u043E%u043F%u0438%u0440%u043E%u0432%u0430%u043D%u0438%u0435%20%u043F%u0440%u0438%20%u0432%u044B%u0445%u043E%u0434%u0435%20%u0438%u0437%20%u0431%u0440%u0430%u0443%u0437%u0435%u0440%u0430%27%2C%20value%3A%20%27Autocopy.reset%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%27%u0412%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u043C%u0438%u0433%u0430%u0435%u0442%20%u043F%u0440%u0438%20%u0430%u0432%u0442%u043E%u043A%u043E%u043F%u0438%u0440%u043E%u0432%u0430%u043D%u0438%u0438%27%2C%20value%3A%20%27Autocopy.selectingTextBlink%27%20%7D%2C%0A%20%20%20%20%7B%20separator%3A%20%27%27%7D%2C%0A%20%20%20%20%7B%20label%3A%20%27%u0414%u0432%u043E%u0439%u043D%u043E%u0439%20%u043F%u0440%u0430%u0432%u044B%u0439%20%u043A%u043B%u0438%u043A%20%u043C%u044B%u0448%u0438%20%u043A%u043E%u043F%u0438%u0440%u0443%u0435%u0442%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%27%2C%20value%3A%20%27Autocopy.copyWithDoubleClick%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%27%u0414%u0432%u043E%u0439%u043D%u043E%u0439%20%u043B%u0435%u0432%u044B%u0439%20%u043A%u043B%u0438%u043A%20%u043C%u044B%u0448%u0438%20%u0432%u044B%u0434%u0435%u043B%u044F%u0435%u0442%20%u0432%u0441%u0435%20%u0432%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u044B%u0445%20%u043F%u043E%u043B%u044F%u0445%27%2C%20value%3A%20%27Autocopy.selectWithDoubleClick%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%27%u041F%u0440%u0430%u0432%u044B%u0439%20%u043A%u043B%u0438%u043A%20%u043C%u044B%u0448%u0438%20%u0441%u043E%u0445%u0440%u0430%u043D%u044F%u0435%u0442%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0435%20%u0431%u0435%u0437%20%u0437%u0430%u043F%u0440%u043E%u0441%u0430%27%2C%20value%3A%20%27Autocopy.saveWithDoubleClick%27%20%7D%2C%20%0A%20%20%20%20%7B%20label%3A%20%27%u0421%u0440%u0435%u0434%u043D%u0438%u043C%20%u043A%u043B%u0438%u043A%u043E%u043C%20%u0432%u0441%u0442%u0430%u0432%u043B%u044F%u0442%u044A%20%u0442%u0435%u043A%u0441%u0442%20%u0441%20%u0437%u0430%u043C%u0435%u043D%u043E%u0439%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%27%2C%20value%3A%20%27middlemouse.paste%27%20%7D%0A%5D%3B%0A%0A//%20%u0446%u0438%u043A%u043B%20%u043F%u043E%20%u043E%u0447%u0435%u0440%u0435%u0434%u0438%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0435%u0442%20%u0438%u0437%20%u043C%u0430%u0441%u0441%u0438%u0432%u0430%20%u043D%u0443%u0436%u043D%u044B%u0435%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%u044B%20%u043A%20%u043F%u0443%u043D%u043A%u0442%u0430%u043C%20%u043C%u0435%u043D%u044E%20....%20%20%0Aarray.forEach%28function%28%20m%20%29%20%7B%0A%20%20%20%20if%20%28%20%22separator%22%20in%20m%20%29%20%7B%20menuPopup.appendChild%28%20document.createElement%28%22menuseparator%22%29%20%29%3B%20return%20%7D%3B%0A%20%20%20%20var%20mItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%0A%20%20%20%20mItem.setAttribute%28%22label%22%2C%20m.label%29%3B%0A%20%20%20%20mItem.setAttribute%28%27type%27%2C%20%27checkbox%27%29%3B%0A%20%20%20%20mItem.setAttribute%28%27checked%27%2C%20custombuttons.getPrefs%28%20m.value%20%29%20%29%3B%0A%20%20%20%20mItem.setAttribute%28%27onclick%27%2C%20%27custombuttons.setPrefs%28%22%27%20+%20m.value%20+%20%27%22%2C%20%21custombuttons.getPrefs%28%22%27%20+%20m.value%20+%20%27%22%29%29%27%29%3B%20%20%0A%20%20%20%20menuPopup.appendChild%28%20mItem%20%29%3B%0A%7D%29%3B%0AaddDestructor%28function%28%29%20%7B%20menuPopup.parentNode.removeChild%28%20menuPopup%20%29%20%7D%29%3B%20//%20%u0431%u043B%u043E%u043A%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0434%u0443%u0431%u043B%u0438%u0440%u043E%u0432%u0430%u043D%u0438%u0435%20%u043C%u0435%u043D%u044E%20%0A%0A//%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0435%u043C%20%u0441%u0442%u0430%u043D%u0434%u0430%u0440%u0442%u043D%u043E%u0435%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043D%u043E%u0435%20%u043C%u0435%u043D%u044E%20....%0AmenuPopup.appendChild%28%20document.createElement%28%22menuseparator%22%29%20%29%3B%0Avar%20cbContextPopup%20%3D%20document.getElementById%28%22custombuttons-contextpopup%22%29%3B%0Avar%20clone%20%3D%20cbContextPopup.cloneNode%28true%29%3B%0Aclone.setAttribute%28%22onpopupshowing%22%2C%20%22document.popupNode%20%3D%20document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29%22%29%3B%0Avar%20menu%20%3D%20document.createElement%28%22menu%22%29%3B%0Amenu.setAttribute%28%22label%22%2C%20%22%u041C%u0435%u043D%u044E%20%u043A%u043D%u043E%u043F%u043A%u0438%22%29%3B%0Amenu.appendChild%28%20clone%20%29%3B%0AmenuPopup.appendChild%28%20menu%20%29%3B%0A%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%u0432%20%27about%3Aconfig%27%20................................%0Avar%20button%20%3D%20this%2C%20s%20%3D%20%22Autocopy%22%3B%0Afunction%20toggleImage%28%29%20%7B%20%20%0A%20%20%20%20button.image%20%3D%20cbu.getPrefs%28s%29%0A%20%20%20%20%3F%20%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMBAAQIAAcEBwAIBAcACAQHAAgEBwAIBAcACAQHAAgEBwAIBAcACAMEAQEAAAAAAAAAAAAAAAACAwADAAAAABUnAB9cqgC3a7wB4Gq5Ad1qugHearoB3mq6Ad5qugHearoB3mi4AN1qugHgYrMAxR43AC8AAAAAAAEAAAECAAQAAAQAV6AAprP9Vv/W/qn80/+f/9T/ov/U/6L/1P+i/9T/ov/U/6L/1/+n/9X+pfy3/WL/Y7QAvwEAAQAAAAAAFSgAH1ehAKlyzwD1htgf/YzcJ/2K2yP9i9sk/YvbJf2L2yX9i9sm/YnaIv2b4kP92/21/Nf+qv9quwHdBQkACAAAAQBeqwCzr/tR/8X0j/u+8X//vvJ//77ygP++8oD/vvKA/77yf/+98n7/wvSH/4zcKv+e4kv93v+0/2i5AN0DBwAIBQkACGu8AdzV/af/4v/B/d//u//h/7//4f+//+H/v//h/7//4f+//9/+u//n/8n/w/GK/4zaK/3g/7r/aroC3gMHAAgEBwAIarkC3dX/pf/g/sD93v67/9/+vv/g/r//4P6//+D+v//f/r7/3f66/+T/xv/B8Yb/j9st/eT/w/9qugPeAwcACAQHAAhqugLe2v+w/+j/z/3l/8r/5//N/+f/zv/n/87/5//O/+f/zf/l/sj/7P/W/8Xyj/+Q2y/96f/N/2q6A94DBwAIBAcACGq6At7f/7n/7v/c/ev/1v/t/9n/7f/a/+3/2v/t/9r/7f/Z/+r+1f/y/+P/yPKW/5DbMf3s/9X/aroE3gMHAAgEBwAIaroC3uP/wf/z/+j98P/h//L/5P/z/+X/8//l//P/5f/y/+T/8P7g//j/7v/L8p3/kdsy/fD/3P9rugTeAwcACAQHAAhqugLe5v/J//j/8v31/+r/9v/t//f/7v/3/+//9//u//b/7f/0/un//f/4/87yo/+R2zL98f/f/2q5Bd0DBwAIBAcACGq6At7p/8///P/6/fj/8f/6//T/+v/1//r/9f/6//X/+v/0//f+8P//////0fGo/5PbNf30/+f/a7wE3AQJAAgEBwAIabkC3er/0f/+//79+v/0//v/9//8//j//P/4//z/+P/7//f/+f70///////T8qz/i9go+8P9ef9dqwCzAAACAAUJAAhquwHd7f7a//////z+//39/////f////3////9/////f////39/vz9/////dzzvv5v0AD1VqECqRUnAB8AAAAAAQACAGK0AL/J/Yf/8v7k/O3/1//u/9n/7v/Z/+7/2f/u/9n/7v/Z/+3/1//x/eP8vfxu/1WgAKYAAAUAAQIABAABAAAAAAAAHjcALmGzAMVquwLgarkC3Wq6At5qugLearoC3mq6At5qugLearkC3Wu8AeBbqgC3FScAHwAAAAACAwADAAAAAAAAAAAAAAAAAwQCAQQIAAgEBwAIBAcACAQHAAgEBwAIBAcACAQHAAgEBwAIBAgABwMDAgAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%22%0A%20%20%20%20%3A%20%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgEDAAQACAcEAAcIBAAHCAQABwgEAAcIBAAHCAQABwgEAAcIBAAHCAMBBAEAAAAAAAAAAAAAAAACAAMDAAAAABUAJx9cAKq3awG84GoBud1qAbreagG63moBut5qAbreagG63mgAuN1qAbrgYgCzxR4ANy8AAAAAAAABAAEAAgQABAAAVwCgprNW/f/Wqf7805///9Si///Uov//1KL//9Si///Uov//16f//9Wl/vy3Yv3/YwC0vwEBAAAAAAAAFQAoH1cAoalyAM/1hh/Y/Ywn3P2KI9v9iyTb/Ysl2/2LJdv9iybb/Yki2v2bQ+L927X9/Neq/v9qAbvdBQAJCAABAABeAKuzr1H7/8WP9Pu+f/H/vn/y/76A8v++gPL/voDy/75/8v+9fvL/wof0/4wq3P+eS+L93rT//2gAud0DAAcIBQAJCGsBvNzVp/3/4sH//d+7///hv///4b///+G////hv///4b///9+7/v/nyf//w4rx/4wr2v3guv//agK63gMABwgEAAcIagK53dWl///gwP793rv+/9++/v/gv/7/4L/+/+C//v/fvv7/3br+/+TG///BhvH/jy3b/eTD//9qA7reAwAHCAQABwhqArre2rD//+jP//3lyv//583//+fO///nzv//587//+fN///lyP7/7Nb//8WP8v+QL9v96c3//2oDut4DAAcIBAAHCGoCut7fuf//7tz//evW///t2f//7dr//+3a///t2v//7dn//+rV/v/y4///yJby/5Ax2/3s1f//agS63gMABwgEAAcIagK63uPB///z6P/98OH///Lk///z5f//8+X///Pl///y5P//8OD+//ju///LnfL/kTLb/fDc//9rBLreAwAHCAQABwhqArre5sn///jy//316v//9u3///fu///37///9+7///bt///06f7//fj//86j8v+RMtv98d///2oFud0DAAcIBAAHCGoCut7pz////Pr//fjx///69P//+vX///r1///69f//+vT///fw/v//////0ajx/5M12/305///awS83AQACQgEAAcIaQK53erR///+/v/9+vT///v3///8+P///Pj///z4///79///+fT+///////TrPL/iyjY+8N5/f9dAKuzAAIAAAUACQhqAbvd7dr+//////z+/f/9/////f////3////9/////f////39/P79/////dy+8/5vAND1VgKhqRUAJx8AAAAAAQIAAGIAtL/Jh/3/8uT+/O3X///u2f//7tn//+7Z///u2f//7tn//+3X///x4/38vW78/1UAoKYABQAAAQACBAAAAQAAAAAAHgA3LmEAs8VqArvgagK53WoCut5qArreagK63moCut5qArreagK53WsBvOBbAKq3FQAnHwAAAAACAAMDAAAAAAAAAAAAAAAAAwIEAQQACAgEAAcIBAAHCAQABwgEAAcIBAAHCAQABwgEAAcIBAAIBwMCAwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D%22%3B%0A%7D%3B%20%20%0AtoggleImage%28%29%3B%0AgPrefService.addObserver%28%20s%2C%20toggleImage%2C%20false%20%29%3B%0AaddDestructor%28function%28%29%20%7B%20gPrefService.removeObserver%28%20s%2C%20toggleImage%2C%20false%20%29%20%7D%29%3B%20%20%0A%0A%0A%0A//%20%u0412%u044B%u043A%u043B%u044E%u0447%u0430%u0442%u044C%20%u043A%u043D%u043E%u043F%u043A%u0443%20%u043F%u0440%u0438%20%u0437%u0430%u043A%u0440%u044B%u0442%u0438%u0438%20%u0431%u0440%u0430%u0443%u0437%u0435%u0440%u0430%20%u0435%u0441%u043B%u0438%20%u044D%u0442%u043E%20%u0440%u0430%u0437%u0440%u0435%u0448%u0435%u043D%u043E%20%u0432%20%27about%3Aconfig%27%20................................%0Avar%20turnOffButton%20%3D%20%7B%0A%20%20%20%20observe%3A%20function%28subject%2C%20topic%2C%20data%29%20%7B%0A%20%20%20%20%20%20%20if%20%28%20cbu.getPrefs%28%22Autocopy.reset%22%29%20%26%26%20data%20%3D%3D%20%22shutdown%22%20%29%20cbu.setPrefs%28%22Autocopy%22%2C%20false%20%29%3B%20%20%0A%20%20%20%20%7D%0A%7D%3B%0AServices.obs.addObserver%28%20turnOffButton%2C%20%22quit-application%22%2C%20false%29%3B%0A%0A%0A%0A//%20%u0424%u0443%u043D%u043A%u0446%u0438%u0438%20%u0430%u0432%u0442%u043E%u043C%u0430%u0442%u0438%u0447%u0435%u0441%u043A%u0438%20%u043A%u043E%u043F%u0438%u0440%u0443%u0435%u0442%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%2C%20%u0435%u0441%u043B%u0438%20%u044D%u0442%u043E%20%u0440%u0430%u0437%u0440%u0435%u0448%u0435%u043D%u043E%20%u0432%20%27about%3Aconfig%27%20................................%0Afunction%20autocopy%28e%29%20%7B%0A%20%20%20if%20%28%20e.button%20%3D%3D%202%20%29%20return%3B%0A%0A%20%20%20if%20%28%20/input%7Cpassword%7Ctextarea%7Ctextbox%7Csearchbar%7Cfindbar/.test%28%20e.target.localName.toLowerCase%28%29%20%29%20%29%20return%3B%0A%20%20%20%0A%20%20%20if%20%28%20e.type%20%3D%3D%20%27mousedown%27%20%29%20var%20lastSelection%20%3D%20getBrowserSelection%28%29%3B%0A%20%20%20%0A%20%20%20if%20%28%20e.type%20%21%3D%3D%20%27mouseup%27%20%29%20return%3B%20%0A%20%20%20%0A%20%20%20var%20selection%20%3D%20getBrowserSelection%28%29%3B%0A%20%20%20if%20%28%20cbu.getPrefs%28%22Autocopy%22%29%20%26%26%20selection%20%26%26%20selection%20%21%3D%3D%20lastSelection%20%29%20%7B%0A%20%20%20%20%20%20%20%20goDoCommand%28%27cmd_copy%27%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20//%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u043C%u0438%u0433%u0430%u0435%u0442%20....%0A%20%20%20%20%20%20%20%20if%20%28%20%21cbu.getPrefs%28%22Autocopy.selectingTextBlink%22%29%20%29%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20document.activeElement.blur%28%29%3B%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20setTimeout%28function%28%29%20%7B%20window.content.focus%28%29%20%7D%2C%20300%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%7D%3B%0AaddEventListener%28%22mouseup%22%2C%20autocopy%2C%20false%2C%20gBrowser%20%29%3B%0AaddEventListener%28%22mousedown%22%2C%20autocopy%2C%20false%2C%20gBrowser%20%29%3B%0A%0A%0A%0A//%20C%u0440%u0435%u0434%u043D%u0435%u0439%20%u043A%u043D%u043E%u043F%u043A%u043E%u0439%20%u043C%u044B%u0448%u0438%20%u0432%u0441%u0442%u0430%u0432%u0438%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u043E%u0431%u043C%u0435%u043D%u0430%20%u0432%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u044B%u0435%20%u043F%u043E%u043B%u044F%20%u0441%20%u0437%u0430%u043C%u0435%u043D%u043E%u0439%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%20................................%0Afunction%20middleMousePaste%28e%29%20%7B%20%0A%20%20%20%20if%20%28%20e.button%20%3D%3D%201%20%26%26%20cbu.getPrefs%28%27middlemouse.paste%27%29%20%29%20%7B%0A%0A%20%20%20%20%20%20%20%20%20if%20%28%20/input%7Cpassword%7Ctextarea%7Ctextbox%7Csearchbar%7Cfindbar%7Ccbeditor/.test%28%20e.target.localName.toLowerCase%28%29%20%29%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26%26%20document.commandDispatcher.getControllerForCommand%28%22cmd_paste%22%29%20%29%20%7B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20e.stopPropagation%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20//%20%u0432%u0441%u0442%u0430%u0432%u0438%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%20....%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20cmd%20%3D%20%22cmd_insertText%22%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20commandDispatcher%20%3D%20%28%20this.document%20%7C%7C%20document%20%29.commandDispatcher%3B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20controller%20%3D%20commandDispatcher.getControllerForCommand%28cmd%29%3B%0A%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%20controller%20%26%26%20controller.isCommandEnabled%28cmd%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20controller%20%3D%20controller.QueryInterface%28Components.interfaces.nsICommandController%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20params%20%3D%20Components.classes%5B%22@mozilla.org/embedcomp/command-params%3B1%22%5D%0A%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.createInstance%28Components.interfaces.nsICommandParams%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20params.setStringValue%28%22state_data%22%2C%20gClipboard.read%28%29%20%29%3B%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20controller.doCommandWithParams%28cmd%2C%20params%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%7D%0A%7D%3B%0AaddEventListener%28%22click%22%2C%20middleMousePaste%2C%20true%2C%20document.documentElement%20%29%3B%0A%0A%0A%0A//%20%u0414%u043E%u043F%u043E%u043B%u043D%u0438%u0442%u0435%u043B%u044C%u043D%u044B%u0435%20%u0432%u043E%u0437%u043C%u043E%u0436%u043D%u043E%u0441%u0442%u0438%20%u0434%u043B%u044F%20%u0437%u043D%u0430%u0447%u043A%u0430%20%u0438%u0434%u0435%u043D%u0442%u0438%u0444%u0438%u043A%u0430%u0446%u0438%u0438%20%u0441%u0430%u0439%u0442%u0430%20%u0432%20%u0441%u0442%u0440%u043E%u043A%u0435%20%u0430%u0434%u0440%u0435%u0441%u0430%20................................%0AaddEventListener%28%22click%22%2C%20function%28e%29%20%7B%20%0A%20%20%20e.preventDefault%28%29%3B%0A%20%20%20e.stopPropagation%28%29%3B%0A%20%20%20%0A%20%20%20//%20%u041B%u041A%u041C%20%u0431%u0435%u0437%20%u0437%u0430%u043F%u0440%u043E%u0441%u0430%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0435%u0442%20%u0438%u043D%u0444%u043E%u0440%u043C%u0430%u0446%u0438%u044E%20%u043E%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%u0432%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%20%27%u0420%u0430%u0437%u0440%u0435%u0448%u0435%u043D%u0438%u044F%27%20....%0A%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20%7B%0A%20%20%20%20%20%20%20%20var%20doc%20%3D%20content.document%3B%0A%20%20%20%20%20%20%20%20BrowserPageInfo%28%20doc%2C%20%28%20%28doc.location.protocol%29.slice%280%2C4%29%20%3D%3D%20%22http%22%29%20%3F%20%22permTab%22%20%3A%20%22generalTab%22%20%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%0A%20%20%20//%20%u041F%u041A%u041C%20%u043A%u043E%u043F%u0438%u0440%u0443%u0435%u0442%20%u0442%u0435%u043A%u0443%u0449%u0438%u0439%20%u0430%u0434%u0440%u0435%u0441%20....%20%20%20%20%20%0A%20%20%20if%20%28%20e.button%20%3D%3D%202%29%20%7B%20%0A%20%20%20%20%20%20%20%20gClipboard.write%28%20content.location%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20//%20%u0437%u043D%u0430%u0447%u043E%u043A%20%u0438%u0434%u0435%u043D%u0442%u0438%u0444%u0438%u043A%u0430%u0446%u0438%u0438%20%u0441%u0430%u0439%u0442%u0430%20%u043C%u0438%u0433%u0430%u0435%u0442%20%u043A%u0440%u0430%u0441%u043D%u044B%u043C%20....%0A%20%20%20%20%20%20%20%20document.getElementById%28%22identity-box%22%29.setAttribute%28%22style%22%2C%20%22background%3A%20red%3B%22%29%3B%0A%20%20%20%20%20%20%20%20setTimeout%28function%28%29%20%7B%20document.getElementById%28%22identity-box%22%29.removeAttribute%28%22style%22%29%20%7D%2C%20500%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%7D%2C%20true%2C%20document.getElementById%28%22identity-box%22%29%20%29%3B%0A%0A%20%20%20%0A%20%20%20%0A//%20%u0414%u043E%u043F%u043E%u043B%u043D%u0438%u0442%u0435%u043B%u044C%u043D%u044B%u0435%20%u0432%u043E%u0437%u043C%u043E%u0436%u043D%u043E%u0441%u0442%u0438%20%u0434%u043B%u044F%20%u0434%u0432%u043E%u0439%u043D%u043E%u0433%u043E%20%u043A%u043B%u0438%u043A%u0430%20%u043C%u044B%u0448%u0438%2C%20%u0435%u0441%u043B%u0438%20%u044D%u0442%u043E%20%u0440%u0430%u0437%u0440%u0435%u0448%u0435%u043D%u043E%20%u0432%20%27about%3Aconfig%27%20................................%0Afunction%20handleDblClick%28e%29%20%7B%0A%0A%20%20var%20node%20%3D%20e.target%3B%0A%20%20var%20editor%20%3D%20node.editor%3B%0A%20%20%0A%20%20//%20%u0432%u044B%u0434%u0435%u043B%u0438%u0442%u044C%20%u0432%u0441%u0435%20%u0432%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u044B%u0445%20%u043F%u043E%u043B%u044F%u0445%20....%0A%20%20if%20%28%20e.button%20%3D%3D%200%20%26%26%20custombuttons.getPrefs%28%22Autocopy.selectWithDoubleClick%22%29%20%29%20%7B%20%20%20%20%0A%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20if%20%28%20/input%7Ctextbox%7Ctextarea/.test%28%20node.localName%20%29%20%29%20%21editor%20%3F%20node.select%28%29%20%3A%20editor.selectAll%28%29%3B%0A%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%0A%20%20//%20%u0441%u043A%u043E%u043F%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20....%0A%20%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20cbu.getPrefs%28%22Autocopy.copyWithDoubleClick%22%29%20%29%20%7B%0A%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%21editor%20%3F%20goDoCommand%28%22cmd_copy%22%29%20%3A%20editor.copy%28%29%3B%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20try%20%7B%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20var%20box%20%3D%20%28%20node.textbox%20%7C%7C%20node%20%29.inputField.parentNode%3B%0A%20%20%20%20%20%20%20%20%20%20%20var%20popup%20%3D%20box.ownerDocument.getAnonymousElementByAttribute%28%20box%2C%20%22anonid%22%2C%20%22input-box-contextmenu%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20setTimeout%28function%28%29%20popup.hidePopup%28%29%2C%2050%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20catch%28e%29%20%7B%20document.getElementById%28%22contentAreaContextMenu%22%29.hidePopup%28%29%20%7D%3B%20%0A%20%20%20%20%20%20%20%7D%20%20%20%20%20%20%20%20%0A%7D%3B%0AaddEventListener%28%22dblclick%22%2C%20handleDblClick%2C%20false%2C%20gBrowser%20%29%3B%0A%0A%0A%0A//%20%u0441%u043E%u0445%u0440%u0430%u043D%u0438%u0442%u044C%20%u0438%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0435%20%u0431%u0435%u0437%20%u0437%u0430%u043F%u0440%u043E%u0441%u0430%20....%20%20%20%20%0AaddEventListener%28%22click%22%2C%20function%28e%29%20%7B%0A%20%20%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20cbu.getPrefs%28%22Autocopy.saveWithDoubleClick%22%29%20%26%26%20e.target.localName%20%3D%3D%20%27img%27%29%20%7B%0A%20%20%20%20%20%20%20%20setTimeout%28function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20saveImageURL%28%20gContextMenu.imageURL%2C%200%2C%200%2C%200%2C%201%2C%20null%2C%20content.document%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20document.getElementById%28%22contentAreaContextMenu%22%29.hidePopup%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%2C%2020%29%3B%0A%20%20%20%20%20%20%20%20%7D%20%20%0A%7D%2C%20false%2C%20gBrowser%20%29%3B%0A%0A%0A%0A//%20%u041D%u0430%u0431%u043B%u044E%u0434%u0430%u0442%u0435%u043B%u044C%20%u0441%u043B%u0435%u0434%u0438%u0442%20%u0437%u0430%20%u043E%u0442%u043A%u0440%u044B%u0442%u0438%u0435%u043C%20%u043E%u043A%u043E%u043D%20%u0430%u0434%u0440%u0435%u0441%u0430%20%u043A%u043E%u0442%u043E%u0440%u044B%u0445%20%u0443%u043A%u0430%u0437%u0430%u043D%u043D%u044B%20%u0432%20%u043A%u043E%u0434%u0435%20%u0438%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0435%u0442%20%u0438%u043C%20%u043E%u0431%u0440%u0430%u0431%u043E%u0442%u0447%u0438%u043A%u0438%20................................%0Avar%20observer%20%3D%20%7B%20%20%0A%20%20%20%20%20%20%20observe%3A%20function%28subject%2C%20topic%2C%20data%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20subject.addEventListener%28%22load%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20%20handleEvent%3A%20function%28e%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20doc%20%3D%20e.target%3B%0A%20%20%20%20%20%20%20%20%20%20var%20win%20%3D%20doc.defaultView%3B%0A%20%20%20%20%20%20%20%20%20%20var%20href%20%3D%20doc.location.href%3B%20%0A%20%20%20%20%20%20%20%20%20%20win.removeEventListener%28%22load%22%2C%20this%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20//%20%u0437%u0430%u043A%u0440%u044B%u0432%u0430%u0442%u044C%20%27%u0418%u043D%u0444%u043E%u0440%u043C%u0430%u0446%u0438%u044E%20%u043E%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%27%20%u0438%u043B%u0438%20%27%u0411%u0438%u0431%u043B%u0438%u043E%u0442%u0435%u043A%u0443%27%20%u0434%u0432%u043E%u0439%u043D%u044B%u043C%20%u043A%u043B%u0438%u043A%u043E%u043C%20%u043D%u0430%20%u043D%u0435%u0439%20....%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20if%20%28%20/pageInfo.xul%7Cplaces.xul/.test%28%20href%20%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20win.addEventListener%28%22dblclick%22%2C%20function%20close%28%29%20%7B%20this.close%28%29%20%7D%2C%20true%29%3B%0A%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%20%20%20%20%20%20%20%20%20%20%20%20win.addEventListener%28%22unload%22%2C%20function%28e%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20win.removeEventListener%28e.type%2C%20arguments.callee%2C%20false%29%3B%0A%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%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20win.removeEventListener%28%22dblclick%22%2C%20close%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%20false%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20//%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0442%u044C%20%u0438%20%u0443%u0434%u0430%u043B%u044F%u0442%u044C%20%u043E%u0431%u0440%u0430%u0431%u043E%u0442%u0447%u0438%u043A%u0438%20%u043A%u043B%u0438%u043A%u0430%20%u0434%u043B%u044F%20%u0440%u0435%u0434%u0430%u043A%u0442%u043E%u0440%u0430%20Custom%20Buttons%20....%0A%20%20%20%20%20%20%20%20%20%20if%20%28%20href.substring%280%2C%2041%29%20%3D%3D%20%22chrome%3A//custombuttons/content/editor.xul%22%20%29%20%7B%20%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20win.addEventListener%28%22click%22%2C%20middleMousePaste%2C%20true%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20win.addEventListener%28%22dblclick%22%2C%20handleDblClick%2C%20false%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20win.addEventListener%28%22unload%22%2C%20function%28e%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20win.removeEventListener%28e.type%2C%20arguments.callee%2C%20false%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20win.removeEventListener%28%22click%22%2C%20middleMousePaste%2C%20true%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20win.removeEventListener%28%22dblclick%22%2C%20handleDblClick%2C%20false%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%2C%20false%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%7D%0A%7D%3B%0AServices.obs.addObserver%28observer%2C%20%22domwindowopened%22%2C%20false%29%3B%0AaddDestructor%28function%28%29%20%7B%20Services.obs.removeObserver%28observer%2C%20%22domwindowopened%22%2C%20false%29%20%7D%29%3B%20%0A%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................................%0Athis.tooltipText%20%3D%20%22Autocopy%20%5Cn%u041B%3A%20%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u0430%u0432%u0442%u043E%u043C%u0430%u0442%u0438%u0447%u0435%u0441%u043A%u043E%u0435%20%u043A%u043E%u043F%u0438%u0440%u043E%u0432%u0430%u043D%u0438%u0435%20%5Cn%u041F%3A%20%u041C%u0435%u043D%u044E%20+%20CB%20%u043C%u0435%u043D%u044E%22%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B%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%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E 04-09-2013 21:18:51 Loom пишет
Я не знаю как |
Loom > 06-09-2013 20:56:59 |
bunda1 bunda1 пишет
Жаль конечно, уменьшение кликов очень благоприятно отражается на удобстве. А не знаете ли, можно сделать кнопку для зумирования изображений колесиком? Т.е. открываешь в отдельной вкладке ссылку *.png, *.jpeg, *.gif, и как бы зажимается Ctrl. Вариант с зажатием ПКМ в FireGestures не подходит, там жесты, к которым слишком привык за множество лет. |
bunda1 > 06-09-2013 21:18:35 |
Loom пишет
Завтра попробую сделать. |
rgdru > 09-09-2013 11:51:04 |
В кнопке Compact Menu( Firefox 4 + ) не работает пункт меню Новая приватная вкладка |
Dumby > 09-09-2013 22:29:28 |
rgdru скрытый текст Выделить код Код: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%3ECompact%20Menu%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBEAAAEAIACsBAAAFgAAACgAAAAQAAAAIgAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMSAAcROg8hOGEvQV1hL0JdOQ4iOBIABxH7+/uBqKioqv7+/oAAAAAAAAAAAAAAAAAAAAAAAAAAAREABhB6PEx23HZ32+uLe/7rfGv/63tr/+uKev7vv7/tp52g10BAQP6vr6+z////fwAAAAAAAAAAAAAAAR0CEB3AaHK/629j/+FbVP/bUU7/10xK/9ZLSv/sp6X/26mm/0BAQP9AQED/QEBA/9jY2KH///9/AAAAAA8ABQ+6X22+1UpK/8Y2P/+8KDX/tB0v/6sZKf+uGCz/1pae/0BAQP9AQED/QEBA/0BAQP9AQED+8fHxkQAAAAJ0M0hzxz1G/7AYLv+lDCX/ng0b/5APD/+FFgL/1Zid/3BfYf9AQED/QEBA/0BAQP9AQED/QEBA/25ubtgPAAUPt0dc2KULJf+pFCb/tygu/7w1L/+FGAH/nSsW/8OSjf+gf3//qIKB/9aTlf/Vi5P/0YSR/9yosuzw7/CHMAobMLw2Sf60Iyz/xD41/9NSPv/cYUT/0188/+VwSf/IWzj/WhID/0kFAP9zGhT/yEM4/7grL/+9Okn+Nw0fNFYoOVLAOT3/zEg6/9xhRP/qdUv/64RR/+uNVf/rk1f/65NX/9t1Q/9mGQD/YhcE/9NeP//RTz3/xEA//1wsPVlWKDhR01dI/+BnRv/rf0//65JX/+ugXP/rqV7/661g/+utYf/McDH/gS4C/4UyD//CXjX/5G5I/9hdSf9dLD5YMAoaMOp+Zf7rgE//65dZ/+upX//rtGP/671n/+vBaP/rslz/rk4K/51CBf/rjUf/64RI/+uBTf/rhGf+NQweNA4ABg7Tdm3X65NY/+uqX//rumX/68Rq/+vMbf/r0G//68pn/+u+X//cgTD/67hi/+uuYf/rmlr/2Hxv2REABhAAAAACdTlIceudYP/rrV7/66xW/+vMbf/r03D/69Zw/+vVcP/r1HD/68tr/9x+Pv/rkUz/66xo/3Y7SXMAAAACAAAAAA8ABQ+2Z2O70WIX/+uEIf/rvVb/68JY/+vPbf/rsUn/68FX/+uVRf+dNBL/zGw0/8h7dL0PAAUPAAAAAAAAAAAAAAABHAEPHL5qWrzrr0r/69CA/+vQgf/r3qv/696r/+vNgP/rrnb/rEgo/6VXW70dAg8cAAAAAQAAAAAAAAAAAAAAAAAAAAEPAAUPdztFceiUcNjrz47+69yw/+vUmf/ryIT+03pe2XIzRHMPAAUPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIPAAUPMgscMlcpOlNYKTlUMwscMg8ABQ8AAAACAAAAAAAAAAAAAAAAAAAAAP//rEHwA6xBwAGsQYAArEGAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEGAAaxBgAGsQcADrEHwD6xB%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bconst%0A%09nodes%20%3D%20%5B%0A%09%09%22file-menu%22%2C%0A%09%09%22edit-menu%22%2C%0A%09%09%22view-menu%22%2C%0A%09%09%22bookmarksMenu%22%2C%0A%09%09%22history-menu%22%2C%0A%09%09%22tools-menu%22%2C%0A%09%09%22helpMenu%22%0A%0A%09%5D.map%28function%28id%29%20document.getElementById%28id%29%29%2C%0A%09menubar%20%3D%20true%2C%0A%09parent%20%3D%20nodes%5B0%5D.parentNode%2C%0A%09popup%20%3D%20this.appendChild%28document.createElement%28%22menupopup%22%29%29%2C%0A%09popupAttrs%20%3D%20%7B%0A%09%09id%3A%20%22Compact-Menu-menupopup%22%2C%0A%09%09position%3A%20%22after_start%22%2C%0A%09%09context%3A%20%22toolbar-context-menu%22%20//%20%22%22%0A%09%7D%2C%0A%09cssURI%20%3D%20makeURI%28%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28%27%5C%0A%09%09%23appmenu-button%2C%20.titlebar-placeholder%5Btype%3D%22appmenu-button%22%5D%25menubar%25%20%7B%5Cn%5C%0A%09%09%09display%3A%20none%20%21important%3B%5Cn%5C%0A%09%09%7D%5C%0A%09%27.replace%28/%5E%28%5Ct%5Ct%29/gm%2C%20%22%22%29.replace%28%22%25menubar%25%22%2C%20menubar%20%3F%20%22%22%20%3A%20%22%2C%20%23toolbar-menubar%22%29%29%29%2C%0A%09sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%2C%0A%09sheetType%20%3D%20sss.USER_SHEET%3B%0A%09%0Afor%20%28var%20attr%20in%20popupAttrs%29%20popup.setAttribute%28attr%2C%20popupAttrs%5Battr%5D%29%3B%0Anodes.forEach%28function%28node%29%20popup.appendChild%28node%29%29%3B%0AaddDestructor%28function%28%29%20nodes.forEach%28function%28node%29%20parent.appendChild%28node%29%29%29%3B%0Aif%20%28menubar%20%26%26%20%21parent.childNodes.length%29%20%7B%0A%09const%20dummy%20%3D%20parent.appendChild%28document.createElement%28%22menu%22%29%29%3B%0A%09addDestructor%28function%28%29%20parent.removeChild%28dummy%29%29%3B%0A%7D%0Asss.loadAndRegisterSheet%28cssURI%2C%20sheetType%29%3B%0AaddDestructor%28function%28%29%20sss.unregisterSheet%28cssURI%2C%20sheetType%29%29%3B%0A%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%09if%20%28%21e.button%20%26%26%20e.target%20%3D%3D%20this%29%20popup.openPopup%28this%29%3B%0A%7D%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bif%20%28%21event.target%29%20this.click%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 |
rgdru > 10-09-2013 00:10:01 |
Dumby |
Чайник > 14-09-2013 18:12:41 |
У меня в кнопке выполняется команда textarea.select() Или это дело только у меня? |
bunda1 > 14-09-2013 21:00:29 |
Чайник пишет
Я тоже такое наблюдаю, может добавь за; |
Dumby > 14-09-2013 21:46:22 |
Наверно из-за этого скрытый текст Выделить код Код:data:image/png;base64,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 Ещё вот так не прокручивает скрытый текст Выделить код Код:textarea.QueryInterface(Ci.nsIDOMNSEditableElement).editor.selectAll(); textarea.focus(); |
Чайник > 16-09-2013 18:27:52 |
bunda1 и Dumby |
Vladimir_S > 06-10-2013 17:35:41 |
Уважаемые программисты, нельзя ли соорудить кнопку (точнее, две: "вперед" и "назад"), имитирующую работу вот этого расширения? |
Dumby > 06-10-2013 21:15:42 |
Vladimir_S А пока, для проверки, можешь попробовать положить в начало Инициализации скрытый текст Выделить код Код:RewindForwardService.getHistoryEntryAt = function (aIndex) { var entry = gBrowser.sessionHistory.getEntryAtIndex(aIndex, false); var info = { URI : null, referrerURI : null }; if (entry) { entry = entry/*.QueryInterface(Components.interfaces.nsIHistoryEntry)*/ .QueryInterface(Components.interfaces.nsISHEntry); if (entry.URI) info.URI = entry.URI; if (entry.referrerURI) info.referrerURI = entry.referrerURI; } return info; } |
Vladimir_S > 06-10-2013 21:22:51 |
Dumby пишет
А пёс его знает из-за чего! Отвалилось в Авроре (26.0а2). До этого пару раз обращался к Hydrolizer'у, он мне это расширение правил, а вот сейчас, похоже, ушел человек совсем. Dumby пишет
А с этого места, если не трудно, помедленнее, поподробнее и попошаговее. |
feas > 06-10-2013 22:16:14 |
Vladimir_S пишет
1) установить рашсирение CB |
Vladimir_S > 07-10-2013 08:36:24 |
feas, благодарю. feas пишет
Имеется. feas пишет
Вечером на домашнем компе попробую. Спасибо. |
Vladimir_S > 07-10-2013 11:15:01 |
Да, только вот что: самО СВ-то под Аврору и выше допилили? Помнится, когда Аврора вышла, так оно отвалилось. |
wolwerine > 07-10-2013 11:57:18 |
Vladimir_S пишет
Custom Buttons 0.0.5.7pre1 |
Vladimir_S > 07-10-2013 19:05:47 |
Dumby, feas, wolwerine, друзья, коллеги - огромнейшее вам спасибо! Всё получилось, любимый аддон вновь заработал, СВ тоже, опять я дома на Аврору перешел, как привык - класс! Осталось только с менеджером загрузок разобраться - предпочитаю старый, ну да ладно, буду к новому привыкать, либо расширение на досуге поищу: ведь не один я, поди, такой реторгад. feas пишет
Ну а у меня скрыта панель закладок, куда кнопку и всунул. Dumby пишет
- ну да не обязательно, и так сойдёт. |
feas > 07-10-2013 19:24:49 |
Vladimir_S пишет
|
Vladimir_S > 07-10-2013 19:47:46 |
feas пишет
Да ну - так даже не интересно! |
Uxapb > 22-10-2013 14:22:01 |
bunda1, что на что нужно поменять в вашей кнопке Save, чтобы файл сохранялся не на рабочий стол и каждый день новый, а дописывался уже имеющийся и находящийся на постоянке в определенном мной месте. ps Дабы отказаться от Save Text to File |
Uxapb > 22-10-2013 15:53:59 |
okkamas_knife пишет
Работает, только что-то с кодировкой, кирилица корябушками ( |
Uxapb > 22-10-2013 18:23:13 |
okkamas_knife пишет
файл создан в UTF-8 |
bunda1 > 22-10-2013 19:32:09 |
Uxapb пишет
Есть другая кнопка которая делает то что ты просишь, Stf+: Выделить код Код: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%3EStf+%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAWAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAWgAAAFoAAABaAAAAWgAAAFoAAABaAAAAWgAAAFoAAABaAAAAWgAAAFoAAABaAAAAWgAAAFsAAABYAAAAFwAAAACISi/ml2RK9ZdjSfWUYEX1jlpA9ZdjSfWXY0r1l2NL9ZdjS/WXY0v1l2NL9ZdjS/WXY0v1lWFI9J5mSvljMR7lAAAAPgIBAQDBhmP/6cOL/+Kxcf/Fo3L/kHdV/7GNXf/esHL/3q5t/9ysbP/drWz/3a1t/92tbf/erm7/3bBz/vLKlP+FUTrtAAAAPwMCAgC4f1791qtt/tOkZv7e1Mn+jIiE/lZMPv6djHX+4860/uvWu/7p1Ln+6tS4/uvVuv7nz7L+yphV/eK1fv9/TTjsAAAAPwMCAgC5gF//3LR6/9ixff//////29nU/5CRlP9SU1X/paGd//Xr4P//8OP/+uzc//zs2v/57uH/0aRm/ue+iv+ATTftAAAAPwMCAgC5gF//4LiC/9myfv///v3/8eXW/9LPy/+Li4z/RkI7/5OIef/l077/9N/I//Texv/36dn/06Zs/urBkP9/TDbtAAAAPwMCAgC5gGD/5sab/9u1hP////7/+vPp//Pp3f/Iwbr/foCE/0VERP+Lg3r/4NG///rm0P/369v/1Klx/uvFlv9/TDXtAAAAPwMCAgC7gmP/7dS1/926jf/+/Pv/9uzg//jt4P/06dv/u7m3/5l2QP90ShH/fXVv/+DPvP/57d3/1ax0/u7JnP9/SzTtAAAAPwMCAgC8hWj/8Nu//967j////////////////v//////9vTz/9+8gP/GgRL/ckwc/4eBff/n3tH/2bB5/u/Opf9/TDbtAAAAPwMCAgC9hmr/9OPM/9qzgv/p07T/6tO2/+rTtf/p0rT/7de7/97GqP/SoVH/x4IT/2xMJP+Admr/zKRw/vXUrf9/TTjtAAAAPwMCAgC+iW7/9ufT/+rRtP/lyKX/5Mim/+THpv/kx6T/4sWh/+rLp/+9pIf/vZJP/8WCGf9iPhH/fW9c/unNrP+CTzrtAAAAPwMCAgC/inD/+OrX//Ddyv/559X//OrV//ro0//659L/+ufS//zo0v/m1cL/lod4/7iPT//Ihx//Y0ck/pSLg/95STPtAAAAPwICAgC/i3L/+Ova//fk0P/Ct6v/o52W/6uknP+qo5v/q6Sc/6qjm/+1raT/rqij/2ZhX/+wj1n/w4EZ/m1QLv89JB/zAAAASgEBAQDAjnb9+O3e//rn1P+jnpn/lZib/6eoqf+rrK7/srK0/7y9vv+0trj/oaGi/6Cho/9eXF7/w59n/8qFF/9KKgP9AAAAhQIBAAW+h2z/+PLk/P/15fusqKP+oaKi/7Kysf+3trb/vby8/8nJyf+3t7f/cnFx/6Wlpf+fmpL+dXVx+66UYfyuhUP/Ligj1QAAAFqBPSKJ2KWK//PNt/+klo78oKKk+7Cvr/u1tLX7vLu7+8jIyPu3t7b7dHNz+52ho/vHrJz+y6WP/51vX/61jVvuxo0s/z0nCsERBgMDKw8ERh4AAEFjWFS9sLKz/62srfyzs7T/urm5/8HCwv/AwMD/sbGx/cDDw/9GNC7SKgsAaSgNAkMwKSQtq4VIsks0EmcBAQACAQEBAgAAAAAjIyNKOjo6fjU1NXM2NjZ1NjY2dTY2NnU3Nzd1Ozs7czw8PH0UFBQ4AAAAAAEBAQEAAAAAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%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%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20................................%0Athis.leftclick%20%3D%20function%28%29%20%7B%20%20//%20%u041B%u041A%u041C%20%0A%20%20%20%20%20if%20%28%20pathToFile%28%29%20%29%20saveSelectionToTxt%28%29%3B%0A%7D%3B%0A%0Athis.leftDclick%20%3D%20function%28%29%20%7B%20%20//%20%u0434%u0432%u043E%u0439%u043D%u043E%u0439%20%u041B%u041A%u041C%20%0A%20%20%20%20%20saveSelectionToTxt%28%29%3B%0A%7D%3B%0Athis.setAttribute%28%27onclick%27%2C%20%27gQuot%28event%2C%20this%29%27%29%3B%0Athis.setAttribute%28%27ondblclick%27%2C%20%27gQuot%28event%2C%20this%29%27%29%3B%0A%0A%0A%0A/*%20%u0421%u043E%u0445%u0440%u0430%u043D%u0438%u0442%u044C%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u043B%u0438%20%u0432%u0435%u0441%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%u043A%u0430%u043A%20txt%20%u0444%u0430%u0439%u043B%20................................*/%0Afunction%20saveSelectionToTxt%28%29%20%7B%0A%20%20%20%20%20%0A%20%20%20%20%20//%20%u0432%u044B%u0434%u0435%u043B%u0438%u0442%u044C%20%u0432%u0441%u0451%20%u0435%u0441%u043B%u0438%20%u0442%u0435%u043A%u0441%u0442%20%u043D%u0435%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%20....%0A%20%20%20%20%20var%20all%20%3D%20%21getSelect%28%29%3B%0A%20%20%20%20%20if%20%28%20all%20%29%20document.getElementById%28%22cmd_selectAll%22%29.doCommand%28%29%3B%20%0A%0A%20%20%20%20%20var%20sel%20%3D%20getSelect%28%29%3B%0A%20%20%20%20%20if%20%28%20%21sel%20%29%20return%3B%20%0A%20%20%20%20%20%0A%20%20%20%20%20//%20%u043F%u0435%u0440%u0435%u043A%u043E%u0434%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u0432%20UTF-8%20....%0A%20%20%20%20%20var%20converter%20%3D%20Components.classes%5B%22@mozilla.org/intl/scriptableunicodeconverter%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.createInstance%28Components.interfaces.nsIScriptableUnicodeConverter%29%3B%0A%20%20%20%20%20converter.charset%20%3D%20%22utf-8%22%20%3B%0A%20%20%20%20%20var%20text%20%3D%20converter.ConvertFromUnicode%28%20sel%20%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20//%20%u043F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u043F%u0440%u0435%u0434%u044B%u0434%u0443%u0449%u0438%u0439%20%u043F%u0443%u0442%u044C%20%u0434%u043B%u044F%20%u0441%u043E%u0445%u0440%u0430%u043D%u0435%u043D%u0438%u044F%20%u0438%u0437%20%27about%3Aconfig%27%20%u0438%u043B%u0438%20%u0434%u0438%u0441%u043A%20C%3A%20....%0A%20%20%20%20%20var%20pathToFile%20%3D%20Application.prefs.getValue%28%22CB.Stf.pathToSave%22%2C%200%29%0A%20%20%20%20%20var%20pathToFile%20%3D%20%28%20pathToFile%20%3D%3D%200%20%29%20%3F%20%28%20%22C%3A%5C%5C%22%20+%20getDocTitle%28%29%20%29%20%3A%20pathToFile%3B%20%20%20%20%20%0A%20%20%20%20%20%0A%20%20%20%20%20var%20file%20%3D%20Components.classes%5B%27@mozilla.org/file/local%3B1%27%5D.createInstance%28Components.interfaces.nsILocalFile%29%3B%0A%20%20%20%20%20file.initWithPath%28%20pathToFile%20+%20%22.txt%22%20%29%3B%0A%20%20%20%20%20%0A%20%20%20%20%20//%20%u0441%u043E%u0437%u0434%u0430%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u0434%u043B%u044F%20%u0434%u043E%u0431%u0430%u0432%u043B%u0435%u043D%u0438%u044F%20%u043A%20%u0441%u0443%u0449%u0435%u0441%u0442%u0432%u0443%u044E%u0449%u0435%u043C%u0443%20%u0438%u0437%20%u0442%u0435%u043A%u0443%u0449%u0435%u0433%u043E%20%u0432%u0440%u0435%u043C%u0435%u043D%u0438%20%u0438%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%20....%0A%20%20%20%20%20var%20line%20%3D%20%22%20%20......................................................%22%0A%20%20%20%20%20var%20text%20%3D%20file.exists%28%29%3F%20%28%20%22%5Cn%22%20+%20%22%5Cn%22%20+%20%22%5Cn%22%20+%20getTime%28%29%20+%20line%20+%20%22%5Cn%22%20+%20text%20%29%3A%20text%3B%0A%0A%20%20%20%20%20//%20%u0441%u043E%u0437%u0434%u0430%u0442%u044C%20%u0442%u0435%u0441%u0442%u043E%u0432%u044B%u0439%20%u0444%u0430%u0439%u043B%20%u0435%u0441%u043B%u0438%20%u043E%u043D%20%u043D%u0435%20%u0441%u0443%u0449%u0435%u0441%u0442%u0432%u0443%u0435%u0442%20%u0438%u043D%u0430%u0447%u0435%20%u0434%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u0432%20%u0444%u0430%u0439%u043B%20....%0A%20%20%20%20%20var%20foStream%20%3D%20Components.classes%5B%22@mozilla.org/network/file-output-stream%3B1%22%5D%0A%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.createInstance%28Components.interfaces.nsIFileOutputStream%29%3B%0A%20%20%20%20%20%28%20%21file.exists%28%29%20%29%3F%20foStream.init%28file%2C%200x02%7C0x08%7C0x20%2C%200666%2C%200%29%3A%20foStream.init%28file%2C%200x02%20%7C%200x10%2C%200664%2C%200%29%3B%0A%20%20%20%20%20foStream.write%28text%2C%20text.length%29%3B%0A%20%20%20%20%20foStream.close%28%29%3B%0A%20%20%20%20%20%0A%20%20%20%20%20//%20%u0432%u0441%u043F%u043B%u044B%u0432%u0430%u044E%u0449%u0430%u044F%20%u043F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%20....%0A%20%20%20%20%20var%20alertSlide%20%3D%20Cc%5B%22@mozilla.org/embedcomp/window-watcher%3B1%22%5D.getService%28Components.interfaces.nsIWindowWatcher%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.openWindow%28null%2C%20%22chrome%3A//global/content/alerts/alert.xul%22%2C%20%22_blank%22%2C%20%22chrome%2Ctitlebar%3Dno%2Cpopup%3Dyes%22%2C%20null%29%3B%0A%20%20%20%20%20alertSlide.arguments%20%3D%20%5Bself.image%2C%20self.label%2C%20%22%u0422%u0435%u043A%u0441%u0442%20%u0431%u044B%u043B%20%u0441%u043E%u0445%u0440%u0430%u043D%u0435%u043D%22%2C%20null%2C%20false%2C%20%22%22%5D%3B%0A%20%20%20%20%20alertSlide.setTimeout%28function%28%29%20%7B%20alertSlide.close%28%29%20%7D%2C%201500%29%3B%0A%0A%20%20%20%20%20if%20%28%20all%20%29%20goDoCommand%28%22cmd_selectNone%22%29%3B%20%0A%7D%3B%0A%0A%0A%0A//%20%u0423%u0441%u0442%u0430%u043D%u043E%u0432%u043A%u0430%20%u043F%u0443%u0442%u0438%20%u0438%20%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u044F%20%u0434%u043B%u044F%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u043E%u0433%u043E%20%u0444%u0430%u0439%u043B%u0430%2C%20%u0438%u043D%u0430%u0447%u0435%20%u043E%u0442%u0434%u0430%u0441%u0442%20%27false%27%20................................%0Afunction%20pathToFile%28%29%20%7B%0A%0A%20%20%20%20%20//%20%u043F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u043F%u0440%u0435%u0434%u044B%u0434%u0443%u0449%u0438%u0439%20%u043F%u0443%u0442%u044C%20%u0434%u043B%u044F%20%u0441%u043E%u0445%u0440%u0430%u043D%u0435%u043D%u0438%u044F%20%u0438%u0437%20%27about%3Aconfig%27%20%u0438%u043B%u0438%20%u0434%u0438%u0441%u043A%20C%3A%20....%0A%20%20%20%20%20var%20pathToFile%20%3D%20Application.prefs.getValue%28%22CB.Stf.pathToSave%22%2C%200%29%3B%0A%20%20%20%20%20var%20pathToFile%20%3D%20%28%20pathToFile%20%3D%3D%200%20%29%3F%20%22C%3A%5C%5C%22%3A%20pathToFile%3B%0A%20%20%20%20%20%0A%20%20%20%20%20//%20%u0441%u043E%u0437%u0434%u0430%u0442%u044C%20%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u0435%20%u0444%u0430%u0439%u043B%u0430%20%u0438%u0437%20%u0437%u0430%u0433%u043E%u043B%u043E%u0432%u043A%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0438%20%u0442%u0435%u043A%u0443%u0449%u0435%u0433%u043E%20%u0432%u0440%u0435%u043C%u0435%u043D%u0438%20....%0A%20%20%20%20%20var%20fileTitle%20%3D%20getDocTitle%28%29%20+%20%27%20%20%27%20+%20getTime%28%29%3B%0A%0A%20%20%20%20%20//%20%u0434%u0438%u0430%u043B%u043E%u0433%20%u0441%u043E%u0437%u0434%u0430%u043D%u0438%u044F%20%u0438%20%u0443%u0441%u0442%u0430%u043D%u043E%u0432%u043A%u0438%20%u043F%u0443%u0442%u0438%20....%0A%20%20%20%20%20var%20fp%20%3D%20Cc%5B%22@mozilla.org/filepicker%3B1%22%5D.createInstance%28Components.interfaces.nsIFilePicker%29%3B%0A%20%20%20%20%20var%20dir%20%3D%20Cc%5B%22@mozilla.org/file/local%3B1%22%5D.createInstance%28Components.interfaces.nsILocalFile%29%3B%0A%20%20%20%20%20fp.init%28window%2C%20%22%u0423%u043A%u0430%u0436%u0438%u0442%u0435%20%u043F%u0443%u0442%u044C%20%u043A%20%u0444%u0430%u0439%u043B%u0443%20%u0438%20%u0435%u0433%u043E%20%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u0435%21%22%2C%20fp.modeSave%29%3B%0A%20%20%20%20%20fp.appendFilters%28%20fp.filterText%20%29%3B%0A%20%20%20%20%20fp.defaultString%20%3D%20fileTitle%3B%0A%20%20%20%20%20dir.initWithPath%28%20pathToFile%20%29%3B%0A%20%20%20%20%20fp.displayDirectory%20%3D%20dir%3B%0A%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20fp.show%28%29%20%3D%3D%20fp.returnCancel%20%29%20return%20false%3B%0A%20%20%20%20%20%0A%20%20%20%20%20//%20%u0437%u0430%u043F%u0438%u0441%u0430%u0442%u044C%20%u043F%u0443%u0442%u044C%20%u043A%20%u0444%u0430%u0439%u043B%u0443%20%u0432%20%27about%3Aconfig%27%20....%0A%20%20%20%20%20Application.prefs.setValue%28%22CB.Stf.pathToSave%22%2C%20fp.file.path%20%29%3B%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20return%20true%3B%0A%7D%3B%0A%0A%0A%0A//%20%u041F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u0442%u0435%u043A%u0443%u0449%u0435%u0435%20%u0432%u0440%u0435%u043C%u044F%20................................%0Afunction%20getTime%28%29%20%7B%0A%20%20%20%20%20var%20now%20%3D%20new%20Date%28%29%3B%0A%20%20%20%20%20return%20now.toLocaleFormat%28%22%25H%3A%25M%3A%25S%22%29%3B%0A%7D%3B%0A%0A%0A%0A/*%20%u041F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u0437%u0430%u0433%u043E%u043B%u043E%u0432%u043E%u043A%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0438%u043B%u0438%20%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u0435%20%u0434%u043E%u043C%u0435%u043D%u0430%20%u0435%u0441%u043B%u0438%20%u0437%u0430%u0433%u043E%u043B%u043E%u0432%u043A%u0430%20%u0443%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u043D%u0435%u0442%0A%20%20%20%u0438%u043B%u0438%20%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u0435%20%u043F%u0440%u043E%u0442%u043E%u043A%u043E%u043B%u0430%20%u0435%u0441%u043B%u0438%20%u0434%u043E%u043C%u0435%u043D%u0430%20%u043D%u0435%u0442%20................................*/%0Afunction%20getDocTitle%28%29%20%7B%0A%20%20%20%20var%20protocol%20%3D%20content.document.location.protocol%3B%0A%20%20%20%20if%20%28protocol%20%3D%3D%20%22chrome%3A%22%29%20return%20%22chrome%22%3B%0A%20%20%20%20if%20%28protocol%20%3D%3D%20%22data%3A%22%29%20return%20%22data%22%3B%0A%20%20%20%20var%20docTitle%20%3D%20content.document.title%20%7C%7C%20content.document.domain%20%7C%7C%20gBrowser.mCurrentTab.label%3B%0A%20%20%20%20//%20%u0437%u0430%u043C%u0435%u043D%u0438%u0442%u044C%20%u043D%u0435%u0434%u043E%u043F%u0443%u0441%u0442%u0438%u043C%u044B%u0435%20%u0441%u0438%u043C%u0432%u043E%u043B%u044B%20%u0438%20%u0443%u0434%u0430%u043B%u0438%u0442%u044C%20%u043B%u0438%u0448%u043D%u0438%u0435%20%u043F%u0440%u043E%u0431%u0435%u043B%u044B%20....%20%0A%20%20%20%20var%20docTitle%20%3D%20docTitle.replace%28/%5B%5C%5C%5C/%3C%3E%3F*%7C%22%5D+/g%2C%20%22%20%22%29%0A%20%20%20%20%09%09%09%20%20%20.replace%28/%3A/g%2C%20%22%u05C3%22%29%0A%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.replace%28/%5Cs%5Cs+/g%2C%20%22%20%22%29%3B%20%0A%20%20%20%20return%20docTitle%3B%0A%7D%3B%0A%0A%0A%0A/*%20%u041F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u0437%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0438%u043B%u0438%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u043E%u0433%u043E%20%u043F%u043E%u043B%u044F%2C%0A%20%20%20%u0435%u0441%u043B%u0438%20%u0442%u0435%u043A%u0441%u0442%20%u043D%u0435%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%20%20%u0444%u0443%u043D%u043A%u0446%u0438%u044F%20%u043E%u0442%u0434%u0430%u0441%u0442%20%27false%27%20................................*/%0Afunction%20getSelect%28%29%20%7B%0A%20%20%20%20//%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u0437%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20....%0A%20%20%20%20var%20selection%20%3D%20document.commandDispatcher.focusedWindow.getSelection%28%29%3B%0A%20%20%20%20var%20anchor%20%3D%20%28selection.anchorNode%20%21%3D%3D%20null%29%3F%20selection.anchorNode%3A%20false%3B%0A%0A%20%20%20%20//%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u0437%20%27PRE%27%20....%0A%20%20%20%20if%20%28%20anchor%20%26%26%20anchor.parentNode.tagName%20%3D%3D%20%27PRE%27%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20var%20node%20%3D%20selection.focusNode%3B%0A%20%20%20%20%20%20%20%20%20var%20startPos%20%3D%20selection.anchorOffset%3B%0A%20%20%20%20%20%20%20%20%20var%20endPos%20%3D%20selection.focusOffset%3B%0A%20%20%20%20%20%20%20%20%20var%20selection%20%3D%20node.data.substring%28startPos%2C%20endPos%29%3B%20%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20//%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u0437%20%u0442%u0435%u043A%u0441%u0442%u043E%u0432%u043E%u0433%u043E%20%u043F%u043E%u043B%u044F%20....%0A%20%20%20%20if%20%28%20selection.toString%28%29.length%20%3D%3D%200%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20var%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0A%20%20%20%20%20%20%20%20%20if%20%28%20theBox%20%26%26%20%28theBox.type%20%3D%3D%20%22text%22%20%7C%7C%20theBox.type%20%3D%3D%20%22textarea%22%29%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20startPos%20%3D%20theBox.selectionStart%3B%0A%09%20%20%20%20%20%20var%20endPos%20%3D%20theBox.selectionEnd%3B%0A%09%20%20%20%20%20%20var%20selection%20%3D%20theBox.value.substring%28startPos%2C%20endPos%29%3B%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20//%20%u0438%u0441%u043F%u0440%u0430%u0432%u043B%u044F%u0435%u043C%20%u043F%u0440%u043E%u0431%u043B%u0435%u043C%u0443%20%u0441%20%u043F%u0435%u0440%u0435%u043D%u043E%u0441%u043E%u043C%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u043D%u043E%u0432%u0443%u044E%20%u0441%u0442%u0440%u043E%u043A%u0443%20%u0432%20%u0441%u0442%u0430%u043D%u0434%u0430%u0440%u0442%u043D%u043E%u043C%20win%20%u0431%u043B%u043E%u043A%u043D%u043E%u0442%u0435%20....%0A%20%20%20%20if%20%28%20selection.toString%28%29.length%20%21%3D%3D%200%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20var%20selection%20%3D%20selection.toString%28%29%3B%0A%20%20%20%20%20%20%20%20%20var%20selection%20%3D%20selection.replace%28/%5Cu000A/g%2C%20%22%5Cu000D%5Cu000A%22%29%3B%0A%20%20%20%20%20%20%20%20%20var%20selection%20%3D%20selection.replace%28/%5Cu000D%5Cu000D%5Cu000A/g%2C%20%22%5Cu000D%5Cu000A%22%29%3B%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20return%20%28%20selection%20%3D%3D%20%27%27%29%3F%20false%3A%20selection%3B%0A%7D%3B%0A%0A%0A//%20%u041F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%20%u043A%u043D%u043E%u043F%u043A%u0438%20................................%0Athis.tooltipText%20%3D%20%22Stf%22%20+%22%5Cn%22+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22%u041B%3A%20%u0421%u043E%u0445%u0440%u0430%u043D%u0438%u0442%u044C%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u043B%u0438%20%u0432%u0435%u0441%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%u043A%u0430%u043A%20txt%20%u0444%u0430%u0439%u043B%22%20+%22%5Cn%22+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22%u0414%u041B%3A%20%u0421%u043E%u0445%u0440%u0430%u043D%u0438%u0442%u044C%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u043B%u0438%20%u0432%u0435%u0441%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%u0431%u0435%u0437%20%u0437%u0430%u043F%u0440%u043E%u0441%u0430%20%u043D%u0430%20%u0441%u043E%u0445%u0440%u0430%u043D%u0435%u043D%u0438%u0435%22%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%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E Л: Сохранить выделенный текст или весь текст на странице как txt файл |
Uxapb > 22-10-2013 22:31:37 |
bunda1 пишет
Да, спасибо, почти то, что нужно, но есть некоторые минусы для меня: это еще одна кнопка плюсом к Save, отсутствие пункта в контекстном меню, текст вставляется без титла и урла, целевой файл не прописан жестко под даблклик, из всплывающего окна не открыть файл. |
Pony_Smile_Pack > 23-10-2013 02:54:05 |
Uxapb пишет
|
Uxapb > 23-10-2013 06:37:14 |
Uxapb пишет
Pony_Smile_Pack пишет
Функционал схож. Но хотелось отказаться от аддона в пользу кнопки. Тем более, что разделение по вариантам сохранения при различных кликах юзабельнее. |
bunda1 > 23-10-2013 19:41:25 |
Uxapb пишет
Ну тогда поменяй: Выделить код Код:// путь к файлу и название файла.... var file = directoryService.get("Desk", Components.interfaces.nsIFile); file.append("Save - " + (new Date()).toLocaleFormat("%d.%m.%Y") + ".txt"); на: Выделить код Код:// путь к файлу и название файла.... var pathToFile = "C:\\qwerty"; file.initWithPath( pathToFile + ".txt" ); |
1fesFFFF > 23-10-2013 20:51:23 |
1) В 25 скрытый текст Выделить код Код:var findToolbar = document.getElementById("FindToolbar"); if (typeof gFindBar == "object") { //Bon Echo 2.0a3 if(findToolbar.hidden) { gFindBar.onFindCommand();; this.checked=true; } else { gFindBar.close(); this.checked=false; } // End if (findToolbar.hidden) } else { if(findToolbar.hidden){ onFindCmd(); } else { closeFindBar(); } // End if (findToolbar.hidden) } // End if (typeof gFindBar == "object") Можете поправить её? И ещё: |
Uxapb > 23-10-2013 21:27:46 |
bunda1 пишет
Спасибо большое, именно так и хотел. |
bunda1 > 23-10-2013 22:37:26 |
Uxapb пишет
Если я правильно понял: return docTitle.substring(0, 50); |
Uxapb > 23-10-2013 23:07:12 |
bunda1 пишет
Да, именно это значение. Еще раз спасибо, что не оставили без внимания мои маленькие прихоти. |
Dumby > 26-10-2013 11:28:09 |
1fesFFFF пишет
Там старого findbar'а больше нет. Теперь для каждого таба свой. скрытый текст Checked-индикация, если нужна, то можешь попробовать вариант (вкладка Инициализация) скрытый текст Выделить код Код:const observer = new MutationObserver(check), optChildList = { childList: true }, optAttributeHidden = { attributes: true, attributeFilter: ["hidden"] }; function check(mut) { const childList = mut && mut[0].type == "childList", findbar = childList && mut[0].addedNodes.length && mut[0].addedNodes[0].nodeName == "findbar"; if (childList && !findbar) return; childList && findbar && obs(true); self.checked = !gFindBar.hidden; } function obs(noCheck) { const tab = gBrowser.selectedTab, findbar = tab._findBar, node = findbar || tab.linkedBrowser.parentNode.parentNode, options = findbar ? optAttributeHidden : optChildList; observer.disconnect(); observer.observe(node, options); if (noCheck != true) findbar ? check() : self.checked = false; } obs(); addEventListener("TabSelect", obs, false, gBrowser.tabContainer); addDestructor(function() observer.disconnect()); |
1fesFFFF > 27-10-2013 17:41:51 |
Dumby |
Dеnis > 27-10-2013 21:08:21 |
Кнопка запуска внешнего приложения Выделить код Код:startProcess("C:\\Program Files (x86)\\SMPlayer\\smplayer.exe",["%u"]); function startProcess(path, args) { var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath(path); if(file.exists()) { var process = Components.classes["@mozilla.org/process/util;1"] .createInstance(Components.interfaces.nsIProcess); process.init(file); process.run(false, args, args.length); } else custombuttons. alertBox ("Файл не найден", path); }; А как передать в аргументе текущий адрес страницы? Я пробовал %u, но не работает. Я хочу, чтобы на ютубе я нажал на кнопку и открылся SMPlayer с текущей страницей, например Выделить код Код:C:\Program Files (x86)\SMPlayer\smplayer.exe http://www.youtube.com/watch?v=QJO3ROT-A4E |
villa7 > 27-10-2013 22:51:19 |
Dеnis
|
by-psi-x > 03-11-2013 00:36:25 |
есть рабочая кнопка для отключения плагинов? Вот я попробовал Toggle Java(Firefox) по ссылке https://forum.mozilla-russia.org/viewtopic.php?pid=573843#p573843 - НЕРАБОТАЕТ |
Pony_Smile_Pack > 03-11-2013 00:44:34 |
by-psi-x пишет
Firefox 26 Бета | Форум Mozilla Россия
|
dedmazai1870 > 03-11-2013 10:39:41 |
bunda1 |
by-psi-x > 04-11-2013 00:35:11 |
т.е. кнопка отключения/включения плагинов больше работать не будет? Можно удалять? |
bunda1 > 05-11-2013 23:42:05 |
dedmazai1870 пишет
А какую нужно? |
feas > 05-11-2013 23:50:54 |
dedmazai1870 пишет
предлагай |
bunda1 > 06-11-2013 00:14:54 |
okkamas_knife 06-11-2013 00:17:33 |
dedmazai1870 > 06-11-2013 03:55:50 |
feas пишет
JavaScript включён |
villa7 > 06-11-2013 05:07:17 |
dedmazai1870 |
dedmazai1870 > 06-11-2013 11:08:14 |
villa7 |
villa7 > 06-11-2013 12:06:49 |
dedmazai1870 |
dedmazai1870 > 06-11-2013 13:24:18 |
Как меня ломало писать длинный пост! P.S. А в Speed Dial теперь так (гифка примерно 30 сек.). ![]() P.S. Сейчас нашёл Online Base64 Image Encoder/Decoder. Вижу, иконка одна. Вопросы остаются: как она меняет свой цвет в кнопке? |
dedmazai1870 > 06-11-2013 16:13:15 |
okkamas_knife |
bunda1 > 06-11-2013 21:25:55 |
dedmazai1870 пишет
Замени в кнопке: Выделить код Код:function toggleImage() { self.style.filter = pref.value ? '' : 'url("chrome://mozapps/skin/extensions/extensions.svg#greyscale")'; }; на: Выделить код Код:function toggleImage() { var icon = self.ownerDocument.getAnonymousElementByAttribute( self, "class", "toolbarbutton-icon"); icon.src = pref.value ? 'data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAACQWzEUkFsxhJBbMaOQWzG2kFsxyZBbMdqQWzHrkFsx+pVhOf+GckP/TodG/zqIQP8+fDX4VHEyYf///wD///8AlF8zaLiQbf/WuqP/38az/+fUw//u39P/9eri//v07/+hyab/aLJ4/4PHk/9+wJf/gMSR/1ajY/orgDKG////AJlkNonHpIX////////////////////////+/P/a6Nj/crqC/4/Qnf8/plz/9PT0/0+5ev+Ky5v/V6Vl9yqAMjmeaTlXnmk59rSFWf/ZpXv/2J5v/9ebav/YlmP/dqdw/4nPlv9zx4P/RK9g//Hx8f/y8vL/Trl6/4DFkv8vhTjPpG88FKRvPKvVroz//fDl//fHov/3z63/+dW1/2yxfv+X16H/fMuI/2K/fv/z8/P/8fHx//X19f9OqmX/Nok/9v///wCqdUAot4ZW//7+/f/63sL/+ty///nbwP+HvI7/qd6z/47SmP9sunz/+fn5//b29v9ivoX/hsuV/zyOR8////8AsXtDHrmGUv/+/Pn/+dy///jbv//43MD/29O1/6HTrv+95cP/dryB//////+Lxpf/mdak/2i0ePdBkk45////ALeCRwm5hUv//vv3//ncwf/43L//+Ny///jbwP+yyqP/p9Wx/7vkw/+t1LL/p92x/32+iP9Qnl+G////AP///wD///8AvYhL+fz28P/538f/+dy9//rcv//628H/+t3D/9zVtf+IvZD/b7SC/4C8j/+rlFr/vYhLD////wD///8A////AMSOTtr159j/+uXS//navP/527z/+tu///rdwf/63cH/+d3E//vhyP///fv/yJRX/8SOThL///8A////AP///wDKlFK78NnB//vt4f/52sD/+dzC//nexf/64Mf/+uLK//rizf/65dD///79/8uPWv/KlFLxypRSRf///wD///8A0JpVpO3Qsv//9vD/+uHK//vjzP/749D/++bT//vp1f/86dj//Orb/////f/SnXH/7tnB/9CaVeX///8A////ANWfWJLryqX///37//3p1f/969j//erb//3t3//98OL//fHk//zw5P//////4KBw///7+f/fuIf/////AP///wDapFuE68aa///////87+L//fDn//3x6//99e7//fjx//369////Pr///////779//02sD/2qRb6v///wD///8A3qhdberAjP///////////////////////fn0//vz6v/469n/+ObT//Xfxv/py6b/3qhd7d6oXV3///8A////AOKsXzbirF/G6ryB/+i3d//msm3/5LBo/+KsX/DirF/j4qxfz+KsX8zirF+74qxfqOKsX0virF8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==' : 'data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAACQWzEUkFsxhJBbMaOQWzG2kFsxyZBbMdqQWzHrkFsx+pVhOf+aaUH/ZGaG/xhNrv8FQrv/B0a16QNFuHr///8AlF8zaLiQbf/WuqP/38az/+fUw//u39P/9eri//v07//9+vb/jKrg/yhmyf8hd+b/BXnq/wFk3f8ETb38A0W4eplkNonHpIX////////////////////////+/P/++/f//vfx/x9Yv/9jnfT/GH///wB2+P8Adu7/A2jh/wNFueSeaTlXnmk59rSFWf/ZpXv/2J5v/9ebav/YlmP/1pJd/9SPWf8FQrz/rs3+/////////////////xh/7/8EQrz+pG88FKRvPKvVroz//fDl//fHov/3z63/+dW1//javf/43sL/JFm7/4219v9Nkv//EXf//yGG//9Aiuv/A0S53v///wCqdUAot4ZW//7+/f/63sL/+ty///nbwP/528D/+d3B/5Odwv89ddH/jbX3/7jW/v9yqPX/LWvL/ARDum3///8AsXtDHrmGUv/+/Pn/+dy///jbv//43MD/+dvC//ncwf/53cL/kp7D/ypfwv8FQ7z/FUut/ANFuXj///8A////ALeCRwm5hUv//vv3//ncwf/43L//+Ny///jbwP/53cD/+d3A//ndw//74sv//Pn1/7eCR/u3gkcB////AP///wD///8AvYhL+fz28P/538f/+dy9//rcv//628H/+t3D//rdwv/53cT/++DJ///8+v/BjVP/vYhLD////wD///8A////AMSOTtr159j/+uXS//navP/527z/+tu///rdwf/63cH/+d3E//vhyP///fv/yJRX/8SOThL///8A////AP///wDKlFK78NnB//vt4f/52sD/+dzC//nexf/64Mf/+uLK//rizf/65dD///79/8uPWv/KlFLxypRSRf///wD///8A0JpVpO3Qsv//9vD/+uHK//vjzP/749D/++bT//vp1f/86dj//Orb/////f/SnXH/7tnB/9CaVeX///8A////ANWfWJLryqX///37//3p1f/969j//erb//3t3//98OL//fHk//zw5P//////4KBw///7+f/fuIf/////AP///wDapFuE68aa///////87+L//fDn//3x6//99e7//fjx//369////Pr///////779//02sD/2qRb6v///wD///8A3qhdberAjP///////////////////////fn0//vz6v/469n/+ObT//Xfxv/py6b/3qhd7d6oXV3///8A////AOKsXzbirF/G6ryB/+i3d//msm3/5LBo/+KsX/DirF/j4qxfz+KsX8zirF+74qxfqOKsX0virF8FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=='; }; |
dedmazai1870 > 06-11-2013 23:55:16 |
okkamas_knife |
adidharma > 20-11-2013 07:39:42 |
Чёто в новой ночнушке с австралисом кнопки с панели навигации не пашут. Уже возникал этот вопрос: №231, тогда помогло решение от Dumby: Выделить код Код:var sel = '#nav-bar-customizationtarget > toolbarbutton[id^="custombuttons-button"]:not([initialized])'; Array.forEach(document.querySelectorAll(sel), btn => { try { btn.init() } catch(ex) {} }); но теперь не помогает. p.s. upd. Вопрос решён. Ступил, не разглядел с утра, что #nav-bar-customizationtarget теперь #nav-bar-customization-target |
Mishania > 20-11-2013 10:09:08 |
Пользуюсь букмарклетом Upload To скрытый текст javascript:(function(){var%20c='ujs_max_upload',w=window,d ![]() Пытался сделать из него кнопку по принципу loadURI("") - не работает. Подскажите что нужно изменить. (В программирование я не 0, а -1, чем проще тем лучше.) |
voqabuhe > 20-11-2013 10:14:35 |
adidharma пишет
|
Чайник > 20-11-2013 15:33:08 |
Mishania пишет
Mishania, Выделить код Код:this.onclick=function(e) { if (e.button==0) { var url = PlacesUtils.getURLAndPostDataForKeyword(' вставить свой keyword ')[0]; loadURI(url); } } |
Mishania > 20-11-2013 17:09:57 |
Чайник |
Чайник > 20-11-2013 18:48:27 |
Mishania пишет
Keyword - это краткое имя. Вот это Выбрать краткое имя можно любое и вписать его в скобки в коде. |
Mishania > 20-11-2013 19:24:14 |
Чайник |
rubel > 23-11-2013 20:31:53 |
Что-то у меня на 24.0 совсем не работает кнопка Переключаться на новые вкладки/Открывать новые вкладке в фоне.(Firefox) |
Pony_Smile_Pack > 23-11-2013 22:00:59 |
rubel пишет
|
rubel > 24-11-2013 05:46:29 |
Pony_Smile_Pack пишет
У меня эта птичка не стоит. Проверил и на 17.0 с одним расщирением-open_link_in_new_tab , тоже не работает, может какие настройки нужны. Хочется чтоб все ссылки открывались в фоне в новых вкладках. |
1fesFFFF > 02-12-2013 21:43:09 |
Нужна кнопка или скрипт, который автоматически при запуске браузера или открытии любого сайта сбрасывает масштаб страницы на стандартные 100%. |
Mishania > 02-12-2013 22:41:04 |
1fesFFFF |
bunda1 > 02-12-2013 22:45:06 |
1fesFFFF пишет
|
mahtanoronra > 15-12-2013 20:36:05 |
всем привет, а есть ли кнопочки на подобее тех которые имеются в MRTechToolkit{6.0.4.9000}, список тем и расширением(клик и открываются настройки расширения). или выключение всех расширений. вообщем все которые имеются в MRTechToolkit. |
bunda1 > 15-12-2013 20:52:47 |
mahtanoronra 15-12-2013 20:55:50 15-12-2013 20:56:18 15-12-2013 20:56:38 15-12-2013 20:57:08 15-12-2013 20:59:05 15-12-2013 21:02:05 15-12-2013 21:02:47 15-12-2013 21:06:48 |
mahtanoronra > 15-12-2013 21:17:50 |
bunda1 |
bunda1 > 15-12-2013 21:27:14 |
mahtanoronra пишет
Сразу нельзя и наверно кнопка показывает только Restartless расширения. |
rbfyec > 15-12-2013 23:50:47 |
Я пользуюсь кнопкой Открывать всё в новых вкладках. Может можно что добавить в код кнопки? И насчёт кнопки Proxy. Мне не нужен полностью её функционал, а нужна та часть, которая позволяет установить адрес/порт прокси из выделенного текста. Какой кусок кода нужно взять? |
bunda1 > 16-12-2013 01:03:57 |
rbfyec пишет
Выделить код Код:// Создаем меню для добавление прокси в контекстном меню выделенного текста на странице ................................ (function func() { var contextMenu = document.getElementById("contentAreaContextMenu"); // создать новый пункт меню var menuitem = document.createElement("menuitem"); menuitem.setAttribute("label", "Добавить прокси"); menuitem.setAttribute("class", "menuitem-iconic"); menuitem.setAttribute("image", "data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAQAAAAAIAAYOQAAWJ2kADh1fAAAEKAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAEBAQECAgICAgICAgICAgMBAQEAAAEEJBE4ULQ+fZ38ea/H/muhuv8gW3ztAxclewAAAAsAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEBAAAAAAMLNlO7PH+n/3Sgu/281eP9zuHr/mWZuP4XXon/ABAeZwAAAAAAAAAAAQEBAQAAAAAZGBoTKScsLyYkKjErJSgnIC8/XgZQgP9BcZb8b5q3/oiux/+qx9r/a5Ow+zFtlv8PRWrGAAACAAEBAQMHBwcbAAAAD2BeYn769/3/4eDm/Onh5v+DnrX/A0t9/j1vlv+FqMH/lrfN/7rS4f9+pL3+M26X/xJYhu0DEiMdAAAAAAEBAQEAAAABBgUGEaSiprbPzNP239fb/4OcsP4aXYr/RHOZ/5Gwx//T5e//mrjO/3KYtv40apP/D0x77AUTIhwhHyMmeXV7mXt4fqJ3dHmce3d+n6eirODMx8r/o6q3/kN4nf92m7n/vtPj/9Hg7P/C1OL/eJq1+jtulv8bSnC7AAEGAF1aYH7//////f39/P//////////////////////////lbHC/3ilvf/K4Oz/2OXv/7nN3f6FqcP/VIiv/AseMT8AAAAAXFtef+LY5/+AT534fU2d+4VXovyKXaf+jGGp/5BlrP+GWKT/ZmGc/4Cduf+ivtD+k7HH/1t/neUTJjhFAAAAAAEBAQJfXmB/3tHl/14giPxcIYr/Zy+S/244mP9yPZv/cj6c/3M9nP9wNpf/YDSP/1k0ivu7tdP/YmNmiAAAAAAEBAQGAAAAAF9eYIDg1Ob/cDqV/HE9mv9/TaT/hler/4tdr/+NXrD/iFms/4JTqP9+SqP/cjqW+9zJ4/9ubW6JAAAAAAMDBAQAAAAAX15ggODU5v94RZz8e0mi/4pcrv+Vabf/nXO9/6J5wf+jfMH/oXq//513u/+NY6z718bh/2pqa4gAAAAABAMEBAAAAABfXWCA4NTm/4VWpfyPY7L/onvA/7GPzP+8ndT/waTY/8Cj1/+6nNL/tZfO/6F9uvvYx+L/ampriAAAAAAEAwQEAAAAAF9eYH/e0uX/n3u5/LKTzP/Bpdf/zrbh/9jC6f/bxuv/2cTp/9O+5P/Qu+H/uJ3L+9jI4f9qaWuHAAAAAAQDBAQAAAAAX15gf97S5P+gfbf5sZPH/LqdzfzCqNT8ybHZ/My12vzKs9n8xq/W/Mav1fywksL418fh/2tqbIkAAAAABAMEBAAAAABZVlt3+fX8/+DU5vzj1un/5tvt/+ne7//r4PH/6t7w/+fb7f/k2Ov/4dPn/9nM4Pv79v//ZGFnfwAAAAADAwQEAAAAABcVGRpZVlt6YF9hgWBgYoBhYWKAYmFigGJiY4BiYmOAYmFigGFhYoBgYGGAX15ggF1aX4AbGR0eAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="); addEventListener("command", function(e) { addNewProxy() }, false, menuitem ); // устанавливаем где показывать пункт меню addEventListener("popupshowing", function() { menuitem.hidden = !gContextMenu.isContentSelected; }, false, contextMenu ); addDestructor(function() { contextMenu.removeChild( menuitem ) }); contextMenu.appendChild( menuitem ); // как последний пункт меню // добавление прокси function addNewProxy( sel, i ) { var selection = document.commandDispatcher.focusedWindow.getSelection().toString(); var sel = ( sel == undefined ) ? selection : sel.toString(); sel = sel.replace(/^\s+|\s+$/g, ""); // удалить пробелы, слева и справа от строки sel = sel.replace(/\s+/g,":"); // заменить пробелы внутри строки // если порт ... if ( sel.length < 5 && isFinite(sel) ) { sel = sel.replace(/:/g, ""); sel = +sel; // порт как число var lab = 'порт'; var pref = 'network.proxy.http_port'; } // если адрес ... if ( sel.length > 4 && !/:/.test(sel) && sel.split(".").length == 4 ) { var lab = 'адрес'; var pref = 'network.proxy.http'; } // если адрес и порт ... if ( sel.length > 4 && /:/.test(sel) && sel.split(":").length == 2 && sel.split(".").length == 4 ) { var lab = 'адрес и порт'; var array = sel.split(":"); array.forEach(function(sel, i) { addNewProxy( sel, i ) }); } Application.prefs.setValue( pref, sel ); // переключить настройки прокси if ( lab == undefined || i !== undefined || i == 0 ) return; // всплывающая подсказка рядом с выделенным текстом ... function showTooltip() { var tooltip = gBrowser.appendChild( document.createElement("tooltip") ); tooltip.style.cssText = "color: red !important; font-weight: bold !important; font-size: 14px !important; -moz-box-orient: horizontal; text-align: center;"; var image = tooltip.appendChild( document.createElement("image") ); image.setAttribute("src", self.image ); var label = tooltip.appendChild( document.createElement("label") ); label.setAttribute("value", "Установлен " + lab + " прокси: " + sel ); var focused = document.commandDispatcher.focusedWindow; var selection = focused.getSelection().getRangeAt(0).getBoundingClientRect(); var posX = focused.mozInnerScreenX + selection.left; var posY = focused.mozInnerScreenY + selection.bottom - 5; tooltip.showPopup( gBrowser, posX, posY ); setTimeout(function() { gBrowser.removeChild( tooltip ) }, 2000 ); }; showTooltip(); }; })(); |
bunda1 > 16-12-2013 01:46:52 |
rbfyec пишет
Добавить: Выделить код Код:addEventListener("popupshowing", function(e) { var menupopup = e.originalTarget; var pasteAndGo = menupopup.getElementsByAttribute("anonid", "paste-and-go")[0]; pasteAndGo.setAttribute("oncommand", "event.preventDefault(); gURLBar.select(); goDoCommand('cmd_paste'); gURLBar.handleCommand(event);") }, false, document.getElementById("urlbar") ); |
rbfyec > 16-12-2013 02:42:07 |
bunda1 пишет
Это я добавил, оно работает, благодарю. А с кнопкой прокси не ладится. В консоли ошибок нет. |
bunda1 > 16-12-2013 03:19:51 |
rbfyec пишет
rbfyec |
rbfyec > 17-12-2013 03:07:42 |
bunda1 |
rbfyec > 17-12-2013 15:49:14 |
А как сделать, чтоб кнопка меняла иконку от состояния прокси, неважно включаю я прокси хоткеем, кнопкой или жестом? |
bunda1 > 17-12-2013 16:32:00 |
rbfyec пишет
Выделить код Код:// Установливать нужную иконку кнопки при старте баузера или при изменениях в 'about:config' ................................ var s = "network.proxy.type"; function toggleImage() { var icon = self.ownerDocument.getAnonymousElementByAttribute( self, "class", "toolbarbutton-icon"); icon.src = ( cbu.getPrefs(s) == 0 ) ? self.image : 'data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAQAAAAAIAA4GQAAnFmkAHQ5fAAQAKAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQECAgICAgICAgICAgMBAQEAAAQBJBFQOLQ+nX38ecev/mu6of8gfFvtAyUXewAAAAsAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEBAAAAAAMLUza7PKd//3S7oP2849X9zuvh/mW4mf4XiV7/AB4QZwAAAAAAAAAAAQEBAQAAAAAZGhgTKSwnLyYqJDErKCUnID8vXgaAUP9BlnH8b7ea/ojHrv+q2sf/a7CT+zGWbf8PakXGAAIAAAEBAQMHBwcbAAAAD2BiXn76/ff/4ebg/Onm4f+DtZ7/A31L/j2Wb/+Fwaj/ls23/7rh0v9+vaT+M5du/xKGWO0DIxIdAAAAAAEBAQEAAAABBgYFEaSmorbP08z239vX/4OwnP4ail3/RJlz/5HHsP/T7+X/ms64/3K2mP40k2r/D3tM7AUiExwhIx8meXt1mXt+eKJ3eXSce353n6esouDMysf/o7eq/kOdeP92uZv/vuPT/9Hs4P/C4tT/eLWa+juWbv8bcEq7AAYBAF1gWn7//////f39/P//////////////////////////lcKx/3i9pf/K7OD/2O/l/7ndzf6Fw6n/VK+I/AsxHj8AAAAAXF5bf+Ln2P+AnU/4fZ1N+4WiV/yKp13+jKlh/5CsZf+GpFj/Zpxh/4C5nf+i0L7+k8ex/1udf+UTOCZFAAAAAAEBAQJfYF5/3uXR/16IIPxciiH/Z5Iv/26YOP9ymz3/cpw+/3OcPf9wlzb/YI80/1mKNPu707X/YmZjiAAAAAAEBAQGAAAAAF9gXoDg5tT/cJU6/HGaPf9/pE3/hqtX/4uvXf+NsF7/iKxZ/4KoU/9+o0r/cpY6+9zjyf9ubm2JAAAAAAMEAwQAAAAAX2BegODm1P94nEX8e6JJ/4quXP+Vt2n/nb1z/6LBef+jwXz/ob96/527d/+NrGP71+HG/2praogAAAAABAQDBAAAAABfYF2A4ObU/4WlVvyPsmP/osB7/7HMj/+81J3/wdik/8DXo/+60pz/tc6X/6G6ffvY4sf/amtqiAAAAAAEBAMEAAAAAF9gXn/e5dL/n7l7/LLMk//B16X/zuG2/9jpwv/b68b/2enE/9Pkvv/Q4bv/uMud+9jhyP9qa2mHAAAAAAQEAwQAAAAAX2Bef97k0v+gt335sceT/LrNnfzC1Kj8ydmx/MzatfzK2bP8xtav/MbVr/ywwpL41+HH/2tsaokAAAAABAQDBAAAAABZW1Z3+fz1/+Dm1Pzj6db/5u3b/+nv3v/r8eD/6vDe/+ft2//k69j/4efT/9ngzPv7//b/ZGdhfwAAAAADBAMEAAAAABcZFRpZW1Z6YGFfgWBiYIBhYmGAYmJhgGJjYoBiY2KAYmJhgGFiYYBgYWCAX2BegF1fWoAbHRkeAAAAAAEBAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='; }; toggleImage(); gPrefService.addObserver( s, toggleImage, false ); addDestructor(function() { gPrefService.removeObserver( s, toggleImage, false ) }); |
rbfyec > 18-12-2013 15:29:28 |
Иконка есть! А вот одна вещь у меня не получается. Допустим прописан у меня в настройках какой-то прокси. Потом я через контекстное меню (или в диалоге) меняю адрес/порт. Выделить код Код:addr = Application.prefs.getValue("network.proxy.http", 0); prt = Application.prefs.getValue("network.proxy.http_port", 0) И хочу использовать их для возврата на первый прокси. Но когда я меняю через контекстное меню адрес/порт - addr и prt перезаписываются. Хочу уточнить: первый прокси - это не какойто фиксированный адрес, а просто тот, который был ДО изменения настроек. |
bunda1 > 18-12-2013 17:01:32 |
rbfyec Выделить код Код:Application.prefs.setValue('network.proxy.http', '119.82.240.185' ); Application.prefs.setValue('network.proxy.http_port', 8080 ); Порт и адрес ставь свой. |
rbfyec > 18-12-2013 20:43:27 |
bunda1 пишет
Нет, как установить эти настройки я знаю и я это делаю. То что предлагает okkamas_knife вроде подходит, но... Выделить код Код://установить значение параметра в about:config (средствами CB) var n="browser.download.dir";//параметр var z="C:\Documents and Settings\Администратор\Рабочий стол";//значение, для булевых ставим 0-false 1-true custombuttons.setPrefs(n,z); И вот в коде кнопки я нашёл место, где добавляется прокси и написал скрытый текст Выделить код Код:// добавление прокси function addNewProxy( sel, i ) { var selection = document.commandDispatcher.focusedWindow.getSelection().toString(); var sel = ( sel == undefined ) ? selection : sel.toString(); sel = sel.replace(/^\s+|\s+$/g, ""); // удалить пробелы, слева и справа от строки sel = sel.replace(/\s+/g,":"); // заменить пробелы внутри строки // если порт ... if ( sel.length < 5 && isFinite(sel) ) { sel = sel.replace(/:/g, ""); sel = +sel; // порт как число var lab = 'порт'; var pref = 'network.proxy.http_port'; } // если адрес ... if ( sel.length > 4 && !/:/.test(sel) && sel.split(".").length == 4 ) { var lab = 'адрес'; var pref = 'network.proxy.http'; } // если адрес и порт ... if ( sel.length > 4 && /:/.test(sel) && sel.split(":").length == 2 && sel.split(".").length == 4 ) { var lab = 'адрес и порт'; var array = sel.split(":"); array.forEach(function(sel, i) { addNewProxy( sel, i ) }); } Application.prefs.setValue( pref, sel ); // переключить настройки прокси //**************** Это я добавил ************************************* proxybakup = custombuttons.setPrefs("custombuttons.button.proxy.proxybakup", pref); portbakup = custombuttons.setPrefs("custombuttons.button.proxy.portbakup", sel); Это не работает. В консоли
|
bunda1 > 18-12-2013 22:14:13 |
Надо заменить: на: Выделить код Код:addEventListener("command", function(e) { // сохранить старые настройки прокси .... Application.prefs.setValue('CB.button.proxy.portbakup', cbu.getPrefs("network.proxy.http_port") ); Application.prefs.setValue('CB.button.proxy.proxybakup', cbu.getPrefs("network.proxy.http") ); addNewProxy(); }, false, menuitem ); |
rbfyec > 18-12-2013 23:22:49 |
Я напутал в коде, потому и не выходило bunda1 пишет
Вот это получилось то самое что я и хотел! |
rbfyec > 19-12-2013 16:58:19 |
А просто интересно, это вообще-то возможно: присвоить переменной значение какого-то параметра about:config и сохранить эту переменную неизменной когда этот параметр меняется? |
bunda1 > 19-12-2013 17:05:25 |
rbfyec пишет
Можно конечно но только до закрытия браузера и наверно |
xrun1 > 19-12-2013 17:18:07 |
rbfyec |
1fesFFFF > 22-12-2013 08:30:27 |
bunda1 Вот ссылки на мой скрипт: скрытый текст http://multi-up.com/934591 или http://files.mail.ru/79D0D2B0E8C149D38E06CD91105C46EA Можете его починить? Данный скрипт - это Context Search. Преимущество его для меня в том, что он идёт отдельной строкой в контекстном меню и после поиска через него, не меняет поисковик из строки поиска. |
toxa > 22-12-2013 19:45:28 |
Как сделать listener чтобы он следил за появлением окна с определённым адресом (или с определённым заголовком) и тогда выполнится действие? |
bunda1 > 22-12-2013 20:41:13 |
toxa пишет
Вот пример: Выделить код Код:// Обработчик следит за переключением табов и запускают нужные коды и функции ................................ addEventListener("TabAttrModified", function(e) { var tab = e.target; var uri = tab.linkedBrowser.currentURI.spec; var doc = tab.linkedBrowser.contentDocument; if ( tab.hasAttribute('read') ) setTimeout(function() { { tab.removeAttribute('unread') } }, 0) // автоматически меняем название таба для таба "Bookmarks tab" .... if ( uri == "chrome://browser/content/bookmarks/bookmarksPanel.xul") doc.title = "Закладки"; // автоматически очистить адресную строку для 'Bookmarks tab' .... if ( gBrowser.currentURI.spec == "chrome://browser/content/bookmarks/bookmarksPanel.xul") { gURLBar.value = ""; gURLBar.focus(); }; // стоп, если открыть другие вкладки в фоновом режиме .... if ( uri !== gBrowser.currentURI.spec ) return; // показываем иконки сайтов в адресной строке .... gProxyFavIcon.src = ( gBrowser.mCurrentTab.image == '' ) ? "chrome://global/skin/icons/Portrait.png" : gBrowser.mCurrentTab.image; }, true, gBrowser.tabContainer ); |
toxa > 22-12-2013 21:45:39 |
Что-то не могу понять как мне приспособить этот код... Что я должен написать в коде? |
bunda1 > 22-12-2013 22:20:25 |
Упс, я невнимательно прочитал. Ну тогда не знаю, а что ты хочешь добится. 22-12-2013 22:24:55 Выделить код Код:// Наблюдатель следит за открытием окон var observer = { observe: function(subject, topic, data) { subject.addEventListener("load", this, false); }, handleEvent: function(e) { var doc = e.target; var win = doc.defaultView; var href = doc.location.href.slice(0,60); win.removeEventListener("load", this, false); ............... } }; Services.obs.addObserver( observer, "domwindowopened", false); addDestructor(function() { Services.obs.removeObserver(observer, "domwindowopened", false) }); |
toxa > 22-12-2013 23:17:17 |
bunda1 пишет
Добиться я хочу вот чего: мне нужно приделать обработчик онклик к кнопке, расположенной в этом окошке. Но не через html атрибут онклик, а через свойство my_button.onclick Вот я и хочу чтобы какой-то наблюдатель, как только откроется моё окошко, запустил код okkamas_knife пишет
Я там ничего не понял |
bunda1 > 22-12-2013 23:35:00 |
Ты хочешь кнопкой открыть окошко и там что то сделать, так? |
Teu > 25-12-2013 11:55:10 |
bunda1 А нет ли случайно CB открывающей Find Bar во всех вкладках, как раньше? |
voqabuhe > 25-12-2013 12:20:04 |
Teu пишет
|
Teu > 26-12-2013 06:28:55 |
voqabuhe |
1fesFFFF > 26-12-2013 08:15:01 |
Для 26 1) Открывает боковую панель с загрузками. скрытый текст Выделить код Код:// Настройка функций кликов мыши для кнопки ................................................................ this.onclick = function(e) { // действие при клике ЛКМ .... if ( e.button == 0 ) { document.getElementById('sidebar-box').getAttribute('sidebarcommand') ? toggleSidebar() : openWebPanel("Downloads", downTabUrl ); }; // действие при клике СКМ .... if ( e.button == 1 ) { var windows = Components. classes ['@mozilla.org/appshell/window-mediator;1'].getService(Components. interfaces. nsIWindowMediator).getEnumerator (null); while( windows. hasMoreElements() ) { var win = windows.getNext (); if ( win.document.documentURI == "chrome://mozapps/content/downloads/downloads.xul") { win.close(); return; } }; BrowserDownloadsUI(); }; // действие при клике ПКМ .... if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { e.preventDefault(); downloadManagerInTab( true ); } }; // Объявляем переменные для этой вкладки ................................................................... var downTabUrl = 'chrome://mozapps/content/downloads/downloads.xul'; // иконки для вкладки загрузок .... const trueDownloadsImg = "data:image/x-icon;base64,AAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAWAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDAAIAAAMACyIAEGyoLtVqpyrVDSIADwAAAgABAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIAAgAAAgALHwAPZaAmwsXxnv+t63n/XpwbwAcUAA0AAAIAAQIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwADAAACAAwgAA9loyXFv+2W/7/wl/yg52b8n+Nj/1OJG8EBCAAMAAACAAECAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAECAAIAAAIADCEADmSiI8Sx4oX/suWH+7HmhP+T3FX/i9dK+5LZUv9RhxnAAQkADAAAAgABAgACAAAAAAAAAAAAAAAAAQIAAgAAAgANIQANY6Eiw6nbfP+l23f7p913/6fed/+I0kj/gs5A/37KPvuL0Ev/UIYYvwIJAAsAAAIAAQIAAgAAAAABAQABAAABAAsgAA1gnh/BoNJy/5vSa/qe1W3/odhx/5/Ybv+Cy0H/fsg8/3zFOv92vjX6g8VD/0yCFL0BCAALAAABAAABAAEAAAEACRUAEmqmKcyn2Hr/n9Ry/Z3Tbv+Yz2b/mtJp/5nRZv99xDz/ecI3/3e/Nv97wT7/e78//YvKT/9Xjhy/BAwACQAAAQAAAAEAFCkAL2CUKdxhkTDXXI4o1m+mN/KWzGb/ksth/pLLX/93vTn/croz/nm9Pf9noizyVoog1lqNJtlbkx/TDyAAHwAAAQAAAAAAAAAAAAAAAAACAwEEAAAAAD5oFqeXz2X/icFY+4rDWP9ytjX/bLEu+3/CQv8+ZxSnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAEAAQEBAQEDBAMEAAAAAEFqFqeSyV7/g7pR+4S8Uf9usDP/aKsr+3u9Pv9AaRSnAAAAAAMEAgQBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeNxVj/fbRK+3+2Sv9rqzD/ZaYo+3m5PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeJwlT/eLBF+3qyRv9qqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeHwFD/da5B+3exQv9pqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeEv03/cqw8+3WvPv9pqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeCvkn/cKs4+3OuO/9pqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAD9oE6d+vET/bKky+2+sNf9oqCv/Y6Mm+3e3Ov8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFaeDv0v/cKw5+3OvPP9vqzX/aqcx+3+8RP9AaRSnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgAEAAAAADlkCox1szT/a6Yv+W2oMPxspy78aqQt+XSyMv85ZAqMAAAAAAECAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; const falseDownloadsImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACmElEQVR42oyU3UtUQRiHn9k9c47Ho+4uhrkthmUfkHeB91GJ1paiJl0EQZd9U3f+E1EX0b8QEUQX0ScZWd0E3VhBrWJFuZuEqyLsOTtnznSxx9rSzPdq5p13nhl+729GTBXL/BUJwAFcwAZEnDdAFagAARDVb7JYHQ6QBTKsHWWgGAPXBblAZu/ubTdUQ6YnKWslWoVIv/z6zYeZ08DCRkA2QPOW7T2dXTuwLAsMhDrk03Shp77mfyABkE6laGluRgiBACJjSKXSf9T8D1RbsBJIy0IIgcGQMAYrKfhn/b9BFtKWv1sWGZKJ5LqgJNAQiyyB1hpI4ti/pYiiCEvKlWlrbIcwFt23YkgH4NWf4DV5OI4DQmCMwWiN53n1FsnF42Xgq5gqljPA9u7OjjvupmxHUypF++Z2duzsIp3O1DQyhkhr5svzFAoFSsUSy0uL6KW5z29nZkeAaSt2a/Xy2Nit8RevLmS3bJUtqRSNXiOOLX+BwlCTTmfY091NLpujNPtF5fvP3IxdrizAB2bPnjt/r21zm3g6PnHe3tQqGxwHy5KIhMBEBoTCMQalAsJqJTh18sS1oeFjD32liysaaWDRV3pydPQ4rtMQPh6fuNjouo7luiREgshEGBPhhyHzc9+DwXz/1YGh4fu+0u+ARUCvtD8EFnylJ/MDg5G0ZfT42cSlnN3peF4TRkWoasCPuWLl6OH+a4fyRx4ENUg5vsgfPgqBcqD0u96+wwYET5+/vNjWnnONiSh9+1rJ9x28cqC3/1Gg9Pt6yFqG1EC5Gur3vX2HsG2pbt+5exYDI0OD1/ftP/ikGq6GAIg1/iNik6Ydmdzl2nI3QKWqPgRKf4xfvt7oE9HAQqD0ZKB0Ic75sYv1Wht+DgB8pQ6678CoOAAAAABJRU5ErkJggg=="; /* Открывать загрузки в табе или переместить вкладку загрузок рядом с текущей вкладкой если загрузи уже открыты и закрыть все лишние вкладки загрузок ..........................................*/ function downloadManagerInTab( foregroundTab ) { setTimeout(function() { closeDownloadManager() }, 0); // закрыть стандартный менеджер загрузок // закрыть все вкладки загрузок кроме первой .... var downTab = null; Array.slice( gBrowser.tabs ).forEach(function(tab) { if ( tab.linkedBrowser.currentURI.spec !== downTabUrl ) return; !downTab ? downTab = tab : gBrowser.removeTab(tab); }) // переместить или открыть вкладку загрузок рядом с текущей вкладкой .... var selTab = gBrowser.selectedTab; if ( downTab !== selTab ) { if ( downTab && gBrowser.visibleTabs.indexOf( downTab ) == -1 ) TabView.moveTabTo( downTab, TabView._window.GroupItems._activeGroupItem.id ); downTab = downTab || gBrowser.addTab( downTabUrl ); var pos = selTab._tPos + ( downTab._tPos > selTab._tPos ); gBrowser.moveTabTo( downTab, pos ); gBrowser.selectedTab = downTab; } }; // Автоматически меняем иконку для таба "Загрузки" ......................................................... addEventListener("TabAttrModified", function(e) { if ( e.target.linkedBrowser.currentURI.spec == downTabUrl ) { var tabIndex = gBrowser.getBrowserIndexForDocument( e.target.linkedBrowser.contentDocument ); var tab = gBrowser.mTabContainer.childNodes[tabIndex]; LOG(tab.label) tab.image = ( tab.label == "Загрузки" )? falseDownloadsImg: trueDownloadsImg; } }, true, gBrowser.tabContainer); // Отслеживать все команды связные с загрузкой и запускать нужные функции и команды ........ function getCommand(e) { var command = e.target.getAttribute("oncommand"); if ( command == "performCommand('cmd_removeFromList');" || command == 'clearDownloadList();') { if ( content.document.location == downTabUrl) document.getElementById("Browser:Reload").doCommand(); if ( document.getElementById('sidebar-box').getAttribute('sidebarcommand') ) openWebPanel("Downloads", downTabUrl ); } }; addEventListener("command", getCommand, true, window); // Исправляем ошибки ....................................................................................... function setFakeArguments(e) { if ( e.target.location.href == 'chrome://mozapps/content/downloads/downloads.xul' ) { var win = e.target.defaultView; win = win.wrappedJSObject || win; win.arguments = []; } }; addEventListener("TabClose", setFakeArguments, true, gBrowser); addEventListener("DOMContentLoaded", setFakeArguments, true, gBrowser); addEventListener("DOMContentLoaded", setFakeArguments, true, document.getElementById('sidebar-box')); // Закрыть стандартный менеджер загрузок .................................................................... function closeDownloadManager() { var wm = Cc["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator); var dm = wm.getMostRecentWindow("Download:Manager"); if ( dm ) dm.close(); }; // Подсказка для кнопки ..................................................................................... this.tooltipText = "L: Download Manager in the Sidebar\nM: Download Manager \nR: Download Manager in the Tab\nCtrl+R: CB menu "; ![]() 2) Нужна кнопка, которая откроет окно загрузок (Ctrl+J). |
bunda1 > 27-12-2013 00:10:15 |
1fesFFFF пишет
А что с ней не так, вроде работает 1fesFFFF пишет
Создай кнопку с кодом: Выделить код Код:var wm = Cc["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator); var dm = wm.getMostRecentWindow("Download:Manager"); if ( dm ) dm.focus(); else BrowserDownloadsUI(); |
1fesFFFF > 27-12-2013 14:49:10 |
Спасибо!
На 26 |
bunda1 > 27-12-2013 23:32:53 |
1fesFFFF пишет
А если так: Выделить код Код:// Настройка функций кликов мыши для кнопки ................................................................ this.onclick = function(e) { // действие при клике ЛКМ .... if ( e.button == 0 ) { document.getElementById('sidebar-box').getAttribute('sidebarcommand') ? toggleSidebar() : openWebPanel("Downloads", downTabUrl ); }; // действие при клике СКМ .... if ( e.button == 1 ) { var wm = Cc["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator); var dm = wm.getMostRecentWindow("Download:Manager"); if ( dm ) dm.focus(); else BrowserDownloadsUI(); }; // действие при клике ПКМ .... if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) { e.preventDefault(); downloadManagerInTab( true ); } }; // Объявляем переменные для этой вкладки ................................................................... var downTabUrl = 'about:downloads'; // иконки для вкладки загрузок .... const trueDownloadsImg = "data:image/x-icon;base64,AAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAWAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEDAAIAAAMACyIAEGyoLtVqpyrVDSIADwAAAgABAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQIAAgAAAgALHwAPZaAmwsXxnv+t63n/XpwbwAcUAA0AAAIAAQIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAwADAAACAAwgAA9loyXFv+2W/7/wl/yg52b8n+Nj/1OJG8EBCAAMAAACAAECAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAECAAIAAAIADCEADmSiI8Sx4oX/suWH+7HmhP+T3FX/i9dK+5LZUv9RhxnAAQkADAAAAgABAgACAAAAAAAAAAAAAAAAAQIAAgAAAgANIQANY6Eiw6nbfP+l23f7p913/6fed/+I0kj/gs5A/37KPvuL0Ev/UIYYvwIJAAsAAAIAAQIAAgAAAAABAQABAAABAAsgAA1gnh/BoNJy/5vSa/qe1W3/odhx/5/Ybv+Cy0H/fsg8/3zFOv92vjX6g8VD/0yCFL0BCAALAAABAAABAAEAAAEACRUAEmqmKcyn2Hr/n9Ry/Z3Tbv+Yz2b/mtJp/5nRZv99xDz/ecI3/3e/Nv97wT7/e78//YvKT/9Xjhy/BAwACQAAAQAAAAEAFCkAL2CUKdxhkTDXXI4o1m+mN/KWzGb/ksth/pLLX/93vTn/croz/nm9Pf9noizyVoog1lqNJtlbkx/TDyAAHwAAAQAAAAAAAAAAAAAAAAACAwEEAAAAAD5oFqeXz2X/icFY+4rDWP9ytjX/bLEu+3/CQv8+ZxSnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAEAAQEBAQEDBAMEAAAAAEFqFqeSyV7/g7pR+4S8Uf9usDP/aKsr+3u9Pv9AaRSnAAAAAAMEAgQBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeNxVj/fbRK+3+2Sv9rqzD/ZaYo+3m5PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeJwlT/eLBF+3qyRv9qqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeHwFD/da5B+3exQv9pqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeEv03/cqw8+3WvPv9pqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFKeCvkn/cKs4+3OuO/9pqS7/ZKQo+3m4PP8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAD9oE6d+vET/bKky+2+sNf9oqCv/Y6Mm+3e3Ov8/aBOnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAwEEAAAAAEBpFaeDv0v/cKw5+3OvPP9vqzX/aqcx+3+8RP9AaRSnAAAAAAIDAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgAEAAAAADlkCox1szT/a6Yv+W2oMPxspy78aqQt+XSyMv85ZAqMAAAAAAECAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="; const falseDownloadsImg = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACmElEQVR42oyU3UtUQRiHn9k9c47Ho+4uhrkthmUfkHeB91GJ1paiJl0EQZd9U3f+E1EX0b8QEUQX0ScZWd0E3VhBrWJFuZuEqyLsOTtnznSxx9rSzPdq5p13nhl+729GTBXL/BUJwAFcwAZEnDdAFagAARDVb7JYHQ6QBTKsHWWgGAPXBblAZu/ubTdUQ6YnKWslWoVIv/z6zYeZ08DCRkA2QPOW7T2dXTuwLAsMhDrk03Shp77mfyABkE6laGluRgiBACJjSKXSf9T8D1RbsBJIy0IIgcGQMAYrKfhn/b9BFtKWv1sWGZKJ5LqgJNAQiyyB1hpI4ti/pYiiCEvKlWlrbIcwFt23YkgH4NWf4DV5OI4DQmCMwWiN53n1FsnF42Xgq5gqljPA9u7OjjvupmxHUypF++Z2duzsIp3O1DQyhkhr5svzFAoFSsUSy0uL6KW5z29nZkeAaSt2a/Xy2Nit8RevLmS3bJUtqRSNXiOOLX+BwlCTTmfY091NLpujNPtF5fvP3IxdrizAB2bPnjt/r21zm3g6PnHe3tQqGxwHy5KIhMBEBoTCMQalAsJqJTh18sS1oeFjD32liysaaWDRV3pydPQ4rtMQPh6fuNjouo7luiREgshEGBPhhyHzc9+DwXz/1YGh4fu+0u+ARUCvtD8EFnylJ/MDg5G0ZfT42cSlnN3peF4TRkWoasCPuWLl6OH+a4fyRx4ENUg5vsgfPgqBcqD0u96+wwYET5+/vNjWnnONiSh9+1rJ9x28cqC3/1Gg9Pt6yFqG1EC5Gur3vX2HsG2pbt+5exYDI0OD1/ftP/ikGq6GAIg1/iNik6Ydmdzl2nI3QKWqPgRKf4xfvt7oE9HAQqD0ZKB0Ic75sYv1Wht+DgB8pQ6678CoOAAAAABJRU5ErkJggg=="; /* Открывать загрузки в табе или переместить вкладку загрузок рядом с текущей вкладкой если загрузи уже открыты и закрыть все лишние вкладки загрузок ..........................................*/ function downloadManagerInTab( foregroundTab ) { setTimeout(function() { closeDownloadManager() }, 0); // закрыть стандартный менеджер загрузок // закрыть все вкладки загрузок кроме первой .... var downTab = null; Array.slice( gBrowser.tabs ).forEach(function(tab) { if ( tab.linkedBrowser.currentURI.spec !== downTabUrl ) return; !downTab ? downTab = tab : gBrowser.removeTab(tab); }) // переместить или открыть вкладку загрузок рядом с текущей вкладкой .... var selTab = gBrowser.selectedTab; if ( downTab !== selTab ) { if ( downTab && gBrowser.visibleTabs.indexOf( downTab ) == -1 ) TabView.moveTabTo( downTab, TabView._window.GroupItems._activeGroupItem.id ); downTab = downTab || gBrowser.addTab( downTabUrl ); var pos = selTab._tPos + ( downTab._tPos > selTab._tPos ); gBrowser.moveTabTo( downTab, pos ); gBrowser.selectedTab = downTab; } }; // Автоматически меняем иконку для таба "Загрузки" ......................................................... addEventListener("TabAttrModified", function(e) { if ( e.target.linkedBrowser.currentURI.spec == downTabUrl ) { var tabIndex = gBrowser.getBrowserIndexForDocument( e.target.linkedBrowser.contentDocument ); var tab = gBrowser.mTabContainer.childNodes[tabIndex]; LOG(tab.label) tab.image = ( tab.label == "Загрузки" )? falseDownloadsImg: trueDownloadsImg; } }, true, gBrowser.tabContainer); // Отслеживать все команды связные с загрузкой и запускать нужные функции и команды ........ function getCommand(e) { var command = e.target.getAttribute("oncommand"); if ( command == "performCommand('cmd_removeFromList');" || command == 'clearDownloadList();') { if ( content.document.location == downTabUrl) document.getElementById("Browser:Reload").doCommand(); if ( document.getElementById('sidebar-box').getAttribute('sidebarcommand') ) openWebPanel("Downloads", downTabUrl ); } }; addEventListener("command", getCommand, true, window); // Закрыть стандартный менеджер загрузок .................................................................... function closeDownloadManager() { var wm = Cc["@mozilla.org/appshell/window-mediator;1"].getService(Ci.nsIWindowMediator); var dm = wm.getMostRecentWindow("Download:Manager"); if ( dm ) dm.close(); }; // Подсказка для кнопки ..................................................................................... this.tooltipText = "L: Download Manager in the Sidebar\nM: Download Manager \nR: Download Manager in the Tab\nCtrl+R: CB menu "; |
1fesFFFF > 28-12-2013 09:30:24 |
bunda1 |
Mishania > 07-01-2014 13:59:51 |
Всех с Праздником! Вот какой вопрос у меня. Делал умный человек мне кнопку для поиска скриптов на сайте userscripts.org скрытый текст /*CODE*/ url=getBrowser().currentURI.spec; domen = url.split(/\/+/g)[1]; getBrowser (). selectedTab = getBrowser (). addTab ("https://userscripts.org/scripts/search?q=" + domen +"&submit=Search"); Хочу для своих нужд переделать, только чтоб брался не весь адрес, а часть после последнего слеша. скрытый текст http://www.хххххххх.хх/хххх/вот эта часть Что-то пытался поменять, но проще спросить. Спасибо. |
Чайник > 07-01-2014 22:30:16 |
Mishania пишет
Не совсем понятно сформулировано - что нужно? скрытый текст Выделить код Код:url = content.document.location.href; adr=(url.substring(url.indexOf('/')+2)); getBrowser().selectedTab = getBrowser().addTab("https://userscripts.org/scripts/search?q=" + adr +"&submit=Search"); |
Mishania > 07-01-2014 22:51:07 |
Чайник скрытый текст название сайта не важно, важно именно последний блок адреса и чтоб открывалось в новой фоновой вкладке. |
Ki_rrrilll > 08-01-2014 15:35:44 |
А как сделать, чтобы в кнопке Proxy( Firefox 10 + ) от 11.12.2013 можно было создать прокси из выделения и в текстовых полях? Выделить код Код:// устанавливаем где показывать пункт меню addEventListener("popupshowing", function() { menuitem.hidden = !cbu.getPrefs("Proxy.inContextMenu") || !gContextMenu.isContentSelected; }, false, contextMenu ); закомментировать || !gContextMenu.isContentSelected но тогда пункт "Добавить прокси" висит в меню постоянно. Оно и понятно. Не сильно это мешает, но может можно сделать все это менее топорным способом? |
bunda1 > 08-01-2014 20:09:16 |
Замени: на: |
Ki_rrrilll > 08-01-2014 20:21:06 |
Спасибо, bunda1! |
toxa > 09-01-2014 23:30:20 |
Я хочу подсчитать (просто для иллюстрации) количество слов Members на этой странице Выделить код Код:goDoCommand('cmd_selectAll'); goDoCommand('cmd_copy'); goDoCommand('cmd_selectNone'); text = readFromClipboard(); // должен получиться весь текст страницы; x = text.length - text.replace(/Members/g, '').length // сравниваю текст страницы до и после удаления всех вхождений Members alert(x) Я сравниваю свой результат со счётчиком совпадений кнопки Find |
Infocatcher > 10-01-2014 00:08:06 |
toxa |
toxa > 10-01-2014 00:57:39 |
Infocatcher пишет
Ну да, это если искать слово, то конечно. |
Infocatcher > 10-01-2014 01:18:18 |
toxa |
feas > 28-01-2014 21:45:40 |
Столкнулся с багом дублирования кода. Версия 0.0.5.7 Список расширений Mozilla SeaMonkey 2.23 (build 20131210201652) User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:26.0) Gecko/20100101 SeaMonkey/2.23 *** Расширения ( Включено: 18, Отключено: 0, Всего: 18 ) *** Внешний вид ( Включено: 1, Отключено: 2, Всего: 3 ) *** Словари ( Включено: 0, Отключено: 0, Всего: 0 ) *** Языки ( Включено: 0, Отключено: 0, Всего: 0 ) *** Плагины ( Включено: 5, Отключено: 0, Всего: 5 ) *** Стили ( Включено: 3, Отключено: 0, Всего: 3 ) *** User Scripts ( Включено: 0, Отключено: 0, Всего: 0 ) *** Кнопки ( Включено: 22, Отключено: 0, Всего: 22 ) |
lokiju > 28-01-2014 22:10:21 |
feas |
feas > 28-01-2014 22:14:18 |
lokiju пишет
ммм Ясно - благодарю. |
MySh > 29-01-2014 02:18:12 |
feas
Есть такая проблема. Но по средней кнопке мыши работает вроде нормально. Тут ещё, как я понимаю, может от системы зависеть. Возможно, поможет изменение параметров middlemouse.contentLoadURL и middlemouse.paste. |
bunda1 > 29-01-2014 21:32:19 |
feas пишет
Кажется это баг Custom Buttons 0.0.5.7pre3, вот тут 24-01-2014 22:24:59 почитай под спойлером что пишет Dumby про это. Надо жаловатся автору Custom Buttons. |
SendInfo > 30-01-2014 04:48:11 |
bunda1 пишет
Если глючат все кнопки , то да баг СВ, а если глючат некоторые lokiju пишет
|
2k1dmg > 30-01-2014 09:09:43 |
http://forum.mozilla-russia.org/viewtop … 02#p636502 добавлен из-за |
feas > 30-01-2014 16:39:54 |
SendInfo пишет
Глючит много кнопок, практически все в инициализации. 2k1dmg пишет
Кстати в кнопке http://forum.mozilla-russia.org/viewtopic.php?id=51861 он есть Мда не выходит. |
lokiju > 30-01-2014 17:26:55 |
feas пишет
У меня из 35-ти кнопок глючат точно на |
bunda1 > 30-01-2014 21:41:25 |
feas пишет
Можно все эти коды + мой Context Search закинуть в одну кнопку в начале которой поставить: И все дела. lokiju пишет
Такой же совет. |
lokiju > 30-01-2014 22:02:55 |
bunda1 пишет Спасибо. |
Dumby > 30-01-2014 22:49:29 |
lokiju пишет
Если речь об этой, то может попробуй скрытый текст Выделить код Код://const root = n("tabContextMenu"); const root = document.getAnonymousElementByAttribute(gBrowser, "anonid", "tabContextMenu"); |
lokiju > 30-01-2014 23:16:58 |
Dumby нет. Эта на Эта Выделить код Код:/*Initialization Code*/ //seamonkey if ( self.hasAttribute("stop") ) return; self.setAttribute("stop", "true"); //Копировать информацию вкладки (function() { var htmlEscape = function(s) { s = s.replace(/&/g, "&"); s = s.replace(/>/g, ">"); s = s.replace(/</g, "<"); s = s.replace(/"/g, """); return s; }; var copyTabInfo = function (aAsHTML) { var tab = document.popupNode; var title = tab.label; var url = gBrowser.getBrowserForTab(tab).contentWindow.location.href; var txt = aAsHTML ? '<a href="' + htmlEscape(url) + '">' + htmlEscape(title) + '</a>' : title + "\n" + url; Cc["@mozilla.org/widget/clipboardhelper;1"] .getService(Ci.nsIClipboardHelper) .copyString(txt); }; var copyTabBBC = function (aAsBBC) { var tab = document.popupNode; var title = tab.label; var url = gBrowser.getBrowserForTab(tab).contentWindow.location.href; var txt = aAsBBC ? '[url=' + htmlEscape(url) + ']' + htmlEscape(title) + '[/url]' : title + "\n" + url; Cc["@mozilla.org/widget/clipboardhelper;1"] .getService(Ci.nsIClipboardHelper) .copyString(txt); }; var menuitem1 = document.createElement("menuitem"); menuitem1.setAttribute("label", "Копировать название + URL"); menuitem1.addEventListener("command", function() { copyTabInfo(false); }, false); var menuitem2 = document.createElement("menuitem"); menuitem2.setAttribute("label", "Копировать название + URL (HTML)"); menuitem2.addEventListener("command", function() { copyTabInfo(true); }, false); var menuitem3 = document.createElement("menuitem"); menuitem3.setAttribute("label", "Копировать название + URL (BBCode)"); menuitem3.addEventListener("command", function() { copyTabBBC(true); }, false); setTimeout(function() { gBrowser.mStrip.childNodes[1].appendChild(document.createElement("menuseparator")); gBrowser.mStrip.childNodes[1].appendChild(menuitem1); gBrowser.mStrip.childNodes[1].appendChild(menuitem2); gBrowser.mStrip.childNodes[1].appendChild(menuitem3); }, 0); })(); с правкой от bunda1 нормально работает. |
feas > 30-01-2014 23:29:49 |
Спасибо |
Pony_Smile_Pack > 05-02-2014 16:33:11 |
bunda1, поправь пожалуйста Find (№112) 05-02-2014 16:33:48 |
bunda1 > 05-02-2014 23:08:18 |
Pony_Smile_Pack пишет
Пытаюсь ! |
bunda1 > 06-02-2014 23:57:44 |
Pony_Smile_Pack пишет
Вот Dumby исправил для FF27: Выделить код Код: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%3EFind%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%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%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%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20....................%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%0A%20%20%20%20//%20%u0434%u0435%u0439%u0441%u0442%u0432%u0438%u0435%20%u043F%u0440%u0438%20%u043A%u043B%u0438%u043A%u0435%20%u0421%u041A%u041C%20....%0A%20%20%20%20if%20%28e.button%20%3D%3D%201%29%20%7B%20gShowPopup%28this%29%3B%20return%3B%20%7D%0A%0A%20%20%20%20//%20%u0434%u0435%u0439%u0441%u0442%u0432%u0438%u0435%20%u043F%u0440%u0438%20%u043A%u043B%u0438%u043A%u0435%20%u041B%u041A%u041C%20%u0438%u043B%u0438%20%u041F%u041A%u041C%20....%0A%20%20%20%20var%20str%20%3D%20getSelect%28%29%3B%0A%20%20%20%20if%20%28%21str%29%20return%3B%0A%20%20%20%20var%20fastFind%20%3D%20gBrowser.finder._fastFind%3B%0A%0A%20%20%20%20fastFind.find%28str%2C%20false%29%20%3D%3D%20fastFind.FIND_FOUND%0A%20%20%20%20%3F%20fastFind.findAgain%28e.button%2C%20false%29%0A%20%20%20%20%3A%20disableIcon%28%29%3B%0A%20%20%20%20%0A%20%20%20%20//%20%u0411%u043B%u043E%u043A%u0438%u0440%u0443%u0435%u043C%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043D%u043E%u0435%20%u043C%u0435%u043D%u044E%20%u043F%u0440%u0438%20%u043A%u043B%u0438%u043A%u0435%20%u041F%u041A%u041C%20%u0431%u0435%u0437%20%u043C%u043E%u0434%u0438%u0444%u0438%u043A%u0430%u0442%u043E%u0440%u043E%u0432%20....................%0A%20%20%20%20if%20%28e.button%20%3D%3D%202%29%20%7B%0A%20%20%20%20%20%20%20%20if%20%28e.ctrlKey%20%7C%7C%20e.shiftKey%20%7C%7C%20e.altKey%20%7C%7C%20e.metaKey%29%20return%3B%0A%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%7D%0A%7D%3B%0Athis.ondblclick%20%3D%20function%28e%29%20e.button%20%21%3D%202%3B%0A%0A%0A//%20%u0412%u0440%u0435%u043C%u0435%u043D%u043D%u043E%20%u043E%u0442%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u0438%u043A%u043E%u043D%u043A%u0443%20%u043A%u043D%u043E%u043F%u043A%u0438%20....................%20%20%0Afunction%20disableIcon%28%29%20%7B%0A%20%20%20self.style.filter%20%3D%20%27url%28%22chrome%3A//mozapps/skin/extensions/extensions.svg%23greyscale%22%29%27%3B%0A%20%20%20setTimeout%28function%28%29%20%7B%20self.style.filter%20%3D%20%27%27%20%7D%2C%20600%29%0A%7D%3B%0A%0A%0A//%20%u041F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u0437%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0438%u043B%u0438%20%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u043E%u0431%u043C%u0435%u043D%u0430%2C%20%u0435%u0441%u043B%u0438%20%u043D%u0435%u0442%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u043F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%27false%27%20................................%0Afunction%20getSelect%28%29%20%7B%0A%20%20%20var%20sel%20%3D%20document.commandDispatcher.focusedWindow.getSelection%28%29.toString%28%29%3B%20//%20%u0438%u0437%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%0A%20%20%20if%20%28%20sel%20%3D%3D%20%27%27%20%29%20%7B%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0A%20%20%20%20%20%20%20%20if%20%28%20theBox%20%26%26%20%28theBox.type%20%3D%3D%20%22text%22%20%7C%7C%20theBox.type%20%3D%3D%20%22textarea%22%29%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20var%20startPos%20%3D%20theBox.selectionStart%3B%0A%09%20%20%20%20%20var%20endPos%20%3D%20theBox.selectionEnd%3B%0A%09%20%20%20%20%20var%20sel%20%3D%20theBox.value.substring%28startPos%2C%20endPos%29%3B%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%20%0A%20%20if%20%28%20sel%20%3D%3D%20%27%27%20%29%20var%20sel%20%3D%20gClipboard.read%28%29%3B%20//%20%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u043E%u0431%u043C%u0435%u043D%u0430%0A%20%20if%20%28%20sel%20%3D%3D%20%27%27%20%29%20Cc%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Ci.nsIAlertsService%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.showAlertNotification%28%20self.image%2C%20self.label%2C%20%22%u0412%u044B%u0434%u0435%u043B%u0438%u0442%u0435%20%u0438%u043B%u0438%20%u0441%u043A%u043E%u043F%u0438%u0440%u0443%u0439%u0442%u0435%20%u0442%u0435%u043A%u0441%u0442%21%22%2C%20false%2C%20%22%22%2C%20null%2C%20%22%22%20%29%3B%0A%20%20%0A%20%20return%20%28%20sel%20%3D%3D%20%27%27%20%29%20%3F%20false%20%3A%20sel.toString%28%29.replace%28/%5E%5Cs+%7C%5Cs+%24/g%2C%22%22%29%3B%20//%20%u0443%u0431%u0438%u0440%u0430%u0435%u043C%20%u043F%u0440%u043E%u0431%u0435%u043B%u044B%20%u0441%20%u043A%u043E%u043D%u0446%u043E%u0432%20%u0442%u0435%u043A%u0441%u0442%u0430%0A%7D%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....................%0Athis.tooltipText%20%3D%20%22%u041B%3A%20%u0418%u0441%u043A%u0430%u0442%u044C%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%u0430/%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u0434%u0430%u043B%u0435%u0435%20%5Cn%u0421%3A%20CB%20%u041C%u0435%u043D%u044E%20%5Cn%u041F%3A%20%u0418%u0441%u043A%u0430%u0442%u044C%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%u0430/%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u043D%u0430%u0437%u0430%u0434%22%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B%0A%0A%0A%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%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E |
Pony_Smile_Pack > 07-02-2014 00:27:52 |
bunda1 пишет
Спасибо. |
bunda1 > 07-02-2014 21:46:46 |
Pony_Smile_Pack Выделить код Код: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%3EFind%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%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%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%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20....................%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%0A%20%20%20%20//%20%u0434%u0435%u0439%u0441%u0442%u0432%u0438%u0435%20%u043F%u0440%u0438%20%u043A%u043B%u0438%u043A%u0435%20%u0421%u041A%u041C%20....%0A%20%20%20%20if%20%28e.button%20%3D%3D%201%29%20%7B%20gShowPopup%28this%29%3B%20return%3B%20%7D%0A%0A%20%20%20%20//%20%u0411%u043B%u043E%u043A%u0438%u0440%u0443%u0435%u043C%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043D%u043E%u0435%20%u043C%u0435%u043D%u044E%20%u043F%u0440%u0438%20%u043A%u043B%u0438%u043A%u0435%20%u041F%u041A%u041C%20%u0431%u0435%u0437%20%u043C%u043E%u0434%u0438%u0444%u0438%u043A%u0430%u0442%u043E%u0440%u043E%u0432%20....................%0A%20%20%20%20if%20%28e.button%20%3D%3D%202%29%20%7B%0A%20%20%20%20%20%20%20%20if%20%28e.ctrlKey%20%7C%7C%20e.shiftKey%20%7C%7C%20e.altKey%20%7C%7C%20e.metaKey%29%20return%3B%0A%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20//%20%u0434%u0435%u0439%u0441%u0442%u0432%u0438%u0435%20%u043F%u0440%u0438%20%u043A%u043B%u0438%u043A%u0435%20%u041B%u041A%u041C%20%u0438%u043B%u0438%20%u041F%u041A%u041C%20....%0A%20%20%20%20var%20str%20%3D%20getSelect%28%29%3B%0A%20%20%20%20if%20%28%21str%29%20return%3B%0A%20%20%20%20var%20fastFind%20%3D%20gBrowser.finder._fastFind%3B%0A%0A%20%20%20%20fastFind.find%28str%2C%20false%29%20%3D%3D%20fastFind.FIND_FOUND%0A%20%20%20%20%3F%20fastFind.findAgain%28e.button%2C%20false%29%0A%20%20%20%20%3A%20disableIcon%28%29%3B%0A%7D%3B%0Athis.ondblclick%20%3D%20function%28e%29%20e.button%20%21%3D%202%3B%0A%0A%0A//%20%u0412%u0440%u0435%u043C%u0435%u043D%u043D%u043E%20%u043E%u0442%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u0438%u043A%u043E%u043D%u043A%u0443%20%u043A%u043D%u043E%u043F%u043A%u0438%20....................%20%20%0Afunction%20disableIcon%28%29%20%7B%0A%20%20%20self.style.filter%20%3D%20%27url%28%22chrome%3A//mozapps/skin/extensions/extensions.svg%23greyscale%22%29%27%3B%0A%20%20%20setTimeout%28function%28%29%20%7B%20self.style.filter%20%3D%20%27%27%20%7D%2C%20600%29%0A%7D%3B%0A%0A%0A//%20%u041F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u0437%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0438%u043B%u0438%20%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u043E%u0431%u043C%u0435%u043D%u0430%2C%20%u0435%u0441%u043B%u0438%20%u043D%u0435%u0442%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u043F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%27false%27%20................................%0Afunction%20getSelect%28%29%20%7B%0A%20%20%20var%20sel%20%3D%20document.commandDispatcher.focusedWindow.getSelection%28%29.toString%28%29%3B%20//%20%u0438%u0437%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%0A%20%20%20if%20%28%20sel%20%3D%3D%20%27%27%20%29%20%7B%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20theBox%20%3D%20document.commandDispatcher.focusedElement%3B%0A%20%20%20%20%20%20%20%20if%20%28%20theBox%20%26%26%20%28theBox.type%20%3D%3D%20%22text%22%20%7C%7C%20theBox.type%20%3D%3D%20%22textarea%22%29%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20var%20startPos%20%3D%20theBox.selectionStart%3B%0A%09%20%20%20%20%20var%20endPos%20%3D%20theBox.selectionEnd%3B%0A%09%20%20%20%20%20var%20sel%20%3D%20theBox.value.substring%28startPos%2C%20endPos%29%3B%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%20%0A%20%20if%20%28%20sel%20%3D%3D%20%27%27%20%29%20var%20sel%20%3D%20gClipboard.read%28%29%3B%20//%20%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u043E%u0431%u043C%u0435%u043D%u0430%0A%20%20if%20%28%20sel%20%3D%3D%20%27%27%20%29%20Cc%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Ci.nsIAlertsService%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.showAlertNotification%28%20self.image%2C%20self.label%2C%20%22%u0412%u044B%u0434%u0435%u043B%u0438%u0442%u0435%20%u0438%u043B%u0438%20%u0441%u043A%u043E%u043F%u0438%u0440%u0443%u0439%u0442%u0435%20%u0442%u0435%u043A%u0441%u0442%21%22%2C%20false%2C%20%22%22%2C%20null%2C%20%22%22%20%29%3B%0A%20%20%0A%20%20return%20%28%20sel%20%3D%3D%20%27%27%20%29%20%3F%20false%20%3A%20sel.toString%28%29.replace%28/%5E%5Cs+%7C%5Cs+%24/g%2C%22%22%29%3B%20//%20%u0443%u0431%u0438%u0440%u0430%u0435%u043C%20%u043F%u0440%u043E%u0431%u0435%u043B%u044B%20%u0441%20%u043A%u043E%u043D%u0446%u043E%u0432%20%u0442%u0435%u043A%u0441%u0442%u0430%0A%7D%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....................%0Athis.tooltipText%20%3D%20%22%u041B%3A%20%u0418%u0441%u043A%u0430%u0442%u044C%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%u0430/%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u0434%u0430%u043B%u0435%u0435%20%5Cn%u0421%3A%20CB%20%u041C%u0435%u043D%u044E%20%5Cn%u041F%3A%20%u0418%u0441%u043A%u0430%u0442%u044C%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%u0430/%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u043D%u0430%u0437%u0430%u0434%22%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B%0A%0A%0A%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%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E |
Pony_Smile_Pack > 07-02-2014 22:55:16 |
bunda1 пишет
Спасибо. |
middim > 05-03-2014 19:46:59 |
Можно сделать кнопку "Обновить все вкладки" |
bunda1 > 05-03-2014 22:19:07 |
middim пишет
Выделить код Код: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%u041E%u0431%u043D%u043E%u0432%u0438%u0442%u044C%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAEAwMACQUDAwAAAAI4HQwAwWgyMrNpPLC0Xh3Ttl4S0LdhFNC2YRXTslgar7QxAzIzCAAAAAABAQgDAAMDAgAAAgEBAQAAAAA/IhAfnVIseLhjLM3DdRPqzoMJ8tiQD/LenCby3Z878tONNOrBZRrNmUEUdzsXCx4AAAAAAgEAAX9oWARhQzEanVEhktl3H/TKewf+3I8A/+GVAP/lnQH/6qsa//C6P//1w0z/6bdL/umPM/SeSRCQUysAGWRFAgTss5IA2YpjfMJwLvfIghr/1o0L9tKCB/3OiCD+zZM8/s+dT/7Wp17+5LZk/fbGWfbquEn/1Icl9sRgA3u5XwAAunxjMLhvSMbRijD/36lM9s2XY//CfUz/xZ6V/8u8wv/Pw8f/zbzC/82uov/hs2n/+ctd9u26Tf+5ZBzGmSkCL8uagbDJhkTp3JUc/+i9Yv3dzrz/2s7N/+He3//k5uX/4+Hd/+Pf2f/i3NX/3cSr/+3Fav31xEX/1pEt6bVgFK/DgjvY0ZNE8+apQf/txHj+7ebc/+/y9//s7Oz/5dbM/+G8f//frUP/3a1f/920fv/ntlL+87wp/9+eGPPAcQTXx4Aj09meTfPptWP/7cmM/vXt4P/9//7//f///+7Zw//mvoP/6sWF/+vLn//v2Lv/6bx7/uqqH//elwDzxngB09GNKtPep2Dz6r58/+vHjf7r0br/6tC6/+zQsP/fsX7/37qe//Pu9P/9/v///////+zHqP7lpDn/3pkO8s2CD9Dcn0nY4axs8+rBhf/sx43+5L+d/9y0lP/Xp2//051s/9++rf/18fH////////////v0K7+57Jq/+GjPPLRhQjQ6cCVsOOqZunnt3P/79Cf/fLYtf/58e3/9vDy//fz8//9/Pz////+//78+f///v3/8+DC/uu/gf/hozry1JAA0uPAlzDfqWnG5bR2/+3Lmvbuzpz/9eHG//z27v///////v37//nu3//y27n/89u6//HZuvzosFT/36A29N2+leH+/+oA/9+jfOupTvfdqmH/7c2e9vDTpP3y2a3+8ty2/vHZsv7u0KD+7MqR/u3MnPvluXn52JlD/+W/jtf///9wkpeHBHdqUhrHlESS/8dl9OKxcv7pu3z/68OT/+zHmf/sxZL/68OM/+i7fP/hqVH/8qdB7//qrtjd4dp0hoB+CgMCAQEAAAAAUkQtH8uiYXjnr2LN5K9t6uWyYPLms1jy5a9T8eWwXPPms3Py67Ne5a58O4u6pIs1hIWCDgAAAAAEBAQACwkHAwAAAAFJPSoA/dSZNOi/hrDdnxbU2pMA0tiRAM/blw/W6rt40f/sz4xMSEMeAAAAAAgIBwQEBAQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%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%20%u041D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0444%u0443%u043D%u043A%u0446%u0438%u0439%20%u043A%u043B%u0438%u043A%u043E%u0432%20%u043C%u044B%u0448%u0438%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20...............................................%0Athis.onclick%20%3D%20function%28e%29%20%7B%0A%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20BrowserReload%28%29%3B%20//%20%u041B%u041A%u041C%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%201%20%29%20gShowPopup%28this%29%3B%20//%20%u0421%u041A%u041C%20%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%202%20%26%26%20%21e.ctrlKey%20%26%26%20%21e.shiftKey%20%26%26%20%21e.altKey%20%26%26%20%21e.metaKey%20%29%20%7B%20//%20%u041F%u041A%u041C%0A%20%20%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20gBrowser.reloadAllTabs%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%7D%3B%0A%0Athis.tooltipText%20%3D%20%22%u041B%3A%20%u041E%u0431%u043D%u043E%u0432%u0438%u0442%u044C%20%u0442%u0435%u043A%u0443%u0449%u0443%u044E%20%u0432%u043A%u043B%u0430%u0434%u043A%u0443%20%5Cn%u0421%3A%20CB%20%u041C%u0435%u043D%u044E%20%5Cn%u041F%3A%20%u041E%u0431%u043D%u043E%u0432%u0438%u0442%u044C%20%u0432%u0441%u0435%20%u0432%u043A%u043B%u0430%u0434%u043A%u0438%22%3B%0A%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E |
vit0149 > 22-03-2014 08:57:17 |
Всем привет!Я новичёк прошу сильно не ругаться,хочу узнать есть-ли расширение типа Tab_Position_Customizer_RU_2.5 как в Chome,надо,чтоб вкладка открывалась последняя,а при закрытии фокусировалась из которой была открыта,кроме Tab Mix Plus.Спасибо. |
bunda1 > 22-03-2014 11:53:39 |
vit0149 пишет
В этой теме просят сделать или исправить Сustom Buttons кнопки а не расширения. |
feas > 29-04-2014 08:01:00 |
https://forum.mozilla-russia.org/viewto … 19#p649119 |
etoins srldu > 29-04-2014 17:29:46 |
feas пишет
Что за кнопка закладок, id у неё какой? |
feas > 29-04-2014 19:46:04 |
etoins srldu пишет
звездочку. |
rgdru > 01-05-2014 20:32:56 |
Престала работать кнопка в FF29 https://forum.mozilla-russia.org/viewto … 70#p626370 |
Uxapb > 01-05-2014 21:55:46 |
bunda1, почините плз под 29 [CB]Искать страницу в кэше Google или на Archive.org |
MDM > 01-05-2014 23:06:26 |
Кнопки, помещенные в новое меню Firefox 29, не инициализируются, пока не откроешь это меню. Кто-нибудь в курсе, это чинится? |
etoins srldu > 02-05-2014 19:31:03 |
Uxapb пишет
Куда ты хочешь переместить подменю Искать страницу? |
Uxapb > 02-05-2014 21:51:22 |
etoins srldu пишет
В Инструменты, в самый низ. |
etoins srldu > 02-05-2014 22:06:45 |
Uxapb пишет
Выделить код Код:// Добавить новый пункт "Искать страницу" в меню kнопки ................................ (function () { var img = "data:image/x-icon;base64,AAABAAEAEhAAAAEAGADoAwAAFgAAACgAAAASAAAAIAAAAAEAGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADx9vm0y9y40OC50OG40OG40OG40OG40OG40OG40d68z+yuz8a34qYAAAAAAAAAAAAAAAAEkQAAANLl9Dya11Oo2Eqg0kyh00uh0kqg0kyf0kqgzkqYzz2MrRexIxfFA6PhpQAAAAAAAAAAAASRAAAA1Of4Sq3rXKLUYqjeYajeY6vgZq7kYqrcYaHYSoasI7wsMPMqLu8yHdUdrOCqAAAAAAAABJEAAADU5/dGp+VireB4xfx2xPpyvvNprt5ss+pgpcsmwjct8iYz7DU17DM58zcl2SSu464AAAAEkQAAANTo+Eio5mOr33XA93bE+WWs3HOu0V6jyS6+PWvwXHPvdUDuQDfuNWryaXXwdDLOM7DnsQSRAAAA1Oj4RqfmZK3gesj8dsX4d8f5e8n7arncPbNzKKNMZdtiX/dfR/FDl/KWWMNYe9R7v+u/BJEAAADW5/hFqOZ0uuKc3PiU1/aU2PaV1/SU1fGZxv9aop1a21d2+3Vg9WSW8peA04EAAAAAAAAEkQAAANTm9kuv63TD8Gy46W+76m666m+762286W+z5ziVh2fYXLr7ran2npXolm/ObgAAAAAAAASRAAAA1Ob3SaznWqPSXanZXanZXqvaYa3eYKzbXqbZUKW0R8JpPbZzRbp4a81oo+CjAAAAAAAABJEAAADV5/hGqOVmteOA1f990v980fx0xe91zfl/2f9/1/+d3Pxgt/Jsvv8AAAAAAAAAAAAAAAAEkQAAANTn90eq5WW14nzS/X3U/2q34XazzHvG73bP/XnS/ZLb9F225Wq+8QAAAAAAAAAAAAAAAASRAAAA0+f3SKrlZbfletX/edH/d9D9gtv+gdn/etT/edf/lN36W7foa772AAAAAAAAAAAAAAAABJEAAADW6PhEqOd/wOCk5PqX2/ea3viY3PeY3faZ3/ia3/ig2/Rctelsv/cAAAAAAAAAAAAAAAAEkQAAAM/k9kuv6nnE63O/7XPA7XPA7nTA7XXA7XO/7XTA7HK+7GnC8Ge79QAAAAAAAAAAAAAAAASRAAAA3u34ccDvoOb8n+P7oOT8oOT8oOT8oOT8oeT8n+T8pOf9jdn5jMn1AAAAAAAAAAAAAAAABJEAAAAAAADB4vtRtvRbv/dZvvZZvvZavvdavvZavvZcwPZXvfZ3w/YAAAAAAAAAAAAAAAAAAAAEkYADwEGAAcBBgADAQYAAQEGAAABBgAAAQYAAwEGAAMBBgADAQYADwEGAA8BBgAPAQYADwEGAA8BBgAPAQcAHwEE="; var menu = document.createElement("menu"); menu.setAttribute("label", "Искать страницу"); menu.setAttribute("class", "menu-iconic"); menu.setAttribute("image", img ); menu.onmouseout = function() { menu.removeAttribute('_moz-menuactive') }; var array = [ ["в кэше Google", function() gBrowser.selectedTab = gBrowser.addTab('http://www.google.com/search?q=cache:' + content.location) ], ["на Archive.org", function() gBrowser.selectedTab = gBrowser.addTab('http://web.archive.org/web/' + content.location) ], //["separator"], ]; var menuPopup = document.createElement("menupopup"); menuPopup.onmouseover = function() { menu.setAttribute('_moz-menuactive', 'true') }; array.forEach(function( m ) { if ( m[0] == "separator" ) { menuPopup.appendChild( document.createElement("menuseparator") ); return }; var menuItem = document.createElement("menuitem"); menuItem.setAttribute("label", m[0] ); menuItem.addEventListener("command", m[1] ); menuPopup.appendChild( menuItem ); }); menu.appendChild( menuPopup ); var toolsMenu = document.getElementById("menu_ToolsPopup"); toolsMenu.appendChild( menu ); addDestructor(function() toolsMenu.removeChild( menu ) ); })(); 02-05-2014 22:08:38 okkamas_knife пишет
Тоже можно. |
difabor > 02-05-2014 23:58:27 |
etoins srldu пишет
Я поставил подменю в таб контекст меню (вместо menu_ToolsPopup поставил tabContextMenu) - работает. |
Dumby > 03-05-2014 09:57:36 |
rgdru пишет
У меня не перестала MDM пишет
№30. скрытый текст Выделить код Код:(function() { if (gBrowser.currentURI.spec == "about:customizing") return; var observer = {}; observer.observe = function(subject, topic, data) { var id = data.split(":")[1]; if (topic.endsWith("cloneButton")) { var {area, position} = CustomizableUI.getPlacementOfWidget(id); CustomizableUI.addWidgetToArea(subject.id, area, position + 1); } else CustomizableUI.removeWidgetFromArea(id); } const topicRemove = custombuttons.notificationPrefix + "removeButton"; const topicClone = custombuttons.notificationPrefix + "cloneButton"; Services.obs.addObserver(observer, topicRemove, false); Services.obs.addObserver(observer, topicClone , false); addDestructor(function() { Services.obs.removeObserver(observer, topicRemove); Services.obs.removeObserver(observer, topicClone); }); var panel = document.getElementById("PanelUI-popup"); if (!panel.hidden) return; for(var toolbar of document.getElementsByTagName("toolbar")) { if (!toolbar.hasOwnProperty("overflowable")) continue; var func = toolbar.overflowable.onOverflow; toolbar.overflowable.onOverflow = function() { func.apply(this, arguments); this._list._localName = this._list.localName; this._list.__defineGetter__("localName", function() arguments.callee.caller == custombutton.buttonConstructor ? "toolbar" : this._localName ); setTimeout(function(overflowable) { overflowable._panel.hidden = false; overflowable.onOverflow = func; }, 0, this); } } var btn = document.getElementById("PanelUI-menu-button"); panel.addEventListener("popupshown", function hideMenu(e) { this.removeEventListener(e.type, hideMenu, false); btn.click(); // Hides menu setTimeout(function() panel.collapsed = false, 0); }, false); panel.collapsed = true; btn.click(); // Opens menu })(); difabor пишет
Попробуй на TabContextMenu.contextTab.linkedBrowser.currentURI.spec |
rgdru > 03-05-2014 10:54:17 |
difabor > 03-05-2014 16:04:34 |
Dumby пишет
Спасибо огромное! Работает как надо!!! |
MDM > 03-05-2014 16:13:59 |
Dumby пишет
Спасибо. Работает и ладно. |
Dumby > 04-05-2014 10:17:14 |
rgdru пишет
Попробуй замену. Рестарт. скрытый текст Выделить код Код: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%3ECompact%20Menu%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBEAAAEAIACsBAAAFgAAACgAAAAQAAAAIgAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAMSAAcROg8hOGEvQV1hL0JdOQ4iOBIABxH7+/uBqKioqv7+/oAAAAAAAAAAAAAAAAAAAAAAAAAAAREABhB6PEx23HZ32+uLe/7rfGv/63tr/+uKev7vv7/tp52g10BAQP6vr6+z////fwAAAAAAAAAAAAAAAR0CEB3AaHK/629j/+FbVP/bUU7/10xK/9ZLSv/sp6X/26mm/0BAQP9AQED/QEBA/9jY2KH///9/AAAAAA8ABQ+6X22+1UpK/8Y2P/+8KDX/tB0v/6sZKf+uGCz/1pae/0BAQP9AQED/QEBA/0BAQP9AQED+8fHxkQAAAAJ0M0hzxz1G/7AYLv+lDCX/ng0b/5APD/+FFgL/1Zid/3BfYf9AQED/QEBA/0BAQP9AQED/QEBA/25ubtgPAAUPt0dc2KULJf+pFCb/tygu/7w1L/+FGAH/nSsW/8OSjf+gf3//qIKB/9aTlf/Vi5P/0YSR/9yosuzw7/CHMAobMLw2Sf60Iyz/xD41/9NSPv/cYUT/0188/+VwSf/IWzj/WhID/0kFAP9zGhT/yEM4/7grL/+9Okn+Nw0fNFYoOVLAOT3/zEg6/9xhRP/qdUv/64RR/+uNVf/rk1f/65NX/9t1Q/9mGQD/YhcE/9NeP//RTz3/xEA//1wsPVlWKDhR01dI/+BnRv/rf0//65JX/+ugXP/rqV7/661g/+utYf/McDH/gS4C/4UyD//CXjX/5G5I/9hdSf9dLD5YMAoaMOp+Zf7rgE//65dZ/+upX//rtGP/671n/+vBaP/rslz/rk4K/51CBf/rjUf/64RI/+uBTf/rhGf+NQweNA4ABg7Tdm3X65NY/+uqX//rumX/68Rq/+vMbf/r0G//68pn/+u+X//cgTD/67hi/+uuYf/rmlr/2Hxv2REABhAAAAACdTlIceudYP/rrV7/66xW/+vMbf/r03D/69Zw/+vVcP/r1HD/68tr/9x+Pv/rkUz/66xo/3Y7SXMAAAACAAAAAA8ABQ+2Z2O70WIX/+uEIf/rvVb/68JY/+vPbf/rsUn/68FX/+uVRf+dNBL/zGw0/8h7dL0PAAUPAAAAAAAAAAAAAAABHAEPHL5qWrzrr0r/69CA/+vQgf/r3qv/696r/+vNgP/rrnb/rEgo/6VXW70dAg8cAAAAAQAAAAAAAAAAAAAAAAAAAAEPAAUPdztFceiUcNjrz47+69yw/+vUmf/ryIT+03pe2XIzRHMPAAUPAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIPAAUPMgscMlcpOlNYKTlUMwscMg8ABQ8AAAACAAAAAAAAAAAAAAAAAAAAAP//rEHwA6xBwAGsQYAArEGAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEGAAaxBgAGsQcADrEHwD6xB%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bif%20%28gBrowser.currentURI.spec%20%3D%3D%20%22about%3Acustomizing%22%29%20return%3B%0A%0Avar%20mmb%20%3D%20document.getElementById%28%22main-menubar%22%29%3B%0Ammb.collapsed%20%3D%20true%3B%0AaddDestructor%28%28%29%20%3D%3E%20mmb.collapsed%20%3D%20false%29%3B%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bif%20%28event.target%20%26%26%20event.target%20%21%3D%20this%29%20return%3B%0Aif%20%28%21event.target%20%26%26%20this.lastChild%20%26%26%20this.lastChild.state%20%3D%3D%20%22open%22%29%20%7B%0A%09this.lastChild.hidePopup%28%29%3B%20return%3B%0A%7D%0Avar%20ids%20%3D%20%5B%0A%09%22file-menu%22%2C%0A%09%22edit-menu%22%2C%0A%09%22view-menu%22%2C%0A%09%22bookmarksMenu%22%2C%0A%09%22history-menu%22%2C%0A%09%22tools-menu%22%2C%0A%09%22helpMenu%22%0A%5D%3B%0Avar%20menus%20%3D%20ids.map%28id%20%3D%3E%20document.getElementById%28id%29%29%3B%0Avar%20menubar%20%3D%20menus%5B0%5D.parentNode%3B%0Avar%20order%20%3D%20Array.slice%28menubar.childNodes%29%3B%0A%0Afunction%20appendMenus%28parent%29%20%7B%0A%09var%20nodes%20%3D%20parent%20%3D%3D%20menubar%20%3F%20order%20%3A%20menus%3B%0A%09for%28var%20node%20of%20nodes%29%20parent.appendChild%28node%29%3B%0A%09if%20%28ids.indexOf%28%22bookmarksMenu%22%29%20%3D%3D%20-1%29%20return%3B%0A%09for%28var%20menu%20of%20parent.getElementsByTagName%28%22menu%22%29%29%20%7B%0A%09%09if%20%28%21menu._placesView%29%20continue%3B%0A%09%09menu._placesView.uninit%28%29%3B%0A%09%09delete%20menu._placesView%3B%0A%09%7D%0A%7D%0Athis.textContent%20%3D%20%22%22%3B%0Avar%20popup%20%3D%20this.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0Apopup.position%20%3D%20%22after_start%22%3B%0Apopup.id%20%3D%20%22cb-compact-menu-menupopup%22%3B%0Apopup.setAttribute%28%22context%22%2C%20%22toolbar-context-menu%22%29%3B%0Apopup.__defineGetter__%28%22parentNode%22%2C%20%28%29%20%3D%3E%20null%29%3B%0A%0Apopup.addEventListener%28%22popuphidden%22%2C%20function%20onPH%28e%29%20%7B%0A%09if%20%28e.originalTarget%20%21%3D%20this%29%20return%3B%0A%09popup.removeEventListener%28%22popuphidden%22%2C%20onPH%2C%20false%29%3B%0A%09appendMenus%28menubar%29%3B%0A%7D%2C%20false%29%3B%0A%0AappendMenus%28popup%29%3B%0Apopup.openPopup%28this%29%3B%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%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E |
rgdru > 04-05-2014 11:23:12 |
feas > 15-05-2014 11:31:10 |
есть ли у нас способ объеденить эти 2 кнопки в одну? |
feas > 15-05-2014 12:20:41 |
okkamas_knife пишет
идея состоит в скрытии кнопок вперед/назад и обновить/остановить и создании их аналогов и есть у нас пример кнопки со сменой изображения, (невозможность перехода)? |
Pony_Smile_Pack > 15-05-2014 13:09:28 |
Поправьте если можно Relative tabs, а то он перестал корректно работать |
feas > 15-05-2014 19:18:18 |
okkamas_knife пишет
спасибо, а то на форуме такая вырвиглазная вещь встретилась |
bunda1 > 15-05-2014 19:47:56 |
Pony_Smile_Pack пишет
Выделить код Код:// Открывать любую новую вкладку справа от текущей, от 08.04.2014. ................................ addEventListener("TabOpen", function(e) { var newTab = e.target; var lab = newTab.label; var tabpos = gBrowser.selectedTab._tPos; var newTabLab = gBrowser.mStringBundle.getString("tabs.emptyTabTitle"); if ( tabpos == 0 && lab == newTabLab ) return; // если восстановление сессии if ( new Error().stack.indexOf("openContainer") !== -1 ) return; // если открыть всё во вкладках из папки закладок lab == newTabLab ? setTimeout(function() gBrowser.moveTabTo( e.target, tabpos + 1 ), 50) // если восстановление вкладки : gBrowser.moveTabTo( e.target, tabpos + 1 ); // автоматически закрывать "custombutton" вкладку if ( lab.startsWith("custombutton://%") ) setTimeout(function() gBrowser.removeTab( newTab ), 0); }, false, gBrowser.tabContainer ); |
Pony_Smile_Pack > 15-05-2014 20:22:44 |
Спасибо, bunda1. |
psfdart > 16-05-2014 19:04:18 |
подскажите как работать с группами вкладок в FF 29.0.1 ? ссылку на документацию бы |
bunda1 > 19-05-2014 22:44:26 |
Попробовал открывать новую пустую вкладку и вроде без проблем. А как ты открываешь пустую вкладку? |
Pony_Smile_Pack > 19-05-2014 22:44:38 |
[поправочка, я тут жаловался на Relative tabs, но это я её просто положил в панель-кнопку] 19-05-2014 22:45:57 |
bunda1 > 19-05-2014 22:46:31 |
Uxapb > 02-06-2014 13:41:41 |
Поправьте плз кнопочку Make bookmark button. Не вставляется автоматом иконка страницы и после перезагрузки кнопка-страница исчезает. Если присвоить свою иконку, то остается. |
bunda1 > 02-06-2014 14:25:24 |
Uxapb пишет
|
Uxapb > 02-06-2014 14:59:46 |
bunda1 пишет
Разместил кнопку на Панеле Закладок, нащелкал кнопок. Иконки присваиваются, но после перезагрузки кнопки пропадают с панели. |
Infocatcher > 02-06-2014 16:24:35 |
Uxapb пишет
Скорее всего, поможет 02-06-2014 16:25:52 |
Uxapb > 02-06-2014 16:58:34 |
custombuttons-0.0.5.8pre.xpi решило проблемку. Спасибо. |
xrun1 > 27-07-2014 01:29:16 |
bunda1 |
bunda1 > 28-07-2014 00:08:28 |
На FF31 у меня всё порядке, но попробуй добавить: в коде Memory Monitor перед: Выделить код Код:// Создать в адресной строке счётчик памяти .... var memoryDisplay = document.createElement("statusbarpanel"); Также можно в коде Memory Monitor в строке: Выделить код Код:memoryDisplay.style.cssText = "-moz-appearance: none; border: 0; min-width: 5.5em; text-align: right;"; // Css стиль для счётчика или в коде Показывать количество открытых табов в адресной строке+ под строками: Выделить код Код:// Стиль для счётчика и меню .... var uri = makeURI('data:text/css,'+ encodeURIComponent('\ добавить нужний тебе отступ margin |
xrun1 > 28-07-2014 01:37:51 |
На дефолтном профиле действительно всё нормально. Это код помог. |
bunda1 > 28-07-2014 10:42:02 |
xrun1 пишет
Спасибо, я это учту. Кстати RSS иконку в адресную строку можно передвинуть Сustom Buttons кодом. |
xrun1 > 28-07-2014 15:31:52 |
bunda1 пишет
Если удаляю код из кнопки - значение в адресной строке исчезает. Но перепроверил все кнопки на всякий случай. Memory Monitor точно один.
Это для меня слишком сложно и стандартная скучная серая. )) |
bunda1 > 28-07-2014 15:39:17 |
xrun1 |
xrun1 > 28-07-2014 17:26:59 |
bunda1 |
bunda1 > 28-07-2014 20:03:23 |
А я не знал что есть 0.0.5.8, а сам Сustom Buttons почему то не обновляется. А глюк Memory Monitor не понятный, но я добавлю if ( document.getElementById('memoryDisplay') ) return; в Memory Monitor |
voqabuhe > 28-07-2014 21:31:26 |
bunda1 пишет
Как оказалось уже и custombuttons-0.0.5.9pre1-20140622 есть №13222 |
firepox > 30-07-2014 01:00:05 |
Всем привет, помогите с кнопкой, пожалуйста ( ps |
Infocatcher > 30-07-2014 01:14:49 |
firepox пишет
По-видимому, без открытия боковой панели не обойтись. Выделить код Код:var sidebar = document.getElementById("sidebar"); function scan() { sidebar.contentWindow.USc_updatescan.scanButtonClick(); } toggleSidebar("viewUpdateScanSidebar", true); if( sidebar.getAttribute("src") == "chrome://updatescan/content/updatescan.xul" && sidebar.contentDocument.readyState == "complete" ) { scan(); } else { sidebar.addEventListener("load", function onLoad(e) { sidebar.removeEventListener(e.type, onLoad, true); scan() }, true); } |
firepox > 30-07-2014 01:28:45 |
Infocatcher а возможно сделать, что бы при повторном клике боковая панель закрывалась? |
firepox > 30-07-2014 14:13:24 |
okkamas_knife |
Infocatcher > 30-07-2014 14:56:54 |
firepox пишет
Только надо иметь в виду, что преждевременное закрытие прервет проверку. Выделить код Код:var sidebar = document.getElementById("sidebar"); if( sidebar.boxObject.width && sidebar.getAttribute("src") == "chrome://updatescan/content/updatescan.xul" ) { toggleSidebar(); } else { toggleSidebar("viewUpdateScanSidebar", true); var scan = function() { sidebar.contentWindow.USc_updatescan.scanButtonClick(); }; if( sidebar.getAttribute("src") == "chrome://updatescan/content/updatescan.xul" && !sidebar.webProgress.isLoadingDocument ) { scan(); } else { sidebar.addEventListener("load", function onLoad(e) { sidebar.removeEventListener(e.type, onLoad, true); scan(); }, true); } } В предыдущем коде «sidebar.contentDocument.readyState == "complete"» тоже лучше заменить на «!sidebar.webProgress.isLoadingDocument». |
Infocatcher > 30-07-2014 15:04:57 |
okkamas_knife пишет
Не, там проблема в том, что в Firefox у кнопки закрытия нет идентификатора. |
firepox > 30-07-2014 15:41:43 |
Infocatcher |
Infocatcher > 30-07-2014 16:35:49 |
okkamas_knife пишет
Не-а, там как раз полно отличий, из-за этого даже некий xSidebar есть: |
firepox > 30-07-2014 19:12:34 |
Если возможно, было бы еще лучше ) |
Infocatcher > 30-07-2014 19:48:58 |
firepox пишет
Все-таки есть там код для проверки без боковой панели. Выделить код Код:// See chrome://updatescan/content/autoscan.js and chrome://updatescan/content/updatescan.js // Like USc_autoscan._check(), but check all items like USc_updatescan.scanButtonClick() var me = USc_autoscan; me.scan = new USc_scanner(); me.numChanges = 0; if(me.scan.addItems(USc_places.getRootFolderId(), false /*autoScan*/) > 0) { me.scan.start( me._scanChanged, function onFinished() { me._scanFinished(); if(me.numChanges) { toggleSidebar("viewUpdateScanSidebar", true); } else { var str = document.getElementById("updatescanStrings"); window.openDialog( "chrome://updatescan/content/alert.xul", "alert:alert", "chrome,dialog=yes,titlebar=no,popup=yes", str.getString("statusNoChanges") ); } }, me._scanProgress, me._encodingChanged ); } |
firepox > 30-07-2014 20:04:01 |
Infocatcher |
firepox > 30-07-2014 21:04:25 |
а можно в последнем варианте убрать сообщение, чтобы если нет изменений - ничего и не происходило. 30-07-2014 21:07:50 |
foxX > 03-08-2014 03:33:42 |
помогите плиз! как сделать чтоб при запуске лисы у иконки была картинка (1) а после переключения (2)? |
VORON > 14-08-2014 09:57:27 |
Где то видел кнопку для запаролевания firefox-не могу найти.Ткните плиз. |
VORON > 14-08-2014 10:45:17 |
okkamas_knife |
difabor > 16-08-2014 19:30:48 |
Можно ли сделать кнопку, которая по длинному левому клику на вкладку в таббаре делала бы перезагрузку (reload, refresh) этой вкладки, а по короткому, как обычно - делала бы эту вкладку активной (как сейчас)? |
bunda1 > 16-08-2014 21:15:10 |
difabor пишет
Выделить код Код:(function f() { const tabbrowser = gBrowser.mTabContainer; addEventListener("click", function(e) { if ( e.button || e.target.nodeName !== "tab" || (Date.now() - f.mouseDownTime) < 600 ) return; BrowserReload(); }, true, tabbrowser ); addEventListener("mousedown", function() f.mouseDownTime = Date.now(), true, tabbrowser ); })(); или: Выделить код Код:function tabLongPress(e) { if ( e.button || e.target.nodeName !== "tab" ) return; if ( e.type == "mousedown" ) tabLongPress.time = Date.now(), e.stopPropagation(); else Date.now() - tabLongPress.time > 600 ? gBrowser.reloadTab(e.target) : gBrowser.selectedTab = e.target; }; ["click", "mousedown"].forEach(function(type) addEventListener(type, tabLongPress, true, gBrowser.mTabContainer )); |
sonyas75 > 16-08-2014 21:42:25 |
а можно Выделить код Код://Активизировать вкладку наведением курсора...................... var tab_hover={ event:null, tid:null, onLoad: function() { gBrowser.tabContainer.addEventListener("mouseout", tab_hover.onMouseOut, false); gBrowser.tabContainer.addEventListener("mouseover", tab_hover.onMouseOver, false); }, onUnload: function() { gBrowser.tabContainer.removeEventListener("mouseover", tab_hover.onMouseOver, false); gBrowser.tabContainer.removeEventListener("mouseout", tab_hover.onMouseOut, false); }, onMouseOver: function(event) { tab_hover.event=event.target; tab_hover.tid=setTimeout( function(){ gBrowser.selectedTab=tab_hover.event; } , 450); }, onMouseOut: function() { clearTimeout(tab_hover.tid); } }; if (!this.tab_hoverRun) tab_hover.onLoad(); this.tab_hoverRun = true; можно в него добавить код по короткому левому клику на вкладку в таббаре делала бы перезагрузку (reload, refresh) этой вкладки? спс заранее |
bunda1 > 16-08-2014 21:55:05 |
sonyas75 пишет
Добавлять не надо, будет работать вместе с твоим кодом: Выделить код Код:addEventListener("click", function(e) { if ( e.button == 0 && e.target.nodeName == "tab" ) BrowserReload(); }, true, gBrowser.mTabContainer ); Кстати, советую заменить твой код на: Выделить код Код:// Активизировать вкладку наведением курсора, если 'Панель меню' закрыт ................................ (function () { var menubar = document.getElementById('toolbar-menubar'); addEventListener("mouseover", function(e) { if ( menubar.getAttribute("autohide") == 'true' && menubar.getAttribute("inactive") ) { gBrowser.selectedTab = e.target; e.target.setAttribute('read', 'true'); } }, false, gBrowser.tabContainer ); })(); |
sonyas75 > 16-08-2014 22:05:47 |
о! премного благодарен |
difabor > 17-08-2014 00:34:09 |
И от меня - огромнейшее спасибо!!! |
difabor > 18-08-2014 01:17:06 |
Уважаемый bunda1, Выделить код Код:// Активизировать вкладку наведением курсора, если 'Панель меню' закрыт ................................ (function () { var menubar = document.getElementById('toolbar-menubar'), dateout = Date.now(); addEventListener("mouseout", function(e) {dateout = Date.now(); }, true, gBrowser.tabContainer ); addEventListener("mouseover", function(e) { if ( menubar.getAttribute("autohide") == 'true' && menubar.getAttribute("inactive") && (Date.now() - dateout > 500 ) ) { gBrowser.selectedTab = e.target; e.target.setAttribute('read', 'true'); } }, false, gBrowser.tabContainer ); addEventListener("click", function(e) { if ( e.button == 0 && e.target.nodeName == "tab" ) BrowserReload(); }, true, gBrowser.mTabContainer ); })(); То есть активизация вкладки происходит по наведению курсора, если курсор "покинул" предыдущую вкладку полсекунды или больше тому назад. |
bunda1 > 18-08-2014 11:21:58 |
difabor |
sanya.nefedov > 31-08-2014 16:54:29 |
Подскажите, а с помощью CB можно сделать имитацию нажатий клавивиатуры, чтобы не запускать vbscript: |
Zaycoff > 05-09-2014 20:18:10 |
Кнопочка Clear Cache / Delete flash cookie после обновления до FF32 больше не работает, можно её как-то исправить? |
bunda1 > 05-09-2014 21:46:37 |
Zaycoff пишет
Выделить код Код: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%3EClear%20Cache%20/%20Delete%20flash%20cookies%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAExEAAAEAIAB4BQAAFgAAACgAAAATAAAAIgAAAAEAIAAAAAAAUAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwAAAAAAAQEBCxMTEyElJSU/KywrWC4sLWUzMzNrPDs8a0NEQ2MsLCxKDg0PKgABAA8AAAAAAgICAAAAAAAAAAAAAAAAAQAAAAIZGhoHQ0NDUGJiYqZxcXHVcXFx6XNzc/STlJT2t7e2+NDP0Pjb3dz11tbY67GwsNtsbWy0JyYnYQICAg8CAgICAAAAAgICAgUAAAAAJykpJ5CRkM64t7f/q6ut/7m5uf/Lx8b/19bW/9nY2P7a2dz+4d/g/+rq6P/r7Or/1NTU/3V1ddkKCwo+AQEBAQEBAQQCAgIDAAABARMTEhdubmy/rq6w/snIyfbj4+H94uXn/d/l7f3W2+X9xc3R/a20u/2oqKr9paWi96Wmpf5ubW3NFRMTNgAAAA4BAQEJAQIBAQICAgUAAQUBhY6UpuDi5f7b2Nj609ng/rfB1v+ssc3/wcja/6qyx/99hqL/iZOr/rW4vfrZ2Nf+io2VuQQHDiICAgETAQEBBgIDBAIDAgEDAQoSAau8wq3/////4Oft+tzm7v7d4On/q6zJ/0tLoP9cXKb/tbXM/9Hb5v7f5/H6/////7K6wrYBDRkNAwEABQICAQECAwQCAQIBAggNEQest7+4+v7+/8rY6Pnf5u7++/r6/6OmzP9kZa//aGmu/8rN4//7+vv/3Obr+Pn9/f+/wsK7ChIWDAIBAQECAwMDAwQEBAEBAQINFhgPprXAvPb////K1OT5vcDX/6SlzP+Bg7z/5ebu/7S11P9+gbv/l5jE/7G60fj1/P7/w8TIwBYYIRcAAQEBBAQEBAQEBQQCAAAAESIsGbTGzMH5////5u70+dTW6P+Dg7//gIC//8PD3f+gocr/OTyf/3J0t/+/xd349P7//73EzsYgIy8hAAAAAAQEBAQEBAUEAAAAABoiLSLAyszH+f///9/q9vj0+Pz/2Nfp/7e32P+9vtz/ubvX/25vtP+/weD/5/D1+Pb////AytHLJSw3KwAAAAAEBAUFBAQFBQAAAAAgKzQrvsvOyvb+/v/I2e/42ef3//L19v/p6Ov//vv7//Hy8v/Jydv/1ODu/97r9Pj9/v//zdHY0C44RjgAAAAABAUFBQQFBQUAAAAAKzpJN8TV2dD4/v7/1Oj++NDq///Q6P7/4PH//+Pw/v/U5fb/xt3z/8Tc9f/X5/f4//7//9PX29c3QktFAAAAAAUFBQUEBQUFAAAAADE5Rj7G09rT8Pr7/8PV6fi60eX/q8ff/63G4P+uxt//s8vl/7PN6//F2fD/0N/r+Pr8/P/W3+TaP09aSwAAAAAFBQUFBAUFBQAAAAA4PUhRqrW/3bK6wP57gIn2cXeD/nh+gv2Rlpf9rrKz/crNz/3c4eT94uft/tDU2/bX2dr+tL3F4kJNWl0AAAAABAUGBgMDAwYAAAAAX15jfq+vsvqjpqb/mJ2f/qmyt/+vvMP+u8nT/8jT3f/R3Ob/2OTs/97l7P/N0dX+wsLE/62usP5WV1uLAAAAAAIDBAUDAwMEAAAAAEdGRkqJiYi6mZma57CztO/Q1tr20tni98PL1vettb/3maGs94uSnfeIjpL3iY2M8ZycnOmZmJfDTUtMVgAAAAACAgIDAAAAAAAAAAAEBAUBDxEQEickJCtAODtEVlFTW2RjZGljYl9yXVxadVdWVHNRUFNqR0RHXT03NkcpJyctFBUWEwgHCAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis.onclick%20%3D%20function%28e%29%20%7B%0A%20%20%20%20%20if%20%28%20e.button%20%29%20return%3B%0A%20%20%20%20%20%0A%20%20%20%20%20//%20%u043E%u0447%u0438%u0441%u0442%u0438%u0442%u044C%20%u043A%u044D%u0448%20....%0A%20%20%20%20%20try%20%7B%20%0A%20%20%20%20%20%20%20%20%20Services.cache.evictEntries%28Ci.nsICache.STORE_IN_MEMORY%29%3B%0A%20%20%20%20%20%20%20%20%20Services.cache.evictEntries%28Ci.nsICache.STORE_ON_DISK%29%3B%0A%20%20%20%20%20%20%20%20%20%7D%20%0A%20%20%20%20%20catch%28e%29%20%7B%20Services.cache2.clear%28%29%20%7D%0A%0A%20%20%20%20%20//%20%u0423%u0434%u0430%u043B%u0438%u0442%u044C%20Flash%20%u043A%u0443%u043A%u0438%u0441%u0438%20....%0A%20%20%20%20%20var%20dir%20%3D%20Cc%5B%22@mozilla.org/file/directory_service%3B1%22%5D.getService%28Ci.nsIProperties%29.get%28%22Home%22%2C%20Ci.nsIFile%29%3B%0A%20%20%20%20%20dir.append%28%22Application%20Data%22%29%3B%0A%20%20%20%20%20dir.append%28%22Macromedia%22%29%3B%0A%20%20%20%20%20if%20%28%20dir.exists%28%29%20%29%20dir.remove%28true%29%3B%0A%20%20%20%20%20if%20%28%20%21dir.exists%28%29%20%29%20dir.create%28Ci.nsIFile.DIRECTORY_TYPE%2C%200777%29%3B%0A%0A%20%20%20%20%20//%20%u0412%u0441%u043F%u043B%u044B%u0432%u0430%u044E%u0449%u0435%u0435%20%u0441%u043E%u043E%u0431%u0449%u0435%u043D%u0438%u0435%20....%0A%20%20%20%20%20const%20alertsService%20%3D%20Cc%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Ci.nsIAlertsService%29%3B%0A%20%20%20%20%20alertsService.showAlertNotification%28self.image%2C%20self.label%2C%20%27%u041E%u0447%u0438%u0441%u0442%u0438%u043B%20%u043A%u0435%u0448%20%u0438%20%u0443%u0434%u0430%u043B%u0438%u043B%20Flash%20%u043A%u0443%u043A%u0438%u0441%u0438%27%2C%20false%2C%20%22%22%2C%20null%2C%20%22%22%29%3B%0A%0A%7D%3B%0A%0A%0A//%20%u0421%u043F%u043B%u044B%u0432%u0430%u044E%u0449%u0430%u044F%20%u043F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%20%u0443%20%u043A%u043D%u043E%u043F%u043A%u0438%20....%0A%28function%28%29%20%7B%0A%20%20%20%20var%20title%20%3D%20self.label%20+%20%22%3A%5Cn%5Cn%22%3B%0A%20%20%20%20var%20data%20%3D%20%7B%0A%20%20%20%20%20%20%20%20memory%3A%20%22Memory%20Cache%3A%20%20%22%2C%0A%20%20%20%20%20%20%20%20disk%3A%20%22Disk%20Cache%3A%20%20%22%2C%0A%20%20%20%20%20%20%20%20offline%3A%20%22Offline%20Cache%3A%20%20%22%0A%20%20%20%20%7D%3B%0A%20%20%20%20function%20getSize%28size%29%20%7B%0A%20%20%20%20%20%20%20%20if%20%28%21size%29%20return%20size%20%3D%3D%3D%200%20%3F%20%220%22%20%3A%20%22%3F%22%3B%0A%20%20%20%20%20%20%20%20for%28var%20count%20%3D%20-1%3B%20size%20%3E%3D%201024%3B%20size%20/%3D%201024%2C%20count++%29%3B%0A%20%20%20%20%20%20%20%20return%20size.toFixed%282%29.replace%28/0+%24/%2C%20%22%22%29.replace%28/%5C.%24/%2C%20%22%22%29%20+%20%22%20%22%20+%20%28%22KMGT%22%5Bcount%5D%20%7C%7C%20%22%22%29%20+%20%22B%22%3B%0A%20%20%20%20%7D%0A%20%20%20%20function%20setInf%28tot%2C%20max%2C%20type%2C%20i%29%20%7B%0A%20%20%20%20%20%20%20%20var%20inf%20%3D%20getSize%28tot%29%20+%20%22%20/%20%22%20+%20getSize%28max%29%3B%0A%20%20%20%20%20%20%20%20var%20key%20%3D%20%22browser.cache.%22%20+%20type%20+%20%22.enable%22%3B%0A%20%20%20%20%20%20%20%20if%20%28%21Services.prefs.getBoolPref%28key%29%29%20inf%20+%3D%20%22%20%28disabled%29%22%3B%0A%20%20%20%20%20%20%20%20self.tooltipText%20%3D%20self.tooltipText.replace%28zws%28i%29%2C%20inf%29%3B%0A%20%20%20%20%7D%0A%20%20%20%20function%20zws%28ind%29%20%22%5Cu200B%5Cu200B%5Cu200B%22.slice%280%2C%20++ind%29%3B%0A%0A%20%20%20%20var%20types%20%3D%20Object.keys%28data%29%3B%0A%20%20%20%20var%20ttt%20%3D%20title%20+%20types.map%28function%28key%2C%20i%29%20data%5Bkey%5D%20+%20zws%28i%29%29.join%28%22%5Cn%22%29%3B%0A%0A%20%20%20%20self.onmouseenter%20%3D%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20self.tooltipText%20%3D%20ttt%3B%0A%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20entries%20%3D%20%7B%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20Services.cache.visitEntries%28%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20visitDevice%3A%20function%28device%2C%20info%29%20entries%5Bdevice%5D%20%3D%20info%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20visitEntry%3A%20function%28%29%20%7B%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20types.forEach%28function%28type%2C%20i%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20info%20%3D%20entries%5Btype%5D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setInf%28info%20%26%26%20info.totalSize%2C%20info%20%26%26%20info.maximumSize%2C%20type%2C%20i%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%7D%20catch%28ex%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20Services.cache2%20%26%26%20types.forEach%28function%28type%2C%20i%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20func%20%3D%20function%28aEntryCount%2C%20aConsumption%2C%20aCapacity%2C%20aDiskDirectory%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setInf%28aConsumption%2C%20aCapacity%2C%20type%2C%20i%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20storage%20%3D%20Services.cache2%5B%28type%20%3D%3D%20%22offline%22%20%3F%20%22app%22%20%3A%20type%29%20+%20%22CacheStorage%22%5D%28%7B%7D%2C%20null%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20try%20%7B%20storage.asyncVisitStorage%28%7BonCacheStorageInfo%3A%20func%7D%2C%20false%29%20%7D%20catch%28ex%29%20%7B%7D%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%3B%0A%7D%29%28%29%3B%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E |
Zaycoff > 05-09-2014 22:37:02 |
bunda1 |
Mishania > 11-09-2014 09:26:37 |
День добрый. Есть кнопочка CB Mouse Gestures+ (мне её на делали для изменения масштаба страницы ПКМ+колёсико) помогите добавить сброс масштаба по ПКМ+ЛКМ. скрытый текст Выделить код Код:// Объявляем переменные для этой вкладки ................................ var _this = this; var alertsService = Components.classes["@mozilla.org/alerts-service;1"].getService(Components.interfaces.nsIAlertsService); var bmsvc = Components.classes["@mozilla.org/browser/nav-bookmarks-service;1"].getService(Components.interfaces.nsINavBookmarksService); var ucjsMouseGestures = { // настройки .... enableWheelGestures: true, enableRockerGestures: true, enablePopupGestures: true, _lastX: 0, _lastY: 0, _directionChain: '', _isMouseDownL: false, _isMouseDownR: false, _hideFireContext: false, //for windows _shouldFireContext: false, //for linux POPUP_ID: 'GesturePopup', // Жесты .... GESTURES: { // Управление страницей ................................ 'W-':{name:'Увеличить масштаб',cmd:function(){ FullZoom.enlarge() }}, 'W+':{name:'Уменьшить масштаб',cmd:function(){ FullZoom.reduce() }}, 'UDU':{name:'Сбросить масштаб',cmd:function(){ FullZoom.reset() }}, }, init:function() { var self = this; var events = ["mousedown", "mousemove", "mouseup", "contextmenu"]; if ( this.enableRockerGestures ) events.push("draggesture"); if ( this.enableWheelGestures ) events.push("DOMMouseScroll"); function registerEvents( aAction, eventArray ) { eventArray.forEach(function(aType) { gBrowser.mPanelContainer[aAction + "EventListener"]( aType, self, true ) }); }; registerEvents("add", events); window.addEventListener("unload", function() { registerEvents("remove",events); }, false ); addDestructor(function() { registerEvents("remove", events) }); }, handleEvent:function( event ) { switch( event.type ) { case"mousedown": if ( event.button ==2 ) { this._isMouseDownR = true; this._hideFireContext = false; this._startGesture( event ); } if ( this.enableRockerGestures ) { if ( event.button == 2 && this._isMouseDownL ) { this._isMouseDownL = false; this._isMouseDownR = false; this._shouldFireContext = false; this._hideFireContext = true; this._directionChain = "L>R"; this._stopGesture(event); } else if ( event.button == 0 ) { this._isMouseDownL = true; if ( this._isMouseDownR ) { this._isMouseDownL = false; this._shouldFireContext = false; this._hideFireContext = true; this._directionChain = "L<R"; this._stopGesture( event ); } } } break; case"mousemove": if ( this._isMouseDownR ) { this._hideFireContext = true; this._progressGesture( event ); } break; case"mouseup": if ( content.xdTrailArea ) { content.xdTrailArea.parentNode.removeChild( content.xdTrailArea ); content.xdTrailArea = content.document.documentElement.appendChild(document.createElementNS("http://www.w3.org/1999/xhtml", "xdTrailArea")); } if ( event.ctrlKey && event.button == 2 ) { this._isMouseDownL = false; this._isMouseDownR = false; this._shouldFireContext = false; this._hideFireContext = false; this._directionChain = ''; event.preventDefault(); XULBrowserWindow.statusTextField.label = "Reset Gesture"; break; } if ( this._isMouseDownR && event.button == 2 ) { if ( this._directionChain ) this._shouldFireContext = false; this._isMouseDownR = false; this._stopGesture( event ); if ( this._shouldFireContext && !this._hideFireContext ) { this._shouldFireContext = false; this._displayContextMenu( event ); } } else if ( this.enableRockerGestures && event.button == 0 && this._isMouseDownL ) { this._isMouseDownL = false; this._shouldFireContext = false; } else if ( this.enablePopupGestures && ( event.button == 0 || event.button == 1 ) && event.target.localName =='menuitem' ) { this._isMouseDownL = false; this._shouldFireContext = false; var popup = document.getElementById( this.POPUP_ID ); var activeItem = event.target; switch( popup.getAttribute("gesturecommand") ) { case"WebSearchPopup": var selText = popup.getAttribute("selectedtext"); var engine = activeItem.engine; if ( !engine ) break; var submission = engine.getSubmission( selText, null ); if ( !submission ) break; document.getElementById('searchbar').textbox.value = selText; gBrowser.loadOneTab( submission.uri.spec,null,null,submission.postData,null,false ); break; case"ClosedTabsPopup": undoCloseTab( activeItem.index ); break; case"HistoryPopup": gBrowser.webNavigation.gotoIndex( activeItem.index ); break; case"AllTabsPopup": gBrowser.selectedTab = gBrowser.mTabs[activeItem.index]; break; } popup.hidePopup(); } try { document.getElementById("statusbar-display").label = "" } catch(e) {}; break; case"popuphiding": var popup = document.getElementById( this.POPUP_ID ); popup.removeEventListener("popuphiding",this,true); document.documentElement.removeEventListener("mouseup",this,true); while( popup.hasChildNodes() ) popup.removeChild( popup.lastChild ); break; case"contextmenu": if ( this._isMouseDownL || this._isMouseDownR || this._hideFireContext ) { event.preventDefault(); event.stopPropagation(); this._shouldFireContext = true; this._hideFireContext = false; } break; case"DOMMouseScroll": if ( this.enableWheelGestures&&this._isMouseDownR ) { event.preventDefault(); event.stopPropagation(); this._shouldFireContext = false; this._hideFireContext = true; this._directionChain = "W" + ( event.detail > 0 ? "+" : "-" ); this._stopGesture(event); } break; case"draggesture": this._isMouseDownL = false; break; } }, _displayContextMenu:function( event ) { var evt = event.originalTarget.ownerDocument.createEvent("MouseEvents"); evt.initMouseEvent("contextmenu",true,true,event.originalTarget.defaultView,0,event.screenX,event.screenY,event.clientX,event.clientY,false,false,false,false,2,null); event.originalTarget.dispatchEvent(evt); }, _startGesture:function( event ) { this._lastX = event.screenX; this._lastY = event.screenY; this._directionChain = ""; }, _progressGesture:function( event ) { var x = event.screenX, y = event.screenY; var lastX = this._lastX, lastY = this._lastY; var subX = x-lastX, subY=y-lastY; var distX = ( subX > 0 ? subX : (-subX) ), distY = ( subY > 0 ? subY : ( -subY ) ); var direction; if ( distX < 10 && distY < 10 ) return; if ( distX > distY ) direction = subX < 0 ? "L" : "R"; else direction = subY < 0 ? "U" : "D"; var dChain = this._directionChain; if ( direction !== dChain.charAt( dChain.length-1 ) ) { dChain += direction; this._directionChain += direction; var gesture = this.GESTURES[dChain]; XULBrowserWindow.statusTextField.label = "Жест мыши: "+ dChain + ( gesture ? ' ('+ gesture.name +')' : '' ); } this._lastX = x; this._lastY = y; }, _stopGesture:function(event){ try { if ( dChain = this._directionChain ) this.GESTURES[dChain].cmd( this, event ); XULBrowserWindow.statusTextField.label = ""; } catch(e) { setTimeout(function() { XULBrowserWindow.statusTextField.label = "Неизвестный жест мыши: " + dChain }, 0); setTimeout(function() { XULBrowserWindow.statusTextField.label = "" }, 600); } this._directionChain = ""; }, _buildPopup:function( event,gestureCmd ) { if ( !this.enablePopupGestures ) return; var popup = document.getElementById( this.POPUP_ID ); if ( !popup ) { popup = document.createElement("popup"); popup.id = this.POPUP_ID; } document.getElementById("mainPopupSet").appendChild( popup ); popup.setAttribute("gesturecommand", gestureCmd ); switch( gestureCmd ) { case"WebSearchPopup": var searchSvc = Cc["@mozilla.org/browser/search-service;1"].getService(Ci.nsIBrowserSearchService); var engines = searchSvc.getVisibleEngines({}); if ( engines.length < 1 ) throw"Поисковые системы не установлены."; for ( var i = engines.length - 1; i >= 0;--i ) { var engine = engines[i]; var menuitem = document.createElement("menuitem"); menuitem.setAttribute("label", engine.name ); menuitem.setAttribute("class", "menuitem-iconic"); if ( engine.iconURI ) menuitem.setAttribute("src", engine.iconURI.spec ); popup.insertBefore( menuitem, popup.firstChild ); menuitem.engine = engine; } popup.setAttribute("selectedtext", getBrowserSelection().toString() ); break; case"ClosedTabsPopup": try { if ( !gPrefService.getBoolPref("browser.sessionstore.enabled") ) throw"Функция восстановления сессий отключена."; } catch(e){} var ss = Cc["@mozilla.org/browser/sessionstore;1"].getService(Ci.nsISessionStore); if ( ss.getClosedTabCount(window) ==0 ) throw"Нет восстанавливаемых вкладок в этом окне."; var undoItems = eval("("+ss.getClosedTabData(window)+")"); for ( var i=0, LEN = undoItems.length; i<LEN; i++ ) { var menuitem=popup.appendChild(document.createElement("menuitem")); menuitem.setAttribute("label",undoItems[i].title); menuitem.setAttribute("class","menuitem-iconic bookmark-item"); menuitem.index = i; var iconURL = undoItems[i].image; if ( iconURL ) menuitem.setAttribute("image", iconURL ); } break; case"HistoryPopup": var sessionHistory = gBrowser.webNavigation.sessionHistory; if ( sessionHistory.count<1 ) throw"Нет истории в этой вкладке."; var curIdx = sessionHistory.index; for ( var i = 0, shc = sessionHistory.count; i < shc; i++ ) { var entry = sessionHistory.getEntryAtIndex(i,false); if ( !entry ) continue; var menuitem = document.createElement("menuitem"); popup.insertBefore(menuitem,popup.firstChild); menuitem.setAttribute("label",entry.title); try { var iconURL = Cc["@mozilla.org/browser/favicon-service;1"].getService(Ci.nsIFaviconService).getFaviconForPage( entry.URI ).spec; menuitem.style.listStyleImage = "url("+iconURL+")"; } catch(e){} menuitem.index = i; if ( i==curIdx ) { menuitem.style.listStyleImage = ""; menuitem.setAttribute("type","radio"); menuitem.setAttribute("checked","true"); menuitem.className = "unified-nav-current"; activeItem = menuitem; } else { menuitem.className = i< curIdx ? "unified-nav-back menuitem-iconic" : "unified-nav-forward menuitem-iconic"; } } break; case"AllTabsPopup": var tabs = gBrowser.mTabs; if ( tabs.length < 1 ) return; for ( var i=0, LEN = tabs.length; i < LEN; i++ ) { var menuitem = popup.appendChild(document.createElement("menuitem")); var tab = tabs[i]; menuitem.setAttribute("class", "menuitem-iconic bookmark-item"); menuitem.setAttribute("label", tab.label); menuitem.setAttribute("crop", tab.getAttribute("crop") ); menuitem.setAttribute("image", tab.getAttribute("image")); menuitem.index = i; if ( tab.selected ) menuitem.setAttribute("style", "color: red; font-weight: bold;"); if ( tab.hasAttribute('unread') ) menuitem.setAttribute("style", "color: blue;"); } break; } document.popupNode = null; document.tooltipNode = null; popup.addEventListener("popuphiding", this, true); popup.openPopup( null, "", event.clientX, event.clientY, false, false ); document.documentElement.addEventListener("mouseup", this, true); }, }; ucjsMouseGestures.init(); |
bunda1 > 11-09-2014 10:39:55 |
Под: положи: |
Mishania > 11-09-2014 10:48:58 |
bunda1 |
Inko7 > 11-09-2014 11:43:23 |
Mishania |
Mishania > 11-09-2014 18:46:02 |
Inko7, bunda1 |
difabor > 12-09-2014 01:54:56 |
Inko7 пишет
Объясните мне разницу между 'R>L' и 'L<R' |
bunda1 > 12-09-2014 20:05:51 |
Ну просто так установлено в коде кнопки. |
bazik210 > 19-09-2014 17:49:05 |
А существует ли простая кнопка выполнить, как в опере?(перейти по введённому адресу) Перерыл почти весь тырнет, чтот нигде нету... |
bunda1 > 19-09-2014 17:59:47 |
bazik210 пишет
Не понятно! |
bazik210 > 19-09-2014 18:12:09 |
http://itmages.ru/image/view/1926077/ff538f45 |
bunda1 > 19-09-2014 18:22:31 |
Создай кнопку с кодом: |
bazik210 > 19-09-2014 18:32:31 |
bunda1 пишет
пашет, пасиб. |
polk90 > 22-09-2014 03:01:01 |
есть замечательная кнопка "Bookmarks Menu". все хорошо кроме: |
polk90 > 22-09-2014 11:46:51 |
okkamas_knife 22-09-2014 12:06:47 |
polk90 > 22-09-2014 14:22:41 |
okkamas_knife p.s. нужно чтоб закладки открывались в боковой панели по ЛевойКМ (до этого неправильно написал ПКМ. так кнопака настроена изначально) |
polk90 > 22-09-2014 17:15:47 |
okkamas_knife 22-09-2014 17:38:08 |
Infocatcher > 22-09-2014 17:55:58 |
polk90 |
polk90 > 23-09-2014 00:54:48 |
Infocatcher |
VORON > 29-09-2014 09:24:18 |
Кто нибудь знает,как в новых версиях лиса закидывать в вертикальную панель кнопки?Раньше нажал изменить,покидал туда что нужно и всё.А теперь при изменить нет поля от кнопки,куда они ставились. |
villa7 > 29-09-2014 09:42:45 |
VORON |
bunda1 > 29-09-2014 09:52:12 |
villa7 пишет
Выделить код Код:custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EVT%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAKP+AAIX/gAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAFf+AABUAAAAAAAAAAAAAAAAAAAAA/4AAJP+AAP//gAD//4AA//+AACQAAAAAAAAAAAAAAAAAAAAA/4AAEv+AAP//gAD//4AAEgAAAAAAAAAA/4AAIP+AAP//gAD//4AA//+AAP//gAD//4AAJgAAAAAAAAAAAAAAAP+AABH/gAD//4AA//+AABEAAAAAAAAAAP+AAP//gAD//4AA//+AADb/gAD//4AA//+AAP//gAAQAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AACAAAAAA/4AAIP+AAP//gAD//4AAEQAAAAAAAAAA/4AAD/+AAP//gAD//4AADwAAAAAAAAAA/4AA//+AAP//gAAMAAAAAP+AAAz/gAD//4AA//+AAA8AAAAAAAAAAP+AAA//gAD//4AA//+AAA8AAAAAAAAAAP+AAP//gAD//4AADwAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AAA8AAAAA/4AAD/+AAP//gAD//4AADAAAAAAAAAAA/4AACv+AAP//gAD//4AACgAAAAAAAAAA/4AA//+AAP//gAAPAAAAAP+AAA//gAD//4AA//+AAAv/gAAL/4AADP+AACH/gAD//4AA//+AACH/gAAK/4AAD/+AAP//gAD//4AAEQAAAAD/gAAR/4AA//+AAP//gAAm/4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AABIAAAAA/4AAEv+AAP//gAD//4AAJ/+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AAEf+AABIAAAAAAAAAAAAAAAD/gAAV/4AAEgAAAAD/gAAQ/4AAEf+AAA//gAAP/4AAD/+AAA//gAAP/4AADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//+sQe//rEHH56xBg8OsQQHDrEEAw6xBEMOsQRDDrEEQw6xBEMOsQRAArEEQAKxBEACsQTkArEH//6xB//+sQQ%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20vto%20%3D%20%7B%0A%09distanceShow%3A%202%2C%0A%09distanceHide%3A%2064%2C%0A%09showDelay%3A%20320%2C%0A%09color%3A%20%22%23a2dced%22%2C%0A%09fringe%3A%20%22black%22%2C%0A%09padding%3A%204%2C%0A%09name%3A%20%22VT%22%2C%0A%0A%09btn%3A%20this%2C%0A%09tcm%3A%20document.getElementById%28%22toolbar-context-menu%22%29%2C%0A%09ctm%3A%20document.getElementById%28%22customization-toolbar-menu%22%29%2C%0A%09deck%3A%20document.getElementById%28%22content-deck%22%29%2C%0A%09id%3A%20%22cb-vt%22%2C%0A%0A%09get%20cust%28%29%20gBrowser.currentURI.spec%20%3D%3D%20%22about%3Acustomizing%22%2C%0A%09get%20rdf%28%29%20%7B%0A%09%09delete%20this.rdf%3B%0A%09%09var%20rdf%20%3D%20Cc%5B%22@mozilla.org/rdf/rdf-service%3B1%22%5D.getService%28Ci.nsIRDFService%29%3B%0A%09%09return%20this.rdf%20%3D%20%5B%0A%09%09%09rdf%2C%0A%09%09%09rdf.GetDataSource%28%22rdf%3Alocal-store%22%29%2C%0A%09%09%09rdf.GetResource%28location%20+%20%22%23%22%20+%20this.id%29%2C%0A%09%09%09null%2C%20null%0A%09%09%5D%3B%0A%09%7D%2C%0A%09init%3A%20function%28%29%20%7B%0A%09%09if%20%28this.cust%20%7C%7C%20this.btn._destructors.length%29%20return%3B%0A%0A%09%09var%20vt%20%3D%20this.initVT%28%29%3B%0A%09%09var%20vto%20%3D%20this%3B%0A%0A%09%09this.btn.onclick%20%3D%20function%28e%29%20%7B%0A%09%09%09e.button%20%7C%7C%20vto.toggleVT%28%29%3B%0A%09%09%7D%0A%09%09window.addEventListener%28%22popupshown%22%2C%20this%2C%20false%29%3B%0A%09%09window.addEventListener%28%22popuphidden%22%2C%20this%2C%20false%29%3B%0A%09%09window.addEventListener%28%22resize%22%2C%20this%2C%20false%29%3B%0A%09%09this.tcm.addEventListener%28%22command%22%2C%20this%2C%20false%29%3B%0A%09%09this.tcm.addEventListener%28%22popupshowing%22%2C%20this%2C%20false%29%3B%0A%0A%09%09if%20%28vt.hasOwnProperty%28%22on%22%29%29%20%7B%0A%09%09%09vto.toggleVT%28vt.on%29%3B%0A%09%09%7D%20else%20%7B%0A%09%09%09var%20%5Brdf%2C%20ds%2C%20source%5D%20%3D%20this.rdf%3B%0A%09%09%09var%20property%20%3D%20rdf.GetResource%28%22collapsed%22%29%3B%0A%09%09%09var%20target%20%3D%20ds.GetTarget%28source%2C%20property%2C%20true%29%3B%0A%09%09%09var%20collapsed%20%3D%20target%20%26%26%20target.QueryInterface%28Ci.nsIRDFLiteral%29.Value%20%3D%3D%20%22true%22%3B%0A%09%09%09vto.toggleVT%28%21collapsed%29%3B%0A%09%09%7D%0A%09%09this.resize%28%29%3B%0A%09%09vto.btn._destructors.push%28%7Bcontext%3A%20vto%2C%20destructor%3A%20vto.destroy%7D%29%3B%0A%09%7D%2C%0A%09destroy%3A%20function%28reason%29%20%7B%0A%09%09window.removeEventListener%28%22popupshown%22%2C%20this%2C%20false%29%3B%0A%09%09window.removeEventListener%28%22popuphidden%22%2C%20this%2C%20false%29%3B%0A%09%09window.removeEventListener%28%22resize%22%2C%20this%2C%20false%29%3B%0A%09%09this.tcm.removeEventListener%28%22command%22%2C%20this%2C%20false%29%3B%0A%09%09this.tcm.removeEventListener%28%22popupshowing%22%2C%20this%2C%20false%29%3B%0A%09%09this.setCollapser%28false%29%3B%0A%0A%09%09if%20%28reason%20%3D%3D%20%22destructor%22%20%26%26%20this.cust%29%20%7B%0A%09%09%09var%20vto%20%3D%20this%3B%0A%09%09%09vto.resize%28%29%3B%0A%0A%09%09%09gNavToolbox.addEventListener%28%22customizationready%22%2C%20vto%2C%20false%29%3B%0A%09%09%09CustomizableUI.addListener%28vto%29%3B%0A%0A%09%09%09this.ctm.addEventListener%28%22command%22%2C%20vto%2C%20false%29%3B%0A%09%09%09this.ctm.addEventListener%28%22popupshowing%22%2C%20vto%2C%20false%29%3B%0A%09%09%09window.addEventListener%28%22resize%22%2C%20vto%2C%20false%29%3B%0A%0A%09%09%09gNavToolbox.addEventListener%28%22aftercustomization%22%2C%20function%20ac%28%29%20%7B%0A%09%09%09%09gNavToolbox.removeEventListener%28%22aftercustomization%22%2C%20ac%2C%20false%29%3B%0A%09%09%09%09gNavToolbox.removeEventListener%28%22customizationready%22%2C%20vto%2C%20false%29%3B%0A%09%09%09%09CustomizableUI.removeListener%28vto%29%3B%0A%0A%09%09%09%09vto.ctm.removeEventListener%28%22command%22%2C%20vto%2C%20false%29%3B%0A%09%09%09%09vto.ctm.removeEventListener%28%22popupshowing%22%2C%20vto%2C%20false%29%3B%0A%09%09%09%09window.removeEventListener%28%22resize%22%2C%20vto%2C%20false%29%3B%0A%0A%09%09%09%09document.getElementById%28vto.btn.id%29%20%7C%7C%20vto.destroyVT%28%29%3B%0A%0A%09%09%09%7D%2C%20false%29%3B%0A%09%09%7D%0A%09%09if%20%28reason%20%3D%3D%20%22delete%22%29%20%7B%0A%09%09%09CustomizableUI.removeWidgetFromArea%28this.btn.id%29%3B%0A%09%09%09this.destroyVT%28%29%3B%0A%09%09%7D%0A%09%7D%2C%0A%09handleEvent%3A%20function%28e%29%20this%5Be.type%5D%28e%29%2C%0A%0A%09command%3A%20function%28e%29%20%7B%0A%09%09if%20%28e.target.id%20%21%3D%20%22toggle_%22%20+%20this.id%29%20return%3B%0A%09%09e.preventDefault%28%29%3B%0A%09%09this.toggleVT%28%29%3B%0A%09%7D%2C%0A%09popupshowing%3A%20function%28e%29%20%7B%0A%09%09var%20menuitem%20%3D%20e.target.querySelector%28%22%23toggle_%22%20+%20this.id%29%3B%0A%09%09menuitem%20%26%26%20menuitem.setAttribute%28%22checked%22%2C%20this.vt.on%29%3B%0A%09%09if%20%28this.cust%20%7C%7C%20%21this.vt.contains%28e.target.triggerNode%29%29%20return%3B%0A%09%09for%28var%20selector%20of%20%5B%22.customize-context-moveToPanel%22%2C%20%22.customize-context-removeFromToolbar%22%5D%29%20%7B%0A%09%09%09menuitem%20%3D%20e.target.querySelector%28selector%29%3B%0A%09%09%09menuitem%20%26%26%20menuitem.removeAttribute%28%22disabled%22%29%3B%0A%09%09%7D%0A%09%7D%2C%0A%09mousemove%3A%20function%20collapser%28e%29%20%7B%0A%09%09var%20distance%20%3D%20collapser.distance%20%3D%20e.screenX%20-%20document.documentElement.boxObject.screenX%3B%0A%09%09if%20%28collapser.waiting%29%20return%3B%0A%09%09if%20%28distance%20%3C%3D%20this.distanceShow%20%26%26%20this.vt.collapsed%29%20%7B%0A%09%09%09if%20%28this.showDelay%20%3C%201%29%20%7B%0A%09%09%09%09this.vt.collapsed%20%3D%20false%3B%0A%09%09%09%09return%3B%0A%09%09%09%7D%0A%09%09%09collapser.waiting%20%3D%20true%3B%0A%09%09%09setTimeout%28function%28vto%29%20%7B%0A%09%09%09%09if%20%28collapser.distance%20%3E%3D%20vto.distanceShow%29%20%7B%0A%09%09%09%09%09collapser.waiting%20%3D%20false%3B%0A%09%09%09%09%09return%3B%0A%09%09%09%09%7D%0A%09%09%09%09vto.vt.collapsed%20%3D%20false%3B%0A%09%09%09%09collapser.waiting%20%3D%20false%3B%0A%09%09%09%7D%2C%20this.showDelay%2C%20this%29%3B%0A%09%09%7D%0A%09%09if%20%28distance%20%3E%3D%20this.distanceHide%20%26%26%20%21this.vt.collapsed%29%0A%09%09%09this.vt.collapsed%20%3D%20true%3B%0A%09%7D%2C%0A%09setCollapser%3A%20function%28set%29%20%7B%0A%09%09set%0A%09%09%3F%20this.cust%20%7C%7C%20window.addEventListener%28%22mousemove%22%2C%20this%2C%20false%29%0A%09%09%3A%20window.removeEventListener%28%22mousemove%22%2C%20this%2C%20false%29%3B%0A%09%7D%2C%0A%09callCollapser%3A%20function%28e%29%20%7B%0A%09%09this.mousemove%28%7BscreenX%3A%20document.documentElement.boxObject.screenX%20+%20MousePosTracker._x%7D%29%3B%0A%09%7D%2C%0A%09customizationready%3A%20function%28%29%20%7B%0A%09%09window.removeEventListener%28%22customizationready%22%2C%20this%2C%20false%29%3B%0A%09%09this.vt.on%20%26%26%20this.insertBox%28true%29%3B%0A%09%7D%2C%0A%09resize%3A%20function%28e%29%20%7B%0A%09%09this.vt.style.maxHeight%20%3D%20this.deck.boxObject.height%20+%201%20+%20%22px%22%3B%0A%09%7D%2C%0A%09popupshown%3A%20function%28e%29%20this.handlePopup%28e%29%2C%0A%09popuphidden%3A%20function%28e%29%20this.handlePopup%28e%29%2C%0A%0A%09handlePopup%3A%20function%28e%29%20%7B%0A%09%09if%20%28%0A%09%09%09this.vt.collapsed%20%7C%7C%20this.vt.on%0A%09%09%09%7C%7C%20%28e.target.localName%20%21%3D%20%22menupopup%22%20%26%26%20e.target.localName%20%21%3D%20%22panel%22%29%0A%09%09%29%20return%3B%0A%09%09setTimeout%28function%28vto%29%20%7B%0A%09%09%09var%20hasPopup%20%3D%20Array.concat%28%0A%09%09%09%09Array.slice%28document.getElementsByTagName%28%22menupopup%22%29%29%2C%0A%09%09%09%09Array.slice%28document.getElementsByTagName%28%22panel%22%29%29%0A%09%09%09%29.some%28function%28popup%29%0A%09%09%09%09%22state%22%20in%20popup%20%26%26%20popup.state%20%3D%3D%20%22open%22%20%26%26%20%28%0A%09%09%09%09%09vto.vt.contains%28popup%29%0A%09%09%09%09%09%7C%7C%20%28%22triggerNode%22%20in%20popup%20%26%26%20vto.vt.contains%28popup.triggerNode%29%29%0A%09%09%09%09%09%7C%7C%20%28%0A%09%09%09%09%09%09%22anchorNode%22%20in%20popup%20%26%26%20popup.anchorNode%20%26%26%20%28%0A%09%09%09%09%09%09%09vto.vt.contains%28popup.anchorNode%29%0A%09%09%09%09%09%09%09%7C%7C%20vto.vt.contains%28document.getBindingParent%28popup.anchorNode%29%29%0A%09%09%09%09%09%09%29%0A%09%09%09%09%09%29%0A%09%09%09%09%29%0A%09%09%09%29%3B%0A%09%09%09vto.setCollapser%28%21hasPopup%29%3B%0A%09%09%09hasPopup%20%7C%7C%20vto.callCollapser%28%29%3B%0A%09%09%7D%2C%20200%2C%20this%29%3B%0A%09%7D%2C%0A%09onWidgetAfterDOMChange%3A%20function%28...a%29%20%7B%0A%09%09if%20%28a%5B2%5D%20%3D%3D%20this.vt.box%29%20this.vt.hbox.style.minWidth%20%3D%20this.vt.boxObject.width%20+%20%22px%22%3B%0A%09%7D%2C%0A%09initVT%3A%20function%28%29%20%7B%0A%09%09var%20id%20%3D%20this.id%3B%0A%09%09var%20boxId%20%3D%20id%20+%20%22-customization-target%22%3B%0A%09%09var%20vt%20%3D%20this.vt%20%3D%0A%09%09%09document.getElementById%28id%29%20%7C%7C%0A%09%09%09document.createElement%28%22toolbar%22%29%3B%0A%09%09var%20attrs%20%3D%20%7B%0A%09%09%09id%3A%20id%2C%0A%09%09%09mode%3A%20%22icons%22%2C%0A%09%09%09iconsize%3A%20%22small%22%2C%0A%09%09%09orient%3A%20%22vertical%22%2C%0A%09%09%09customizable%3A%20%22true%22%2C%0A%09%09%09persist%3A%20%22collapsed%22%2C%0A%09%09%09toolbarname%3A%20this.name%2C%0A%09%09%09fullscreentoolbar%3A%20%22true%22%2C%0A%09%09%09class%3A%20%22chromeclass-toolbar%22%2C%0A%09%09%09context%3A%20%22toolbar-context-menu%22%2C%0A%09%09%09style%3A%20%22-moz-appearance%3A%20none%3B%20display%3A%20-moz-box%3B%20height%3A%20100%25%3B%20position%3A%20fixed%3B%20min-width%3A%2020px%22%0A%09%09%7D%3B%0A%09%09for%28var%20attr%20in%20attrs%29%20vt.setAttribute%28attr%2C%20attrs%5Battr%5D%29%3B%0A%09%09if%20%28%21vt.parentNode%29%20%7B%0A%0A%09%09%09var%20box%20%3D%20vt.box%20%3D%20document.createElement%28%22vbox%22%29%3B%0A%09%09%09vt.appendChild%28box%29%3B%0A%09%09%09box.id%20%3D%20boxId%3B%0A%09%09%09box.style.cssText%20%3D%20%22height%3A%20100%25%3B%20width%3A%20100%25%3B%22%0A%0A%09%09%09vt.customizationTarget%20%3D%20box%3B%0A%09%09%09gNavToolbox.appendChild%28vt%29%3B%0A%0A%09%09%09if%20%28CustomizableUI.areas.indexOf%28id%29%20%3D%3D%20-1%29%20%7B%0A%09%09%09%09CustomizableUI.registerArea%28id%2C%20%7Blegacy%3A%20true%7D%29%3B%0A%09%09%09%7D%0A%09%09%09box.removeAttribute%28%22class%22%29%3B%0A%09%09%09box.__defineGetter__%28%22localName%22%2C%20function%28%29%20arguments.callee.caller%20%3D%3D%20custombutton.buttonConstructor%20%3F%20%22toolbar%22%20%3A%20%22vbox%22%29%3B%0A%0A%09%09%09vt.hbox%20%3D%20document.createElement%28%22hbox%22%29%3B%0A%09%09%09vt.hbox.id%20%3D%20id%20+%20%22-hbox%22%3B%0A%09%09%7D%0A%09%09vt.box.style.padding%20%3D%20%220%20%22%20+%20this.padding%20+%20%22px%22%3B%0A%09%09vt.style.backgroundColor%20%3D%20this.color%3B%0A%09%09vt.style.borderRight%20%3D%20%221px%20solid%20%22%20+%20this.fringe%3B%0A%09%09return%20vt%3B%0A%09%7D%2C%0A%09destroyVT%3A%20function%28reason%29%20%7B%0A%09%09var%20vt%20%3D%20this.vt%3B%0A%09%09CustomizableUI.unregisterArea%28vt.id%2C%20%7B%7D%29%3B%0A%09%09vt.hbox.parentNode%20%26%26%20vt.hbox.parentNode.removeChild%28vt.hbox%29%3B%0A%09%09vt.parentNode%20%26%26%20vt.parentNode.removeChild%28vt%29%3B%0A%0A%09%09var%20%5Brdf%2C%20ds%2C%20source%2C%20property%2C%20target%5D%20%3D%20this.rdf%3B%0A%09%09var%20enumerator%20%3D%20ds.ArcLabelsOut%28source%29%3B%0A%09%09while%28enumerator.hasMoreElements%28%29%29%20%7B%0A%09%09%09property%20%3D%20enumerator.getNext%28%29%3B%0A%09%09%09target%20%3D%20ds.GetTarget%28source%2C%20property%2C%20true%29%3B%0A%09%09%09ds.Unassert%28source%2C%20property%2C%20target%29%3B%0A%09%09%7D%0A%09%09target%20%3D%20source.QueryInterface%28Ci.nsIRDFNode%29%3B%0A%09%09source%20%3D%20rdf.GetResource%28location%29%3B%0A%09%09property%20%3D%20rdf.GetResource%28%22http%3A//home.netscape.com/NC-rdf%23persist%22%29%3B%0A%09%09ds.Unassert%28source%2C%20property%2C%20target%29%3B%0A%09%7D%2C%0A%09insertBox%3A%20function%28ins%29%20%7B%0A%09%09var%20vt%20%3D%20this.vt%3B%0A%09%09var%20box%20%3D%20vt.hbox%3B%0A%09%09if%20%28%21ins%29%20%7B%0A%09%09%09box.parentNode%20%26%26%20box.parentNode.removeChild%28box%29%3B%0A%09%09%09return%3B%0A%09%09%7D%0A%09%09var%20id%20%3D%20this.cust%20%3F%20%22customization-palette-container%22%20%3A%20%22sidebar-box%22%3B%0A%09%09var%20point%20%3D%20document.getElementById%28id%29%3B%0A%09%09point.parentNode.insertBefore%28box%2C%20point%29%3B%0A%09%09var%20mw%20%3D%20function%28%29%20box.style.minWidth%20%3D%20vt.boxObject.width%20+%20%22px%22%3B%0A%09%09mw%28%29%3B%20setTimeout%28mw%2C%20100%29%3B%0A%09%7D%2C%0A%09toggleVT%3A%20function%28on%29%20%7B%0A%09%09var%20vt%20%3D%20this.vt%3B%0A%09%09if%20%28on%20%3D%3D%20undefined%29%20on%20%3D%20%21vt.on%3B%0A%09%09vt.on%20%3D%20on%3B%0A%09%09this.setCollapser%28%21on%29%3B%0A%09%09vt.collapsed%20%3D%20%21on%3B%0A%09%09this.insertBox%28on%29%3B%0A%09%7D%0A%7D%3B%0Avto.init%28%29%3B%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bevent.target%20%7C%7C%20this.click%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 |
villa7 > 29-09-2014 10:08:39 |
bunda1 |
VORON > 29-09-2014 10:08:53 |
bunda1 |
bunda1 > 29-09-2014 10:54:14 |
VORON пишет
Удали в начале кода: Cu.import("resource://gre/modules/XPIProvider.jsm"); |
voqabuhe > 29-09-2014 23:05:10 |
bunda1 пишет
Спасибо заработала. А можешь сделать, чтобы Место установки открывалось в Total Commander? |
polk90 > 01-10-2014 22:23:14 |
villa7 пишет
хотел попробовать, правильный код не нашел, подскажите где смотреть? |
villa7 > 01-10-2014 22:46:14 |
polk90 |
bunda1 > 01-10-2014 23:16:39 |
voqabuhe пишет
Наверно нет, мне кажется это надо настраивать в windows или в Total Commander, ну ассоциации с файлами. |
voqabuhe > 01-10-2014 23:41:40 |
bunda1 пишет
Ну очень сомнительно, что там это настраивается, да и какая ассоциация с файлами, если открывать надо папку? |
polk90 > 01-10-2014 23:45:33 |
villa7 пишет
а ... теперь понял. может кто знает аналогичный вариант панели, чтоб с автоскрытием и работал? |
roadrunner > 02-10-2014 01:17:16 |
https://addons.mozilla.org/en-US/firefo … l-toolbar/ |
polk90 > 02-10-2014 01:33:35 |
roadrunner |
localhorst > 02-10-2014 18:02:46 |
А кто-то может подсказать по созданию кнопок? |
difabor > 03-10-2014 23:52:36 |
Можно ли сделать CB кнопку - компаньон для Stylish? Описание функциональности привожу ниже. Выделить код Код:@namespace url(http://www.w3.org/1999/xhtml); @-moz-document url-prefix("chrome"),url-prefix("file"), domain("yandex.ru") { body {background-image:url(file:///C:/Users/yudith/Pictures/Icons/gold.gif) !important;background-size: cover !important;background-repeat:no-repeat !important;background-attachment:fixed !important} all {background-color:transparent !important} } То есть, всё что этот стиль делает - вставляет в качестве фона - заданную картинку. |
firepox > 07-10-2014 05:28:18 |
Есть замечательная кнопка Выделить код Код:var oSvc = Components.classes["@mozilla.org/observer-service;1"] .getService(Components.interfaces.nsIObserverService); var observer = { observe: function(subject, topic, data) { subject.addEventListener("load", this, false); }, handleEvent: function(e) { var doc = e.target; var win = doc.defaultView; win.removeEventListener("load", this, false); if (doc.location.href != "chrome://browser/content/preferences/cookies.xul") return; oSvc.removeObserver(observer, "domwindowopened", false); var filter = doc.getElementById("filter"); var host = gBrowser.contentDocument.location.host; var words = host.split("."); var theHost = words[words.length - 2] + "." + words[words.length - 1]; filter.value = theHost; window.setTimeout(function() {win.gCookiesWindow.filter();}, 250) }}; oSvc.addObserver(observer, "domwindowopened", false); var wm = Components. classes["@mozilla.org/appshell/window-mediator;1"]. getService (Components. interfaces. nsIWindowMediator); var win = wm. getMostRecentWindow ("Browser:Cookies"); if (win) { alert("Сначала закройте уже открытое окно с куками"); oSvc.removeObserver(observer, "domwindowopened", false); return; } else openDialog ("chrome://browser/content/preferences/cookies.xul", "_blank", "resizable,dialog=yes,centerscreen", null); сейчас так: нажимаю кнопку - далее "удалить все куки" |
manuk > 09-10-2014 10:13:07 |
Можно кнопку https://forum.mozilla-russia.org/viewto … 86#p625686 немного изменить, т.е. вместо "выключить показ изображений на страницах" сделать "только с исходного сервера"? Или повесить на ПКМ. |
bunda1 > 09-10-2014 10:41:07 |
manuk пишет
Сделать наверно можно, но лично я не знаю как. |
manuk > 09-10-2014 10:58:45 |
bunda1 пишет
Оказалось только одну цифру в коде изменить нужно. |
bunda1 > 09-10-2014 11:24:02 |
manuk пишет
А я и забыл что есть такая настройка. |
polk90 > 12-10-2014 02:59:50 |
реально сделать кнопку чтобы автоматом очищала из истории загрузок записи о сохранении во временную папку оси? |
Dumby > 12-10-2014 22:45:04 |
polk90 скрытый текст Выделить код Код:gBrowser.currentURI.spec != "about:customizing" && (() => { var id = _id + "-" + Components.stack.lineNumber; var mod = Cu.import("resource:///modules/DownloadsLogger.jsm", {}); if (mod[id]) return; mod[id] = true; addDestructor(() => delete mod[id]); var err = Cu.reportError, tmp = OS.Constants.Path.tmpDir + "\\"; Task.spawn(function() { var list = yield Downloads.getList(Downloads.ALL), view = {}; view.onDownloadAdded = view.onDownloadChanged = download => download.progress == 100 && download.target.path.startsWith(tmp) && setTimeout(() => { var uri = makeURI(download.source.url); PlacesUtils.bhistory.removePage(uri); list.remove(download).then(null, err); }, 1e3); yield list.addView(view); setTimeout(() => delete view.onDownloadAdded, 5e3); addDestructor(() => list.removeView(view).then(null, err)); }).then(null, err); })(); |
polk90 > 13-10-2014 00:09:51 |
Dumby torrent/zip/pdf/doc - не убирается. другие не пробовал. |
Dumby > 13-10-2014 22:52:10 |
polk90 пишет
Если они в одной папке с торрентами, то не знаю. скрытый текст Выделить код Код:gBrowser.currentURI.spec != "about:customizing" && (() => { var id = _id + "-" + Components.stack.lineNumber; var mod = Cu.import("resource:///modules/DownloadsLogger.jsm", {}); if (mod[id]) return; mod[id] = true; addDestructor(() => delete mod[id]); var err = Cu.reportError; var directories = [ OS.Constants.Path.tmpDir + "\\", "D:\\Temp\\_sys_Temp\\" ]; function checkDir(path) directories.some(dir => path.startsWith(dir) //&& !path.slice(dir.length).contains("\\") ); Task.spawn(function() { var list = yield Downloads.getList(Downloads.ALL), view = {}; view.onDownloadAdded = view.onDownloadChanged = download => download.progress == 100 && checkDir(download.target.path) && setTimeout(() => { var uri = makeURI(download.source.url); PlacesUtils.bhistory.removePage(uri); list.remove(download).then(null, err); }, 1e3); yield list.addView(view); setTimeout(() => delete view.onDownloadAdded, 5e3); addDestructor(() => list.removeView(view).then(null, err)); }).then(null, err); })(); |
polk90 > 14-10-2014 03:07:36 |
Dumby и первый вариант тоже работает. |
skynet281978 > 14-10-2014 03:24:51 |
подскажите ка удалить кнопку у которой не отображается меню редактирования? |
polk90 > 14-10-2014 04:02:03 |
skynet281978 |
skynet281978 > 14-10-2014 10:00:47 |
спасибо всем. получилось через шифт ПКМ |
oopsididagainster > 23-10-2014 20:45:55 |
Подскажите код копирующий в буфер ссылку находящуюся под указателем мыши |
Pony_Smile_Pack > 23-10-2014 20:52:53 |
oopsididagainster пишет
oncommand = gContextMenu.copyLink(); |
oopsididagainster > 23-10-2014 21:42:57 |
Pony_Smile_Pack пишет
Поместил код в инициализацию кнопку, повесил кнопку на клавишу, но при нажатии на клавишу ничего не происходит. |
Pony_Smile_Pack > 23-10-2014 21:57:50 |
Ну это из контекстного меню. Возможно легче просто этот пункт меню наверх переместить, чем двумя руками ссылки копировать. |
polk90 > 24-10-2014 02:15:51 |
[del] |
thrower > 28-10-2014 07:36:38 |
bunda1, подскажи, что изменить в этом твоем коде, чтобы открытие происходило в новой вкладке скрытый текст Выделить код Код:// удаление обработчика для адресной строки, при открытии настройки панелей this.onDestroy = function() {document.getElementById("urlbar").removeEventListener("dblclick", mclick, false);}; // добавляем обработчик для адресной строки document.getElementById("urlbar").addEventListener("dblclick", mclick, false); //функция которую запускает обработчик function mclick(event){ if (event.button==0){ //отключать реакцию по умолчанию на левую кнопку мыши event.preventDefault(); event.stopPropagation(); //Вставить в адресную строку var clipboard = Components.classes["@mozilla.org/widget/clipboardhelper;1"]. getService(Components.interfaces.nsIClipboardHelper); var text = content.getSelection().toString(); if(text){gURLBar.value = text;} else { gURLBar.value = readFromClipboard(); } //поиск/перейти gURLBar.handleCommand(event); } }; |
Dumby > 28-10-2014 10:09:52 |
thrower скрытый текст Выделить код Код://gURLBar.handleCommand(event); gURLBar.handleCommand(new MouseEvent("", { ctrlKey: true, //shiftKey: true })); |
thrower > 28-10-2014 11:08:09 |
Dumby, работает! Спасибо |
VORON > 29-10-2014 10:03:35 |
Раньше была такая кнопка-Extensions Options Menu скрытый текст Выделить код Код: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%3EExtensions%20Options%20Menu%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyBpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMC1jMDYwIDYxLjEzNDc3NywgMjAxMC8wMi8xMi0xNzozMjowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNSBXaW5kb3dzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjU4NzIwMkI5QkNFNDExRTBCOEIwQzU3QzQyMDBGNDk2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjU4NzIwMkJBQkNFNDExRTBCOEIwQzU3QzQyMDBGNDk2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NTg3MjAyQjdCQ0U0MTFFMEI4QjBDNTdDNDIwMEY0OTYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NTg3MjAyQjhCQ0U0MTFFMEI4QjBDNTdDNDIwMEY0OTYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4v/lPcAAACe0lEQVR42nRTW0tUURQ++3IuHmecdCJzLDRqisaKoR4zlMDKKLEoiR4qIiLwB/QS/YN6CYSgiCBCaKDAIqJI6GKQGFEqhjUQqQk5w5hnZjq3vVtrPMY46YaPb6+111pn3Q6RUioVhwMMgApwAX8AnrLawQBloH03bzU0b935bN2GLbPIKKO+wu4faEU8MvD4aasvaVO4rn4KGWXUr5YADVIOAeoQfTeuTyeTyc+mGc4io7z0FtjxZV+ENEJN8R0px/YSCiWCq3qhKhSeU3Uz79qF6qK1sNZzbVMRkmo6H/8+OXoC/KzyhmlC4bGaaPQrIdQjlArGuU0p94luOoxpBSkE9EDwgjUfA3sdUAQIbCGWIBnXFjjXclzX51W9KguyBYGKyJphZnQz9Msww7M63DOZbG3Hoa7D4BcGMAxgd3a0fRgbfj7Qub91xvddGoxvOQhxmKpa7Qe7r4xNTF6LJ3bfxnGjsXf+7On7wKnei2ee+K6NZTkrgXMj50kWqo7UffF80oi7gsb83IVLPd1HjxiDr960QbPcwOG/Q6hCd21P5D5+Gq1PtGxLY2Y4hdrGTS0vmapZKtd+G6HINNf0/EoB7KIVnRgZTPU/eBg/dfLYMKjeYgZUrzKnjerIFKXMI4y7vutwIX1OCfMoVx1CiI8BoDycwBA4DwFnlqagEMbype6r2oLiufzq5d6f4+9fvEOWrqOhL/ZKSFHafsBcwKVNlItXqF4I2bA+ynqOdz0CuR8ZZdSX5r5oJytX2Y5vbs5DfWscu1iTTn+r39t+IHnn7j0NGWXU4zvaoX3lKjPgfYBYoMNfdwTwA7ARsKds/2cAr4OSSuevAAMAy+gvpYr6B6sAAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis.label%20%3D%20%22Extensions%22%3B%0Athis.tooltipText%20%3D%20this.label%3B%0A%0A/*%20*****%20BEGIN%20LICENSE%20BLOCK%20*****%0A%20*%20Version%3A%20MPL%201.1%0A%20*%0A%20*%20The%20contents%20of%20this%20file%20are%20subject%20to%20the%20Mozilla%20Public%20License%20Version%0A%20*%201.1%20%28the%20%22License%22%29%3B%20you%20may%20not%20use%20this%20file%20except%20in%20compliance%20with%0A%20*%20the%20License.%20You%20may%20obtain%20a%20copy%20of%20the%20License%20at%0A%20*%20http%3A//www.mozilla.org/MPL/%0A%20*%0A%20*%20Software%20distributed%20under%20the%20License%20is%20distributed%20on%20an%20%22AS%20IS%22%20basis%2C%0A%20*%20WITHOUT%20WARRANTY%20OF%20ANY%20KIND%2C%20either%20express%20or%20implied.%20See%20the%20License%0A%20*%20for%20the%20specific%20language%20governing%20rights%20and%20limitations%20under%20the%0A%20*%20License.%0A%20*%0A%20*%20Original%20code%20is%20Extensions%20Options%20Menu%20for%20Custom%20Buttons%0A%20*%0A%20*%20The%20Initial%20Developer%20of%20the%20Original%20Code%20is%20LouCypher.%0A%20*%20Portions%20created%20by%20the%20Initial%20Developer%20are%20Copyright%20%28C%29%202011%0A%20*%20the%20Initial%20Developer.%20All%20Rights%20Reserved.%0A%20*%0A%20*%20Contributor%28s%29%3A%0A%20*%20%20LouCypher%20%3Cloucypher@mozillaca.com%3E%0A%20*%0A%20*%20*****%20END%20LICENSE%20BLOCK%20*****%20*/%0A%0Afunction%20%24%28aId%29%20%7B%0A%20%20return%20document.getElementById%28aId%29%3B%0A%7D%0A%0Afunction%20%24xml%28aXML%29%20%7B%0A%20%20return%20cbu.makeXML%28aXML%29%3B%0A%7D%0A%0Afunction%20sort%28aArray%29%20%7B%0A%20%20aArray.sort%28function%28a%2C%20b%29%20%7B%0A%20%20%20%20a%20%3D%20a.name.toLowerCase%28%29%3B%0A%20%20%20%20b%20%3D%20b.name.toLowerCase%28%29%3B%0A%20%20%20%20if%20%28a%20%3C%20b%29%20return%20-1%3B%0A%20%20%20%20if%20%28a%20%3E%20b%29%20return%201%3B%0A%20%20%20%20return%200%3B%0A%20%20%7D%29%0A%7D%0A%0Athis.openDialog%20%3D%20function%28aURL%29%20%7B%0A%20%20openDialog%28aURL%2C%20%22%22%2C%20%22chrome%2C%20dialog%2C%20close%2C%20titlebar%2C%20toolbar%2C%22%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22scrollbars%2C%20minimizable%2C%20centerscreen%22%29%3B%0A%7D%0A%0Athis.setStatus%20%3D%20function%28aString%29%20%7B%0A%20%20document.getElementById%28%22statusbar-display%22%29.label%20%3D%20aString%3B%0A%7D%0A%0Athis.onclick%20%3D%20function%20inspectExtensions%28aEvent%29%20%7B%0A%20%20if%20%28%28typeof%20inspectObject%20%21%3D%20%22function%22%29%20%7C%7C%0A%20%20%20%20%20%20%28aEvent.button%20%21%3D%201%29%29%20return%3B%0A%20%20AddonManager.getAllAddons%28function%28aAddons%29%20%7B%0A%20%20%20%20var%20extensions%20%3D%20%5B%5D%3B%0A%20%20%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aAddons.length%3B%20i++%29%20%7B%0A%20%20%20%20%20%20if%20%28aAddons%5Bi%5D.type%20%3D%3D%20%22extension%22%29%20%7B%0A%20%20%20%20%20%20%20%20extensions.push%28aAddons%5Bi%5D%29%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20sort%28extensions%29%3B%0A%20%20%20%20inspectObject%28extensions%29%3B%0A%20%20%7D%29%0A%7D%0A%0Athis.addonsMgr%20%3D%20function%28aPopup%2C%20aCallback%29%20%7B%0A%20%20AddonManager.getAllAddons%28function%28aAddons%29%20%7B%0A%20%20%20%20var%20extensions%20%3D%20%5B%5D%3B%0A%20%20%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aAddons.length%3B%20i++%29%20%7B%0A%20%20%20%20%20%20aAddons%5Bi%5D.toString%20%3D%20function%28%29%20%7B%20return%20this.name%3B%20%7D%0A%20%20%20%20%20%20if%20%28%28aAddons%5Bi%5D.type%20%3D%3D%20%22extension%22%29%20%26%26%0A%20%20%20%20%20%20%20%20%20%20%28aAddons%5Bi%5D.optionsURL%20%21%3D%20null%29%20%26%26%0A%20%20%20%20%20%20%20%20%20%20aAddons%5Bi%5D.isActive%29%20%7B%0A%20%20%20%20%20%20%20%20extensions.push%28aAddons%5Bi%5D%29%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20sort%28extensions%29%3B%0A%20%20%20%20aCallback%28aPopup%2C%20extensions%29%3B%0A%20%20%7D%29%0A%7D%0A%0Afunction%20getExtensionObject%28aId%2C%20aCallback%29%20%7B%0A%20%20AddonManager.getAllAddons%28function%28aAddons%29%20%7B%0A%20%20%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aAddons.length%3B%20i++%29%20%7B%0A%20%20%20%20%20%20if%20%28aAddons%5Bi%5D.id%20%3D%3D%20aId%29%20%7B%0A%20%20%20%20%20%20%20%20aCallback%28aAddons%5Bi%5D%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%7D%0A%20%20%7D%29%0A%7D%0A%0Afunction%20addItem%28aNode%2C%20aId%2C%20aLabel%2C%20aURL%2C%20aIcon%2C%20aHomePage%2C%20aDesc%29%20%7B%0A%20%20aNode.appendChild%28%24xml%28%3Cmenuitem%20xmlns%3D%7Bxulns%7D%20class%3D%22menuitem-iconic%22%0A%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%20GUID%3D%7BaId%7D%20label%3D%7BaLabel%7D%0A%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%20image%3D%7BaIcon%7D%20homepage%3D%7BaHomePage%7D%0A%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%20statustext%3D%7BaURL%7D%20tooltiptext%3D%7BaDesc%7D/%3E%29%29%3B%0A%7D%0A%0Avar%20popup%20%3D%20%24xml%28%3Cmenupopup%20xmlns%3D%7Bxulns%7D%20context%3D%22cb-extensions-menu%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20oncommand%3D%22event.stopPropagation%28%29%3B%20this.parentNode.openDialog%28event.target.statusText%29%3B%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onmouseover%3D%22this.parentNode.setStatus%28event.target.statusText%29%3B%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20onmouseout%3D%22this.parentNode.setStatus%28%27%27%29%3B%22/%3E%29%3B%0A%0Athis.populate%20%3D%20function%28aPopup%2C%20aExtensions%29%20%7B%0A%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aExtensions.length%3B%20i++%29%20%7B%0A%20%20%20%20let%20ext%20%3D%20aExtensions%5Bi%5D%3B%0A%20%20%20%20addItem%28aPopup%2C%20ext.id%2C%20ext.name%20+%20%22%20%22%20+%20ext.version%2C%20ext.optionsURL%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28ext.iconURL%20%3F%20ext.iconURL%20%3A%20%22chrome%3A//mozapps/skin/extensions/extensionGeneric-16.png%22%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28ext.homepageURL%20%3F%20ext.homepageURL%20%3A%20ext.reviewURL.replace%28/%5C/reviews/%2C%20%22%22%29.toString%28%29%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ext.description%29%3B%0A%20%20%7D%0A%7D%0A%0Athis.addonsMgr%28popup%2C%20this.populate%29%3B%0A%0Athis.appendChild%28popup%29%3B%0Athis.type%20%3D%20%22menu-button%22%3B%0A%0A//---------------------------------%0A%0Athis.copyId%20%3D%20function%28aId%29%20%7B%0A%20%20Cc%5B%22@mozilla.org/widget/clipboardhelper%3B1%22%5D.%0A%20%20getService%28Ci.nsIClipboardHelper%29.copyString%28aId%29%3B%0A%7D%0A%0Athis.goHome%20%3D%20function%28aURL%29%20%7B%0A%20%20gBrowser.loadOneTab%28aURL%29%3B%0A%7D%0A%0Athis.inspect%20%3D%20function%28aId%29%20%7B%0A%20%20getExtensionObject%28aId%2C%20inspectObject%29%3B%0A%7D%0A%0Athis.explore%20%3D%20function%28aId%29%20%7B%0A%20%20var%20dirService%20%3D%20Cc%5B%22@mozilla.org/file/directory_service%3B1%22%5D.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20getService%28Ci.nsIProperties%29%3B%0A%20%20var%20dir%20%3D%20dirService.get%28%22ProfD%22%2C%20Ci.nsIFile%29%3B%0A%20%20dir.append%28%22extensions%22%29%3B%0A%20%20dir.append%28aId%29%3B%0A%20%20if%20%28%21dir.exists%28%29%29%20%7B%0A%20%20%20%20alert%28%22Directory%20%22%20+%20dir.path%20+%20%22%20doesn%27t%20exist%21%22%29%3B%0A%20%20%20%20return%3B%0A%20%20%20%20//dir.append%28%22.xpi%22%29%3B%0A%20%20%20%20//Application.console.log%28dir.path%29%3B%0A%20%20%7D%0A%20%20var%20localFileInterface%20%3D%20Cc%5B%22@mozilla.org/file/local%3B1%22%5D.%0A%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%20createInstance%28Ci.nsILocalFile%29%3B%0A%20%20localFileInterface.initWithPath%28dir.path%29%3B%0A%20%20var%20iDirectory%20%3D%20localFileInterface%3B%0A%20%20try%20%7B%0A%20%20%20%20iDirectory.reveal%28%29%3B%0A%20%20%7D%20catch%28ex%29%20%7B%0A%20%20%20%20var%20uri%20%3D%20Cc%5B%22@mozilla.org/network/io-service%3B1%22%5D.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20getService%28Ci.nsIIOService%29.newFileURI%28iDirectory%29%3B%0A%20%20%20%20var%20protocolSvc%20%3D%20Cc%5B%22@mozilla.org/uriloader/external-protocol-service%3B1%22%5D.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20getService%28Ci.nsIExternalProtocolService%29%3B%0A%20%20%20%20protocolSvc.loadUrl%28uri%29%3B%0A%20%20%7D%0A%7D%0A%0Aif%20%28%24%28%22cb-extensions-menu%22%29%29%20%7B%0A%20%20%24%28%22cb-extensions-menu%22%29.parentNode.removeChild%28%24%28%22cb-extensions-menu%22%29%29%3B%0A%7D%0A%0Athis.checkForDOMI%20%3D%20function%28aEvent%29%20%7B%0A%20%20if%20%28typeof%20inspectObject%20%21%3D%20%22function%22%29%20%7B%0A%20%20%20%20aEvent.target.getElementsByTagName%28%22menuitem%22%29%5B2%5D.hidden%20%3D%20true%3B%0A%20%20%7D%0A%7D%0A%0Avar%20popupset%20%3D%20document.getElementById%28%22mainPopupSet%22%29%3B%0Avar%20context%20%3D%20popupset.appendChild%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24xml%28%3Cmenupopup%20xmlns%3D%7Bxulns%7D%20id%3D%22cb-extensions-menu%22%20onclick%3D%22event.stopPropagation%28%29%3B%22%0A%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%20onpopupshowing%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.checkForDOMI%28event%29%3B%22%7D%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmenuitem%20label%3D%22Visit%20Home%20Page%22%0A%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%20onmouseover%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28document.popupNode.getAttribute%28%27homepage%27%29%29%3B%22%7D%0A%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%20onmouseout%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28%27%27%29%3B%22%7D%0A%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%20oncommand%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.goHome%28document.popupNode.getAttribute%28%27homepage%27%29%29%3B%22%7D/%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmenuitem%20label%3D%22Copy%20GUID%22%0A%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%20onmouseover%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D%0A%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%20onmouseout%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28%27%27%29%3B%22%7D%0A%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%20oncommand%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.copyId%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D/%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmenuitem%20label%3D%22Inspect%20Extension%22%0A%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%20onmouseover%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D%0A%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%20onmouseout%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28%27%27%29%3B%22%7D%0A%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%20oncommand%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.inspect%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D/%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3Cmenuitem%20label%3D%22Browse%20Install%20Directory%22%0A%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%20onmouseover%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D%0A%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%20onmouseout%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.setStatus%28%27%27%29%3B%22%7D%0A%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%20oncommand%3D%7B%22document.getElementById%28%27%22%20+%20this.id%20+%20%22%27%29.explore%28document.popupNode.getAttribute%28%27GUID%27%29%29%3B%22%7D/%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3C/menupopup%3E%29%29%3B%0A%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5Bvar%20url%20%3D%20%22chrome%3A//mozapps/content/extensions/extensions.xul%22%3B%0A%0Aif%20%28gBrowser.mCurrentTab.linkedBrowser.currentURI.spec%20%3D%3D%20%22about%3Ablank%22%29%20%7B%0A%20%20loadURI%28url%29%3B%0A%20%20return%3B%0A%7D%0A%0Avar%20tabs%20%3D%20gBrowser.mTabs%3B%0Afor%20%28var%20i%20%3D%200%3B%20i%20%3C%20tabs.length%3B%20i++%29%20%7B%0A%20%20if%20%28tabs%5Bi%5D.linkedBrowser.currentURI.spec%20%3D%3D%20url%29%20%7B%0A%20%20%20%20gBrowser.selectedTab%20%3D%20tabs%5Bi%5D%3B%0A%20%20%20%20return%3B%0A%20%20%7D%0A%7D%0A%0AgBrowser.loadOneTab%28url%2C%20null%2C%20null%2C%20null%2C%20false%29%3B%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%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E Теперь неактивна,точнее просто открывает вкладку с дополнениями.Можно починить? |
Dumby > 29-10-2014 10:53:23 |
VORON |
VORON > 29-10-2014 11:49:02 |
Dumby |
voqabuhe > 29-10-2014 14:21:58 |
Indomito пишет Кнопка перестала сохранять CB из PanelUI, можешь поправить? |
Dumby > 29-10-2014 17:59:01 |
voqabuhe скрытый текст Выделить код Код:(() => { var document = { getElementsByTagName: tag => { var res = window.document.getElementsByTagName(tag); if (PanelUI.contents.hasChildNodes()) res = [...res].concat([...PanelUI.contents.getElementsByTagName(tag)]); return res; }, implementation: window.document.implementation }; // Здесь код кнопки })(); |
voqabuhe > 29-10-2014 23:02:50 |
Dumby пишет
У меня всё равно не сохраняет. |
Dumby > 30-10-2014 00:27:16 |
voqabuhe |
voqabuhe > 30-10-2014 10:11:41 |
voqabuhe пишет
Да, но ведь PanelUI уже не только в Dumby пишет
Скрин не понял к чему? |
Dumby > 30-10-2014 10:42:40 |
voqabuhe пишет
Просто посетовал, на то, что у меня сохраняет, а у тебя не сохраняет. |
voqabuhe > 30-10-2014 11:55:57 |
Dumby пишет
Теперь понЯл. А на |
Dumby > 30-10-2014 12:27:16 |
voqabuhe пишет
Так именно на Nightly и пробовал. И скрин с Nightly. |
voqabuhe > 31-10-2014 00:59:57 |
Dumby пишет
Разобрался, действительно работает. Спасибо. |
Александр Колесников > 01-11-2014 22:43:45 |
По поводу кнопки Target control(Firefox)(Seamonkey). Как я понял, она удаляет атрибут target='_blank' из ссылок. Просветите, пожалуйста, а нельзя ли в usercontent.css прописать стиль, чтоб из всех ссылок убирать target='_blank' , как в этом стиле для старой Оперы: скрытый текст Выделить код Код:/* Name: Remove blank Version: 0.1 Author: profiT Description: removes target='_blank' links http://usercss.ru/styles/remove_blank/ */ a[href][target='_blank'] { -o-link: attr(href) !important; -o-link-source: current !important; } или это какая-то нестандартная фишка Оперы, не имеющая аналогичного воплощения в Лисе? Кажется мне, что CSS не может менять HTML-код... |
Александр Колесников > 01-11-2014 23:37:19 |
okkamas_knife спасибо! |
Dumby > 02-11-2014 00:13:58 |
Александр Колесников пишет
Так кто ж тебе запретит ? скрытый текст Выделить код Код:a[href][target="_blank"] { -moz-binding: url("data:application/xml,%3C%3Fxml%20version%3D%221.0%22%3F%3E%0A%3Cbindings%20id%3D%22a-target-bindings%22%20xmlns%3D%22http%3A%2F%2Fwww.mozilla.org%2Fxbl%22%3E%0A%09%3Cbinding%20id%3D%22a-target-_blank%22%3E%0A%09%09%3Cimplementation%3E%0A%09%09%09%3Cconstructor%3E%0A%09%09%09%09this.removeAttribute(%22target%22)%3B%0A%09%09%09%3C%2Fconstructor%3E%0A%09%09%3C%2Fimplementation%3E%0A%09%3C%2Fbinding%3E%0A%3C%2Fbindings%3E%0A") !important; } |
Александр Колесников > 02-11-2014 01:51:53 |
Dumby Спасибо! ALL Можно ли написать CB-код для обхода этого бага, а то уж больно привык кликать ЛКМ по лупе? |
Dumby > 02-11-2014 04:53:22 |
Александр Колесников скрытый текст Выделить код Код:(bar => { if (!bar) return; var btn = document.getAnonymousElementByAttribute(bar, "anonid", "search-go-button"); var prfx = 'event.button == 0 && gPrefService.getBoolPref("browser.search.openintab")\n\t' + '? doSearch(value, event.shiftKey ? "tabshifted" : "tab")\n\t: '; function setAttr(arg) btn.setAttribute("onclick", (arg ? "" : prfx) + "handleSearchCommand(event);"); setAttr(); addDestructor(setAttr); })(BrowserSearch.searchBar); |
Александр Колесников > 02-11-2014 10:04:54 |
Dumby Спасибо, багфикс работает! |
Александр Колесников > 03-11-2014 01:20:29 |
wolwerine Поправьте, пожалуйста, в Go and paste: если в буфере обмена находится не URL, а текст, то он по ПКМ (открыть в текущей вкладке) ищется в текущем поисковике, а по СКМ (открыть в новой вкладке)- не ищется с выдачей ошибки
|
Dumby > 03-11-2014 10:31:31 |
Александр Колесников скрытый текст Выделить код Код:this.onclick = e => { var arg, paste; switch (e.button) { case 2: if (e.ctrlKey || e.shiftKey) return; e.preventDefault(); case 1: if (!(paste = readFromClipboard())) return; if (e.button == 1) arg = new MouseEvent("", {ctrlKey: true}); gURLBar.value = paste; case 0: gURLBar.handleCommand(arg); } } this.onmouseenter = () => this.tooltipText = readFromClipboard() || this.label; |
Александр Колесников > 03-11-2014 13:31:30 |
Dumby Респект! |
Александр Колесников > 04-11-2014 10:00:04 |
Напишите, пожалуйста, код "Не открывать пустые вкладки при закачке файлов" типа zip, pdf... P.S. Уже есть: Releases · Infocatcher/Close_Download_Tabs · GitHub |
mozillka_ru > 04-11-2014 14:19:16 |
Народ, что то не нахожу инфы, а можно добавлять кнопки в "автозагрузку"? Вот есть у меня кнопка "добавить страницу в закладки по двойному клику". Для ее работы, кнопку надо вытащить на панель и жмакнуть после каждого перезапуска браузера, а можно этот процесс автоматизировать и убрать кнопку с панели? В CB полный ноль, если глупость сморозил, извините. |
mozillka_ru > 04-11-2014 22:34:14 |
Pony_Smile_Pack пишет
У меня она по другому принципу работает. Я один раз жму на CB на панели и после этого, до перезагрузки, страницы добавляются в закладки по двойному клику на нужной папке, а не как у вас - всегда в корневой каталог. Мой вариант явно удобней когда в закладках все по папкам отсортировано, вот бы еще при каждом перезапуске кнопку не нажимать.... |
voqabuhe > 04-11-2014 23:45:08 |
mozillka_ru пишет
А вот вариант ещё удобней и главное продолжает работать даже после перезагрузки. |
Pony_Smile_Pack > 05-11-2014 00:01:26 |
mozillka_ru пишет
[CB]Двойным левым кликом добавить закладку в папку закладок. | Форум Mozilla Россия |
mozillka_ru > 05-11-2014 00:27:35 |
Pony_Smile_Pack Это мне и было нужно, спасибо! ps а саму кнопку с панели убрать? |
Pony_Smile_Pack > 05-11-2014 00:33:57 |
mozillka_ru пишет
С панели в меню? - можно проверит что будет. Если вообще, то какой же смысл в кнопках тогда. |
mozillka_ru > 05-11-2014 00:44:14 |
Проверил - не работает! |
mozillka_ru > 05-11-2014 02:25:18 |
okkamas_knife Спасибо, я уже нашел вторую полезную кнопку, которая в один клик показывает\скрывает дополнительную панель и перетащил на неё все редко используемые кнопки |
skynet281978 > 06-11-2014 10:49:28 |
подскажите кнопку перезагрузки для CB можно разместить в главном меню как на картинке? |
wolwerine > 12-11-2014 00:50:54 |
Александр Колесников пишет
|
Grip > 17-11-2014 22:25:48 |
подскажите пожалуйста.хотел кнопку для запуска раширения fire commander создать,а кннопку расширения убрать потому-что она его только в плавающем окне запускает. сделал запуск по скм во вкладке, а по лкм хотел чтобы как раньше вызывалось. у него есть горячяя клавиша alt-c для запуска, а послать эту комбинацию не выходит. видел несколько вариантов,но ничего не получается,сам я ноль в этом деле. подскажите пожалуйста что надо вписать. сейчас код кнопки выглядит так: скрытый текст Выделить код Код:/*Initialization Code*/ // Fire Commander(в боковой панели) function lbMouse(){ sendKeyEvent({ alt: true, keyCode: "DOM_VK_C" }); }; // Fire Commander(во вкладке) function mbMouse(){ getBrowser (). selectedTab = getBrowser (). addTab ("chrome://FireCommander/content/FireCommander.xul") }; this.onclick = function(event) { if(event.button == 0) { // Действие при клике ЛКМ lbMouse(); } else if(event.button == 1) { // Действие при клике СКМ mbMouse(); } }; спасибо. |
zoomlin > 21-11-2014 18:27:10 |
Поправьте кто нибудь VT2 очень надо. Заранее благодарю |
Ki_rrrilll > 22-11-2014 00:46:50 |
okkamas_knife пишет
Вот я давно хотел узнать на этот счет. Если берем команду для кнопки, в каких случаях надо писать goDoCommand ("..."), а когда onCommand, а когда ничего не добавлять, а просто вписать команду? |
Мимокрокодил > 27-11-2014 16:49:53 |
skynet281978 пишет
Во, как раз сам решил себе запилить. У меня работает. Вроде Выделить код Код:(function() { const restartbtnId = 'ui-restart-button'; var restartbtn = document.getElementById(restartbtnId); if(!restartbtn){ restartbtn = document.createElement('toolbarbutton'); restartbtn.id = restartbtnId; restartbtn.tooltipText = "Перезапустить Firefox"; restartbtn.onclick = function(event){ if(event.button == 0) { var appStartup = Components.classes["@mozilla.org/toolkit/app-startup;1"] .getService(Components.interfaces.nsIAppStartup); appStartup.quit(appStartup.eForceQuit | appStartup.eRestart); } }; restartbtn.setAttribute('style', 'padding-right: 11px; padding-left: 11px; list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QUKCjI2BicMFgAAA0FJREFUeNqlk29oG3Ucxp/f/c8luaRJujQm7RbHLK4dwobaKrWTdX/YBAcDfaEizheCL/ayL9SpL3wxZDDwhY4hyqY4HYh04hiy1o11GyOidGi1o7t0bZo/veTSyyV3l7vLnS+W+sK99Pvygefz5fnyfIH/OeQhIfPeHikWfBkU9XQkKvZoumXZlqNYmnrSL5z8EUAHgP8wIP0uHY2Hzr76ysjhF/ZvD7IBHmrLhW51QDwPV678aX5/4easNf/+YQDmBoTpmkOxRPjSqY+PjAw/nmJPTxdRVQ0YLRNUgAcEDgYXCUh9yRGrMP48GtdmupAHgN6k9Pm5M689K0aC1EcXZPxx9fZ6WV4u+5695hMuLsYTKSYUErRySYF+SwPAA7AA+AzpPx7Zti059uhAD/XB+UXc+uHnauXOd8d9PTcPwADgtrhMBHzmEThKC76tA7D/jZBM9xz7cHJf3427GkqLK+26fP0TX8/NAVgC0ADgwS4Q2AUGAENC2wmXfX2ScNwbnU7nGhMIi8PxeJCamilieUFW26WpWQCrAGrdTQAANrmXEgYOHaU59p0ndu9I84lN3PWvf3qSYVlGMGwPvuuCYZl2N1sdgLNhjj3z6QGaZ07tnhje3P9YX+CG3ERhRQNN2WsMxbFNVbeR7BURkCSJiQyGXG3B28jYf+jcifGxrW/vGdsanpWbuDyvoWV7IKYJ4jZkql6vf3b15pKeToUxOJSJpkePTQIQAFAAQBGoatPxv8opuLNq4IFG4BiWS6zSIt26f3nVSR48+tSuTExKhIgDLoXefRPiwITO9+4s0EJPsFaz9rJBMQyeI07HB/Ep2JU1w8xPf0sAYPDIly/2Z9NfHDg4FDNsH6bpoLCy7uTzVXXL5riUzcYCDdvDr7IFzXLg2h3od2W1dPHNl2gAqP01dY9Nj7eq6/5ofJMkeBRBJCrSO4eSoXBUZHNLJlaqHaj3i3q7WNE9jheIZWr138+ep7uH9mrzF+cQ3bFUVMiw1nD5hkXYfLVNFmTNV5aVZqNcqSi5b04ot0+fCad2xWz13i/64vQc+c9ncgDifaNvPReIZYeESGKL3Vqv1RdmflP/vpTvNrMMoA0gCsD6B3vab6ot2QOXAAAAAElFTkSuQmCC)'); var quitbtn = document.getElementById('PanelUI-quit'); quitbtn.parentNode.insertBefore(restartbtn, quitbtn); quitbtn.parentNode.insertBefore(document.createElement('toolbarseparator'), quitbtn); } })(); |
VORON > 06-12-2014 06:39:36 |
Подскажите,что подправить,что бы заработала кнопка на 34-й лисе? |
voqabuhe > 06-12-2014 11:38:03 |
VORON пишет
Если ты воспользовался советом №505, то должна работать. Во всяком случае у меня в |
VORON > 07-12-2014 09:35:14 |
voqabuhe |
Mishania > 08-12-2014 19:53:40 |
Попалась мне такая кнопочка "ABP EHH" Выделить код Код:custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//custombuttons2.com/%22%3E%0A%20%20%3CCb2Ver%3E3.0.0%3C/Cb2Ver%3E%0A%20%20%3Cname%3EABP%20EHH%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAABh0RVh0U29mdHdhcmUAUGFpbnQuTkVUIHYzLjM2qefiJQAAAdVJREFUOE+lk79LAmEYx2sI+oHQErQ0NDSJblY4NNkfELhFQ0ENQkGCUMSFP0BMCqMhQiIrSxD8A2xpkMIghwizJXJxddHj3jvv7Nv7vGTkqQ113APHy30/z/d57nv96Ovj9z8uM+D49HSdF3rU0c9WQtsCcMFAYn9/5W5hAbWhoa71NDeH82g0yN8dJlAbgMQ5t7unuAUtuFy4DoUkDhn5BpDt3zqbHRXm53HBnfwEiM51mw1qIAB5dhby9DTUvT2oh4dQPB7ITie0gwNosRjqdjuS4TDaARYLtLU1fFSrUFZXoSwuwnh+BvP7Yby8QPF6YeTz0G9v0UilcBWPmwDj49CiUeiFAlgwCGV5Gcb7Oxq5HPSbG7ClJQE0ikXoDw+4SiTaAfXJSTSyWej399CSSbDNTRivr1C3t4WI7eyg+fYG7ewMdau1cwR5ZgbNSkWI9MdHMXuzVIK6u4tmuQyVu9PSadSmpsS+Onag8kUxSRJ0mpdtbIhujUwGbGsLMt888/lQm5joCjiikPQKkPm85HDgMhK5bAsSJYxC0hUyOIgaFbde5J84LUknPDuj5igPU8IoJB2QLwB1/hKPdUSZDiielDBaULci29S59UN9O6CHv9YnyBQiGHRETHQAAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B//%20Open/Close%20the%20Adblock%20Plus%3A%20Element%20Hiding%20Helper%0AehhSelectElement%28%29%3B%5D%5D%3E%3C/code%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20Check%20for%20Custom%20Buttons%B2%0Aif%20%28typeof%20custombuttons.uCbuttonButes%20%21%3D%20%27function%27%29%20%7B%0A%20%20alert%28%20%22This%20Button%20requires%20the%20Custom%20Buttons%25s%20Extension%22.replace%28%20/%25s/%2CString.fromCharCode%28%20178%20%29%20%29%20%29%3B%0A%20%20this.disabled%28true%29%3B%0A%7D%0A%0A//%20Initialise%20the%20tooltip%0Athis.tooltipText%20%3D%20%22Toggle%20ABP%3A%20Element%20Hiding%20Helper%22%3B%0A%0A%0A/*-------------------%20Attributes%20Block%20Start%20------------------*/%0A%0Athis.setAttribute%28%27author%27%2C%27Rawny%27%29%3B%0Athis.setAttribute%28%27version%27%2C%271%20%282009-04-20%29%27%29%3B%0Athis.setAttribute%28%27homepage%27%2C%20%27http%3A//custombuttons2.com/forum/buttons/buttons-database/toggle-adblock-plus-element-hiding-helper.html%27%29%3B%0Athis.setAttribute%28%27dependency%27%2C%27FF3.0*%2C%20CB2%202.0.9*%27%29%3B%0Athis.setAttribute%28%27status%27%2C%27Complete%27%29%3B%0Athis.setAttribute%28%27public%27%2Ctrue%29%3B%0A%0A/*-------------------%20Attributes%20Block%20End%20-------------------*/%5D%5D%3E%3C/initcode%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5BClick%20the%20button%20to%20open%20the%20Adblock%20Plus%3A%20Element%20Hiding%20Helper%20%28ABP%20EHH%29%20or%20close%20it%20if%20you%20are%20already%20in%20it.%5D%5D%3E%3C/help%3E%0A%3C/custombutton%3E Я так понимаю что она должна запускать Element Hiding Helper для Adblock Plus. В 34 она не работает. Может кто-нибудь сможет разобраться в чём причина и починит? |
villa7 > 08-12-2014 21:52:49 |
Mishania |
Mishania > 09-12-2014 07:37:09 |
villa7 |
villa7 > 09-12-2014 09:11:44 |
Mishania |
Mishania > 09-12-2014 09:44:05 |
villa7 |
villa7 > 09-12-2014 10:12:03 |
Mishania |
Mishania > 09-12-2014 11:27:40 |
villa7 |
bunda1 > 09-12-2014 12:35:51 |
Mishania пишет
ABP и Element Hiding Helper должны быть включены. Выделить код Код:var cm = document.getElementById("abp-toolbar-popup"); cm.collapsed = true; cm.openPopup(); document.getElementsByAttribute("label", "Скрыть элемент на странице")[0].doCommand(); cm.hidePopup(); cm.collapsed = false; |
Mishania > 09-12-2014 20:49:27 |
bunda1 |
volland > 11-12-2014 07:54:33 |
можно ли подправить кнопку https://forum.mozilla-russia.org/viewto … 47#p531447 |
1fesFFFF > 13-12-2014 05:47:02 |
bunda1 Ссылка на скрипт (4кб) http://www.adrive.com/public/hfF4ZA/ucjs_statusbar_zoom_panel_1.3.uc.zip Содержание скрипта Выделить код Код:// ==UserScript== // @name ucjs_statusbar_zoom_panel_1.3.uc.js // @namespace http://bbs2ch.sourceforge.jp/uploader/upload.php // @description г‚№гѓ†гѓјг‚їг‚№гѓђгѓјгЃ«г‚єгѓјгѓ еЂ¤г‚’иЎЁз¤єгѓ»е¤‰ж›ґгЃ™г‚‹гѓ‘гѓЌгѓ«г‚’иїЅеЉ гЃ™г‚‹гЂ‚ // @include main // @author otokiti // @compatibility WindowsXP / Ubuntu8.04(gnome) // @compatibility Firefox 3.0 - 3.6a1pre // @compatibility userChrome.js 0.7 - 0.8 / userChromeJS 1.0 // @compatibility Sub-Script/Overlay Loader v3.0.24mod // @version 0.1: 08/10/21 初版 // @version 0.2: 08/10/23 г‚єгѓјгѓ еЂ¤д»Ґе¤–гЃ®гѓЎгѓ‹гѓҐгѓјг‚’иїЅеЉ // @version 0.3: 08/11/18 uc.xul から uc.js へ変更 // @version 0.4: 08/12/13 Zoom й–ўдї‚гЃ®й–ўж•°гЃ®ж›ёгЃЌжЏ›гЃ€г‚‹ж§гЃ«е¤‰ж›ґ // @version 0.5: 09/01/22 パネル上のホイール・スクгѓгѓјгѓ«гЃ§г‚єгѓјгѓ // @version 0.6: 09/02/18 onLocationChange гЃ®гѓ•гѓѓг‚ЇгЃ«ж°—гЃҐгЃ„гЃ¦гЃ„гЃЄгЃ‹гЃЈгЃџгЃ®гЃ§иїЅеЉ гЃ—гЃџ // @version thanks: http://pc11.2ch.net/test/read.cgi/software/1230791860/717 // @version 0.7: 09/02/19 з›ґжЋҐж•°еЂ¤гЃ§жЊ‡е®љгЃ—гЃ¦г‚єгѓјгѓ еЂ¤г‚’е¤‰ж›ґгЃ™г‚‹гѓЎгѓ‹гѓҐгѓјг‚’иїЅеЉ // @version 0.8: 09/02/20 メニューが toolkit.zoomManager.zoomValues гЃЁеђЊжњџгЃ™г‚‹гѓўгѓјгѓ‰г‚’иїЅеЉ гЃ—гЃџ(default)гЂ‚ // @version 0.9: 09/02/21 ホイール・スクгѓгѓјгѓ«ж™‚гЃ«гѓЎгѓ‹гѓҐгѓјгЃЊе‡єгЃ¦гЃ„г‚‹е ґеђ€гЃЇж¶€гЃ™ж§гЃ«гЃ—гЃџгЂ‚ // @version 1.0: 09/02/21 onLocationChange гЃ®еј•ж•°г‚’еїг‚ЊгЃ¦гЃ„гЃџгЃ®г‚’дї®жЈ // @version thanks: http://pc11.2ch.net/test/read.cgi/software/1230791860/757 // @version 1.1: 09/05/12 Zoom 関係の関数を書き換え方法の変更とその他微修жЈгЂ‚ // @version з”»йќўдёЉгЃ§гЃ® Ctrl+<マウススクгѓгѓјгѓ«> гЃ«е†ЌеЇѕеїњгЂ‚пјЉжіЁж„Џ // @version 1.2: 09/05/13 гѓЎгѓ‹гѓҐгѓјгЃ®ж•°еЂ¤жЊ‡е®љгЃ§г‚єгѓјгѓ г‚’е¤‰ж›ґгЃ—гЃџе ґеђ€г‚їгѓ–гЃ®е€‡г‚Љж›їгЃ€гЃ«еЇѕеїњгЃ—гЃ¦гЃ„гЃЄгЃ‹гЃЈгЃџгЃ®г‚’дї®жЈ(0.7から)гЂ‚ // @version 1.3: 09/05/18 _handleMouseScrolled だけ別扱いにしてみる。 // @Note 1) г‚№гѓ†гѓјг‚їг‚№гѓђгѓјгЃ«г‚єгѓјгѓ еЂ¤гѓ»гѓўгѓјгѓ‰г‚’иЎЁз¤єгЃ™г‚‹гѓ‘гѓЌгѓ«г‚’иїЅеЉ гЃ™г‚‹гЂ‚ // @Note 2) パネルのコンテクスト・メニューにズーム・メニューを表示する。 // @Note 3) パネル上のホイール・スクгѓгѓјгѓ«гЃ§г‚єгѓјгѓ гЂ‚ // @Note 4) гѓ‘гѓЌгѓ«гѓ»г‚ЇгѓЄгѓѓг‚ЇгЃ§гѓЄг‚»гѓѓгѓ€гЂ‚ // @Note 5) 直接ズームを指定可能なメニューリスト。 // @Note д»•ж§ _SYNC_ZOOMVALUES гЃЊ false гЃ®е ґеђ€ toolkit.zoomManager.zoomValues г‚„ USER_ZOOM_LEVEL の値を変更すると // @Note Zoom In(Ctrl++)/Zoom Out(Ctrl+-)で変えたズーム値がメニューに無く結果チェックがд»гЃ‹гЃЄгЃ„е ґеђ€гЃЊгЃ‚г‚‹гЂ‚ // @Note еЇѕз– A) _SYNC_ZOOMVALUES г‚’ true гЃ§дЅїгЃ†гЂ‚ // @Note B) 別に構わないとそのまま使う。 // @Note пјЉжіЁж„Џ Ctrl+<マウススクгѓгѓјгѓ«> гЃ§гЃЇз‹¬и‡Єг‚№гѓ†гѓѓгѓ—гЃЊе€©з”ЁгЃ•г‚Њг‚‹з‚єгѓЎгѓ‹гѓҐгѓјгЃ®еЂ¤д»Ґе¤–гЃ«гЃЄг‚‹е ґеђ€гЃЊжњ‰г‚‹гЂ‚ // @Note ---------------------------------------------------------------------------------------------- // @Note пјЉгЃ“гЃ®г‚№г‚ЇгѓЄгѓ—гѓ€гЃЇ Alice0775ж°ЏдЅњгЃ®ж‹ЎејµгЂЊDefault FullZoom Level 3.5гЂЌг‚’еЏ‚иЂѓгЃ«гЃ•гЃ›гЃ¦й ‚гЃЌгЃѕгЃ—гЃџгЂ‚ // @Note ---------------------------------------------------------------------------------------------- // ==/UserScript== var ucjs_zoom = { // ------------------------------ д»»ж„ЏгЃ«иЁе®љ ----------------------------------------------- // _TAGET_ID: "page-report-button", // _ZOOM_MODE: [ { txt: "\u041c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u044e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0443", color: "#00000" }, { txt: "\u041c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u043a\u0441\u0442", color: "#096CE6" } ], // _SYNC_ZOOMVALUES: true, // USER_ZOOM_LEVEL: [ 30, 50, 67, 80, 90, 100, 110, 120, 133, 150, 170, 200, 240, 300 ], // USER_ZOOM_LEVEL: [ 30, 50, 75, 100, 150, 200, 250, 300 ], // -------------------------------------------------------------------------------- // ZoomLevel: [ ], // init: function() { // Zoom var _cmd = "ucjs_zoom.updateZoom();$&"; // toggleZoom eval("ZoomManager.toggleZoom = " + ZoomManager.toggleZoom.toString().replace(/}$/, _cmd)); // reset eval("FullZoom.reset = " + FullZoom.reset.toString().replace(/}$/, _cmd)); // enlarge eval("FullZoom.enlarge = " + FullZoom.enlarge.toString().replace(/}$/, _cmd)); // reduce eval("FullZoom.reduce = " + FullZoom.reduce.toString().replace(/}$/, _cmd)); // onLocationChange addEventListener("TabAttrModified", function(e) { if ( e.target.linkedBrowser.currentURI.spec == gBrowser.currentURI.spec ) { ucjs_zoom.updateZoom(); } }, true, gBrowser.tabContainer ); // _handleMouseScrolled _cmd = "setTimeout(ucjs_zoom.updateZoom, 0); $&"; eval("FullZoom._handleMouseScrolled = " + FullZoom._handleMouseScrolled.toString().replace(/}$/, _cmd)); // if (this._SYNC_ZOOMVALUES) { // toolkit.zoomManager.zoomValues var SysZoomLevel = Cc["@mozilla.org/preferences;1"].getService(Ci.nsIPrefBranch) .getCharPref("toolkit.zoomManager.zoomValues").split(","); for (var i=0; i<SysZoomLevel.length; i++) this.ZoomLevel.push(parseInt(parseFloat(SysZoomLevel[i])*100)); } else { this.ZoomLevel = this.USER_ZOOM_LEVEL; } // var zoomPanel = document.createElement("statusbarpanel"); zoomPanel.setAttribute("id", "ucjs_zoom_statuslabel"); zoomPanel.setAttribute("context", "ucjs_zoom-context"); zoomPanel.setAttribute("onclick", "ucjs_zoom.click_StatusLabel(event);event.stopPropagation();"); var targetPanel = document.getElementById(this._TAGET_ID); targetPanel.parentNode.insertBefore(zoomPanel, targetPanel.nextSibling); // var MainPopup = document.getElementById("mainPopupSet"); var PopupMenu = MainPopup.appendChild(document.createElement("menupopup")); PopupMenu.id = "ucjs_zoom-context"; PopupMenu.setAttribute("oncommand", "event.stopPropagation();"); PopupMenu.setAttribute("onpopupshowing", "ucjs_zoom.show_Popup(event);"); ucjs_zoom.updateZoom(); // zoomPanel.addEventListener("DOMMouseScroll", function(event){ ucjs_zoom.wheelZoom(event); }, false); }, // show_Popup : function(e) { var aPopup = e.target; for(var i = aPopup.childNodes.length - 1; i >= 0; i--) { aPopup.removeChild(aPopup.childNodes.item(i)); } // for (var i = ucjs_zoom.ZoomLevel.length-1; i >=0 ; i--) { var tempItem = document.createElement("menuitem"); tempItem.setAttribute("label", ucjs_zoom.ZoomLevel[i] + "%"); tempItem.setAttribute("oncommand","ucjs_zoom.set_Zoom(" + ucjs_zoom.ZoomLevel[i]/100 + ");"); tempItem.setAttribute("type", "checkbox"); if(ucjs_zoom.ZoomLevel[i] == Math.floor((ZoomManager.zoom + 0.005) * 100) ){ tempItem.setAttribute("checked",true); } aPopup.appendChild(tempItem); } var tempItem = document.createElement("menuseparator"); aPopup.appendChild(tempItem); // var popup = document.getElementById("viewFullZoomMenu").lastChild; for (var i = 0; i < popup.childNodes.length; i++) { var tempItem = popup.childNodes[i].cloneNode(true); if (tempItem.id) tempItem.id = "ucjs-" + tempItem.id; aPopup.appendChild(tempItem); } }, // set_Zoom: function(n) { var markupDocumentViewer = getBrowser().markupDocumentViewer; if (!markupDocumentViewer) return; if (ZoomManager.useFullZoom) { if (markupDocumentViewer.textZoom != 1) markupDocumentViewer.textZoom = 1; if (markupDocumentViewer.fullZoom != n) markupDocumentViewer.fullZoom = n; } else { if (markupDocumentViewer.textZoom != n) markupDocumentViewer.textZoom = n; if (markupDocumentViewer.fullZoom != 1) markupDocumentViewer.fullZoom = 1; } ucjs_zoom.updateZoom(); return n; }, // wheelZoom: function(e) { ucjs_zoom.hidePopup(document.getElementById("ucjs_zoom-context")); // if (e.detail > 0) FullZoom.reduce(); else FullZoom.enlarge(); }, // hidePopup: function (menu) { var popupBox = null; var menuBox = null; try { popupBox = menu.boxObject.QueryInterface(Ci.nsIPopupBoxObject); } catch (e) {} try { menuBox = menu.parentNode.boxObject.QueryInterface(Ci.nsIMenuBoxObject); } catch (e) {} if (menuBox) menuBox.openMenu(false); else if (popupBox) popupBox.hidePopup(); }, // click_StatusLabel:function(e){ if(e.button != 0) return; FullZoom.reset(); }, // updateZoom: function(){ // var Toggle_org = document.getElementById("toggle_zoom"); if (Toggle_org) { Toggle_org.setAttribute("checked", !ZoomManager.useFullZoom); } var Toggle_ucjs = document.getElementById("ucjs-toggle_zoom"); if (Toggle_ucjs) { Toggle_ucjs.setAttribute("checked", !ZoomManager.useFullZoom); } // var Zoom = document.getElementById("ucjs_zoom_statuslabel"); Zoom.setAttribute("label", Math.floor((ZoomManager.zoom + 0.005) * 100) + "%"); Zoom.setAttribute("tooltiptext", ucjs_zoom._ZOOM_MODE[ZoomManager.useFullZoom? 0: 1].txt); Zoom.setAttribute("style", "color: " + ucjs_zoom._ZOOM_MODE[ZoomManager.useFullZoom? 0: 1].color + ";"); } } ucjs_zoom.init();; |
bunda1 > 13-12-2014 23:34:06 |
1fesFFFF пишет
Что то не смог исправить |
villa7 > 14-12-2014 05:32:17 |
Вот напасть, потребовалось отключать этот скрипт на одном сайте. скрытый текст Выделить код Код:// ==UserScript== // @author Al_H // @description Add URL in tooltip to include more informaton // @include * // @name Add URL in tooltip // @version 0.0.1.20141013112432 // @namespace https://greasyfork.org/users/5117 // ==/UserScript== for(var i=0;i<document.links.length;i++) { if(document.links[i]) document.links[i].title+=((document.links[i].title=='')?'':'\n')+decodeURI(document.links[i].href); } можно как то кнопку сделать вкл/откл скрипта с перезагрузкой страницы, задолбало каждый раз на вкладку аддонов лазить. |
bunda1 > 14-12-2014 12:36:42 |
villa7 пишет
Может поставь исключение для сайта тут: if(document.links[i] ) ну там && document.domain !== |
villa7 > 14-12-2014 14:23:39 |
bunda1 |
voqabuhe > 14-12-2014 14:40:39 |
villa7 пишет
А звёздочку ставишь http://www.ex.ua/* ? |
villa7 > 14-12-2014 15:21:03 |
voqabuhe |
voqabuhe > 14-12-2014 15:45:24 |
villa7 пишет
На лбу это конечно круто |
villa7 > 14-12-2014 15:59:28 |
voqabuhe |
voqabuhe > 14-12-2014 16:27:58 |
villa7 пишет
Да я видел выше. Это я к тому что в Greasemonkey правильно сделали, уже ну никак не забудешь. |
AlexCondor > 14-01-2015 16:10:38 |
WinXP sp3 - FF 35.0 - CB 0.0.5.8 - Autocopy+3 от 26.12.2013 P.S. Прошу прощения. Ошибся веткой, перенес сообщение из ветки обсуждения CB/ |
bunda1 > 15-01-2015 01:24:01 |
AlexCondor пишет
Исправил: Autocopy+3 |
AlexCondor > 15-01-2015 12:09:21 |
bunda1 пишет
Большое спасибо за помощь. |
HaGEN > 20-01-2015 23:44:23 |
Умельцы ! А можно на СКМ (клик колесом мыши) повесить действие "копировать выделенный текст" ? |
bunda1 > 21-01-2015 00:28:30 |
HaGEN пишет
Выделить код Код:addEventListener("mouseup", (e)=>{ e.button==1 && goDoCommand("cmd_copy") }, false, gBrowser ); |
rbfyec > 21-01-2015 04:14:49 |
bunda1 |
HaGEN > 21-01-2015 19:04:06 |
bunda1 благодарю! Завсегда помогаешь страждущим if {есть выделенный текст на странице, то отменить/destroy autoscroller} 21-01-2015 19:16:02 rbfyec пишет
хехех, ну это и я понял, даже проверил. addEventListener("mouseup", (e)=>{ e.button==0 && goDoCommand("cmd_copy") }, false, gBrowser ); то при выделив текст и сделав ЛКМ - выделенный текст будет скопирован и убрано выделение текста. Два в одном, хехе... |
rbfyec > 21-01-2015 22:32:21 |
HaGEN пишет
Про выбор кнопок мыши я догадался Почему не Выделить код Код:addEventListener("mouseup", function(e) { if (e.button==1) goDoCommand("cmd_copy") }, false, gBrowser ); |
bunda1 > 21-01-2015 22:36:00 |
rbfyec пишет
Анонимную функцию с передачей аргумента e которую запускает обработчик: можно написать короче: а можно и без скобок если код для запуска не сложный в одной строке: а можно сократить просто анонимная функцию и без обработчика: Выделить код Код:(function() { setTimeout(function() { custombuttons.alertSlide("alert", "function") }, 5500); })(); вот так: Выделить код Код:(() => { setTimeout(function() { custombuttons.alertSlide("alert", "=>") }, 5500); })(); Тут почитай: https://developer.mozilla.org/en-US/doc … _functions |
rbfyec > 21-01-2015 22:42:52 |
bunda1 пишет
А почему здесь а не |
bunda1 > 21-01-2015 22:59:18 |
rbfyec пишет
можно и так: но с && короче, но не всё работает, например: не будет работать, тут почитай http://learn.javascript.ru/logical-ops |
bunda1 > 22-01-2015 22:40:23 |
HaGEN пишет
Выделить код Код:addEventListener("mousedown", (e)=>{ if ( e.button !== 1 ) return; var selection = document.commandDispatcher.focusedWindow.getSelection().toString(); if ( selection == '' ) { var theBox = document.commandDispatcher.focusedElement; if ( theBox && (theBox.type == "text" || theBox.type == "textarea") ) { var startPos = theBox.selectionStart; var endPos = theBox.selectionEnd; var selection = theBox.value.substring(startPos, endPos); } }; selection = ( selection !== '' ) ? true : false; if ( selection ) { e.preventDefault(); e.stopPropagation(); setTimeout(()=> document.activeElement.blur(), 50); setTimeout(()=> window.content.focus(), 300); } goDoCommand("cmd_copy"); }, true, gBrowser ); Но мне кажется что копировать выделенный текст двойным правым кликом удобней: Выделить код Код:addEventListener("dblclick", (e)=>{ if ( e.button == 2 && !/findbar|tabbrowser/.test( e.target.localName ) ) { e.preventDefault(); goDoCommand("cmd_copy"); document.getElementById("contentAreaContextMenu").hidePopup(); } }, false, gBrowser ); |
HaGEN > 23-01-2015 09:15:41 |
Афигеть ! bunda1 - кудесник. |
rbfyec > 24-01-2015 13:08:01 |
bunda1 |
HaGEN > 24-02-2015 13:55:27 |
Помогите с кнопкой. Пункт создается, но действие не знаю как сделать, пробовал много, ниччё не получилося. Постоянный пункт меню при выделении текста "Открыть как ссылку". Пункт создается, с действием подмогните: Код кнопки // Открыть как ссылку. // (function() { if ( document.getElementById("go2link") ) return; var str = {получить в переменную выделенный текст}; // №1 хз. var menuItem = document.createElement("menuitem"); menuItem.id = "go2link"; |
turbot > 24-02-2015 22:57:32 |
HaGEN скрытый текст Выделить код Код:(function() { if ( document.getElementById("go2link") ) return; var menuItem = document.createElement("menuitem"); menuItem.id = "go2link"; menuItem.setAttribute("label", "Перейти по ссылке"); menuItem.setAttribute("class", "menuitem-iconic"); menuItem.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACIUlEQVQ4jZ2STUtUYRSAn3vfj3tnnBybUdEKTZ2gJjDQ/AHt3PWhTNAmadsq2tUPadG2JGWwRZugRbSKSAqHmkUpVMagoo7a1Rnv3Pu+LdJQYYQ6u8N5znM4nOPQJPLj079c1/1ijLlTLhbmmnFuswKQwuGSK9xn+fHpgf8RcHGoVyTbTpx3hfsuPz6d+2fBZhDRf66TdEc6K5QsDd6aGT3KOJncXatbMqiWNNJPIbSP0AqhFReGB4hjQ+dJn6XlLb4vrBiL86r09NroIUH+6k2kcJBSoJWL1gJrQQqXza06rnDItHrUd0KWK1W2g93Z0uT1EQC5b6qUPuOl2tBJHy/p4adTaP2nLIVLUI/ozCTpP93Kh0+Vy8MTL9biRjQmwQKwXd0gjhWNyBBGlkgo/IRFKwGAVoLQwHotoqennW8Ly5lGLF66e/0AWCwH86NRq0dIx2GpUiXYDqOu3o6Bvyv0DA3iJRIIJdFKoH2JtRAE4b6dbKti/usKqytbi6dy3bnnD0ZCCZafs+/RyRTKb0F5HspTKE/R3deF6zokfUkqIZn7uEjYiGdKkzfGSnuDJXClVl0nCg3Ktwgd7Z1Rvs6eiWnPJnGsZfbtvMVx3pgonjj0B832zY9N2b7BszSCHSo/1izw2MTmYblYWD3IySb9AKxUqtQ2AmOMfYK198vFQnCUOVZQ2wh2TWzulYuFR82Y5gLHMSY2t8vFwtRxQ34DLk/NkLifJmMAAAAASUVORK5CYII="); menuItem.setAttribute("oncommand", "getBrowser().selectedTab = getBrowser().addTab(document.commandDispatcher.focusedWindow.getSelection().toString())"); document.getElementById("context-copy").parentNode.insertBefore( menuItem, document.getElementById("context-copy") ); document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() { menuItem.hidden = !gContextMenu.isTextSelected; }, false); })(); |
HaGEN > 26-02-2015 14:10:58 |
turbot Благодарю! Всё отлично. |
4zz > 28-02-2015 23:20:16 |
Помогите с кнопкой Save + http://forum.mozilla-russia.org/viewtop … 40#p493040 |
Lex1 > 01-03-2015 00:08:57 |
4zz "nsIWebBrowserPersist.saveURI изменили в FF36 и для работы он теперь требует восемь параметров" Можно скажем воткнуть «null,» посередине в Или сделать как у меня там, если нужна работа в нескольких версиях фокса. |
4zz > 01-03-2015 00:32:09 |
Lex1 пишет
Я в кодах не силен, но |
Lex1 > 01-03-2015 00:40:28 |
Там семь параметров - теперь требуется восемь. Т.е. |
4zz > 01-03-2015 00:48:07 |
Lex1 |
difabor > 01-03-2015 22:09:53 |
Когда делаешь скриншот страницы с ютюбом, то на месте ютюба - чёрный прямоугольник. Это можно как-то исправить? |
bunda1 > 01-03-2015 22:21:41 |
difabor пишет
Если ты про кнопку Save+ то я не знаю. |
Lex1 > 01-03-2015 22:47:04 |
Плагины плохо захватываются (нужен wmode=opaque), html5 - нормально. Также см. http://forums.mozillazine.org/viewtopic.php?f=19&t=2663435 |
bunda1 > 01-03-2015 23:23:49 |
Lex1 пишет
Спасибо |
turbot > 02-03-2015 00:07:05 |
bunda1 |
bunda1 > 02-03-2015 00:17:22 |
turbot |
bunda1 > 03-03-2015 22:50:44 |
turbot пишет
Укажи в главных настройках FF папку для сохранения.
Выделить код Код:document.getElementById('здесь id пункта меню ScrapBook для сохранения страницы или текста в нужную папку').click(); |
turbot > 04-03-2015 07:40:10 |
bunda1
Указан "E:\", может поэтому? Или потому что |
bunda1 > 04-03-2015 19:41:39 |
turbot пишет
Странно, я сейчас установил и у меня сохраняет без запроса. Может сбрось все настройки и тогда попробуй сохранить. |
turbot > 04-03-2015 20:45:12 |
bunda1 |
voqabuhe > 05-03-2015 15:52:33 |
А случаем ни у кого нет кнопочки для замены Go Parent Folder? |
difabor > 06-03-2015 03:01:57 |
voqabuhe пишет
Тогда уж заодно желательно бы сделать и Show Parent Folder |
villa7 > 06-03-2015 11:19:51 |
bunda1 скрытый текст Выделить код Код:// ЛКМ переключить настройки кнопки и стиль .......... 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"; // Получить настройки кнопки и 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 ); }; addDestructor(setStyleForPages); run.value && setStyleForPages(); // Подсказка для кнопки .......... this.tooltipText = "Л: Переключить черный фон страниц"; Сайты где менял на чёрный стиль загружаются всё в чёрном, если отключить кнопку и загрузить а потом включить, то стиль срабатывает, а вот загружаться сразу с включенной кнопкой не хочет. |
rbfyec > 06-03-2015 12:18:07 |
difabor пишет
Горячо поддерживаю! show parent folder очень бы не помешала.
А разве эта кнопка существует в природе, что её можно найти поиском? |
SendInfo > 06-03-2015 12:36:04 |
villa7, кнопка от Infocatcher-а Выделить код Код:custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%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%5Bcustombuttons-stdicon-1%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/*%u0430%u0432%u0442%u043E%u0440%20Infocatcher%20%u043A%u043D%u043E%u043F%u043A%u0430%20%22%u043F%u043E%u043C%u043D%u0438%u0442%22%20%u0441%u0432%u043E%u0435%20%u0441%u043E%u0441%u0442%u043E%u044F%u043D%u0438%u0435%20%u043F%u043E%u0441%u043B%u0435%20%u043F%u0435%u0440%u0435%u0437%u0430%u043F%u0443%u0441%u043A%u0430%20firefox%2C%20%u0442%u043E%20%u0435%u0441%u0442%u044C%20%u0431%u044B%u043B%u0430%20%u043E%u043D%u0430%20%22%u0432%u043A%u043B.%22%20%u0438%u043B%u0438%20%22%u0432%u044B%u043A%u043B.%22%20*/%0A%0A/*http%3A//userstyles.org/styles/45663/global-pseudo-brightness-control*/%0A%0A%0A@namespace%20url%28http%3A//www.w3.org/1999/xhtml%29%3B%0A%0A@-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%20url-prefix%28about%3A%29%7B%0A%0A%0A%0Ahtml%3Aafter%20%7B%0A%0A%0A%0Acontent%3A%22%22%20%21important%3B%0A%0Aposition%3A%20fixed%20%21important%3B%0A%0Atop%3A%200%20%21important%3B%0A%0Abottom%3A%200%20%21important%3B%0A%0Aleft%3A%200%20%21important%3B%0A%0Aright%3A%200%20%21important%3B%0A%0A/*background%3A%20%23000%20%21important%3B*/%0A/*background%3A%20%23002288%20%21important%3B*/%0Abackground%3A%20-moz-linear-gradient%28top%2C%20rgba%280%2C0%2C255%2C1%29%200%25%2C%20rgba%28110%2C119%2C116%2C1%29%2050%25%2C%20rgba%2810%2C14%2C10%2C1%29%2051%25%2C%20rgba%2810%2C8%2C9%2C1%29%20100%25%29%20%21important%3B%0A/*background%3A%23CDCDFD%21important%3B*/%0Az-index%3A%2099999999%20%21important%3B%0A%0Apointer-events%3A%20none%20%21important%3B%0A%0Aopacity%3A%20.2%20%21important%7D%0A%0A%0A%0A%7D%0A%0A%0A%0A%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E Кнопка "помнит" свое состояние после перезапуска ![]() |
villa7 > 06-03-2015 13:22:05 |
SendInfo |
SendInfo > 06-03-2015 18:41:45 |
villa7, а можно сам стиль. Я у себя посмотрю. Думается мне здесь дело не в js, а в css. |
voqabuhe > 06-03-2015 19:37:10 |
rbfyec пишет
Да нет такой кнопки, во всяком случае в свободном доступе. Это он так, чтобы в разговор встрясть |
bunda1 > 06-03-2015 20:27:01 |
voqabuhe пишет
А что делает это расширение? |
voqabuhe > 06-03-2015 20:39:56 |
bunda1 |
difabor > 06-03-2015 23:08:02 |
voqabuhe пишет
А Show Parent Folder добавляет колонку в Библиотеку закладок в которой указывается Parent Folder - полезно для меток, недавних добавлений и пр. В остальных случаях - не нужна, но эту колонку можно и убирать |
bunda1 > 06-03-2015 23:39:26 |
villa7 пишет
Похоже дело не в кнопке а в Css чёрном стиле, с другими стилями порядок. Советую удалять куски чёрного стиля по одному чтобы узнать где ошибка. Странно что консоль ошибок ничего не показывает. |
villa7 > 07-03-2015 00:46:08 |
bunda1 |
villa7 > 07-03-2015 01:35:33 |
SendInfo скрытый текст Выделить код Код:/*######################RUBOARD##################*/ @-moz-document domain("forum.ru-board.com"), domain("gallery.ru-board.com"), domain("forall.ru-board.com") { div, body, .tit, table, td, form{background: #333333 !important; } font, td, a {color: #cccccc !important;} span {color: #f2f2f2 !important;} .dats {background: #444444 !important;} a:link {color: #dddddd !important;} .lgf, table {border-color: #333333 !important;} img[src="board/temp/itech-promo/r/4.gif"], img[src="board/temp/itech-promo/r/1.gif"], img[src="board/temp/itech-promo/r/3.gif"], img[src="board/temp/itech-promo/r/2.gif"], img[src="board/temp/itech-promo/r/5.gif"], img[src="board/temp/itech-promo/r/6.gif"], img[src="board/temp/itech-promo/r/7.gif"], img[src="board/temp/itech-promo/r/8.gif"], img[src="board/temp/itech-promo/r/9.gif"], img[src="board/temp/itech-promo/r/10.gif"] {display: none !important;} textarea{ -moz-appearance: none !important; background-color: #333333 !important; color: #e2e2e2 !important;}} http://forum.ru-board.com/topic.cgi?for … start=4680 |
SendInfo > 07-03-2015 02:54:52 |
villa7 кнопка от Infocatcher-а ![]() |
villa7 > 07-03-2015 05:47:28 |
SendInfo |
Dumby > 07-03-2015 06:13:13 |
voqabuhe пишет
Ну, раз уж согласился на стиль, тогда может попробуй обновить этим. Бэкап, рестарт, и всё такое. скрытый текст Выделить код Код:@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul); #placesContext .box-inherit.scrollbox-innerbox { -moz-binding: url('data:application/xml,\ \ <?xml version="1.0"?>\%0A\ <bindings xmlns="http://www.mozilla.org/xbl">\%0A\ <binding id="placesContext_extraMenuitems">\%0A\ <implementation>\%0A\ <constructor>\%0A\ <![CDATA[\%0A\ var before = document.getElementById("placesContext_editSeparator");\%0A\ var popup = this.linkedPopup = this.parentNode.parentNode.parentNode;\%0A\ var menuitem = popup.insertBefore(document.createElement("menuitem"), before);\%0A\ menuitem.id = "placesContext_updateBookmarkURL";\%0A\ menuitem.setAttribute("label", decodeURIComponent(\%0A\ "%D0%9E%D0%B1%D0%BD%D0%BE%D0%B2%D0%B8%D1%82%D1%8C%20%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D1%83"\%0A\ ));\%0A\ menuitem.setAttribute("oncommand", "this.cmd();");\%0A\ menuitem.cmd = function() {\%0A\ var id = popup._view.selectedNode.itemId;\%0A\ var win = Services.wm.getMostRecentWindow("navigator:browser");\%0A\ var {currentURI: uri, selectedBrowser: br, selectedTab: tab} = win.gBrowser;\%0A\ \%0A\ PlacesUtils.bookmarks.changeBookmarkURI(id, uri);\%0A\ PlacesUtils.bookmarks.setItemTitle(id, tab.label);\%0A\ \%0A\ var favicon = br.mIconURL, fs = Ci.nsIFaviconService;\%0A\ var faviconURI = favicon ? win.makeURI(favicon) : PlacesUtils.favicons.defaultFavicon;\%0A\ var private = win.PrivateBrowsingUtils.isBrowserPrivate(br);\%0A\ PlacesUtils.favicons.setAndFetchFaviconForPage(uri, faviconURI, true,\%0A\ private ? fs.FAVICON_LOAD_PRIVATE : fs.FAVICON_LOAD_NON_PRIVATE\%0A\ );\%0A\ }\%0A\ \%0A\ var menuitem2 = popup.insertBefore(document.createElement("menuitem"), before);\%0A\ menuitem2.id = "placesContext_goParentFolder";\%0A\ menuitem2.setAttribute("label", decodeURIComponent(\%0A\ "Go Parent Folder"\%0A\ ));\%0A\ function sel(view, id) {\%0A\ var str = "node.type == Ci.nsINavHistoryResultNode.RESULT_TYPE_FOLDER";\%0A\ var src = view.selectItems.toString();\%0A\ var code = src.replace(str + ";", "(" + str + " || " + str + "_SHORTCUT);");\%0A\ view.place = view.place; eval("(" + code + ")").bind(view)([id]);\%0A\ vis(view);\%0A\ }\%0A\ function vis(tree) {\%0A\ var pos = 0.5, tbo = tree.treeBoxObject;\%0A\ var ind = tbo.view.selection.currentIndex;\%0A\ var first = tbo.getFirstVisibleRow();\%0A\ var visibleRows = tbo.height/tbo.rowHeight;\%0A\ var newFirst = ind - pos*visibleRows + 1;\%0A\ tbo.scrollByLines(Math.round(newFirst - first));\%0A\ }\%0A\ menuitem2.setAttribute("oncommand", "this.cmd();");\%0A\ menuitem2.cmd = function() {\%0A\ var view = popup._view, id = view.selectedNode.itemId;\%0A\ if (view.id == "placeContent") {\%0A\ var plView = document.getElementById("placesList");\%0A\ var parentId = PlacesUtils.bookmarks.getFolderIdForItem(id);\%0A\ sel(plView, parentId);\%0A\ setTimeout(() => {view.selectItems([id]); vis(view);}, 100);\%0A\ } else\%0A\ sel(view, id);\%0A\ }\%0A\ var handler = this.linkedPopupPopupshowihgHandler = function () {\%0A\ var place = (popup._view.selectedNodes.length == 1) && popup._view.selectedNode;\%0A\ menuitem.hidden = menuitem.disabled = !(place && PlacesUtils.nodeIsBookmark(place));\%0A\ menuitem2.hidden = menuitem2.disabled = menuitem.hidden || !location.href.contains("a");\%0A\ };\%0A\ handler(); popup.addEventListener("popupshowing", handler);\%0A\ ]]>\%0A\ </constructor>\%0A\ <destructor>\%0A\ this.linkedPopup.removeEventListener("popupshowing", this.linkedPopupPopupshowihgHandler);\%0A\ </destructor>\%0A\ </implementation>\%0A\ </binding>\%0A\ </bindings>\ \ ') !important; } |
turbot > 07-03-2015 06:37:11 |
Dumby orPaste for Stylish Выделить код Код:var theSeparator = "►►►►►►►"; theSeparator = "\n" + theSeparator + "\n"; var items = this.Help.split(theSeparator); //==================================================================================== this.imageOn = "data:image/gif;base64,R0lGODlhEAAQAN0DABop/8f//5zj/////+D//xpP/4rQ/xxk/xo8/0KH/3vA/xpH/1Ka/xpb/3W8/5DZ/6Lp/xow/1lo/yZr/0yU/zN6/zB1/2uz/z+IzDyEx+Hh4TJB/4bM8B9m/4/W/4jO/5be/+j//670/y50/1ed/3G1/6rM/7bF/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUsASgAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAAQAAAGlUCAcEgsCgNIJORhAAiezyPyAFgcDoUIgBMFICeFB2FA1jAOXSTgQQYZIIMLWiBFkBmFBADRUHSFCGMGWVVQdE4CCx5kAwQGegZdTx8IDmNkBBCIQk8GEhURDQyXBZICEiYnBwkICQMhHRgZnAIbAwECDhMCjQVqm4yMASUkv08WDRQKyw4VFEm0dBcJIxZeSQFG2kRBACH5BAkZACgALAAAAAAQABAAAAY5QJRwSCwKBUgkMcBkHpVGoRMFjaKm1ShWYJUGusPm9zq2TqfmMVPUPZfBZDAUHZ2/i0nvnZrkwotBADs="; this.imageOff = "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACjo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/9nZ2f/Z2dn/2dnZ/6Ojo//Hx8f/srKy/62trf+tra3/o6Oj/+vr6//r6+v/6+vr/+vr6//r6+v/o6Oj/6Ojo//Z2dn/2dnZ/62trf+jo6P/uLi4/8zMzP/MzMz/zMzM/8nJyf+tra3/uLi4/+vr6//r6+v/6+vr/6Ojo/+jo6P/2dnZ/9nZ2f+jo6P/////////////////////////////////6+vr/8fHx/+9vb3/6+vr/+vr6/+jo6P/o6Oj/9nZ2f/Z2dn/ra2t///////r6+v/2dnZ/8fHx/+oqKj/2dnZ///////19fX/o6Oj/+vr6//r6+v/o6Oj/6Ojo//Z2dn/2dnZ/729vf/e3t7/4+Pj/6Ojo/+1tbX/o6Oj/7W1tf//////9/f3/6ampv+Hh4f/gICA/6Ojo/+jo6P/2dnZ/9nZ2f/R0dH/vb29/62trf+jo6P/o6Oj/729vf/19fX///////////+jo6P/2dnZ/9nZ2f+jo6P/o6Oj/9nZ2f/Z2dn/0dHR/6Ojo//Jycn/9fX1//////////////////X19f/b29v/o6Oj/9nZ2f/Z2dn/o6Oj/6Ojo//Z2dn/2dnZ/6Ojo//U1NT/////////////////9fX1/9HR0f+1tbX/o6Oj/9TU1P/Z2dn/2dnZ/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/9fX1///////R0dH/o6Oj/6Ojo/+jo6P/o6Oj/9nZ2f/Z2dn/2dnZ/9nZ2f+jo6P/o6Oj/+vr6//r6+v/o6Oj////////////urq6/6Ojo/+1tbX/o6Oj/6Ojo/+jo6P/zMzM/9nZ2f/Z2dn/o6Oj/6Ojo//r6+v/6+vr/6Ojo//W1tb////////////W1tb/0dHR/9vb2///////xMTE/6ampv/Z2dn/2dnZ/6Ojo/+jo6P/6+vr/+vr6/+oqKj/o6Oj/9bW1v/19fX/////////////////4ODg/7q6uv+mpqb/2dnZ/9nZ2f+jo6P/o6Oj/+vr6//r6+v/6+vr/6ampv+jo6P/o6Oj/6ampv+mpqb/o6Oj/6Ojo/+jo6P/xMTE/9nZ2f/Z2dn/o6Oj/6Ojo//r6+v/6+vr/+vr6//r6+v/6+vr/9vb2//U1NT/0dHR/6Ojo//Z2dn/2dnZ/9nZ2f/Z2dn/2dnZ/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/o6Oj/6Ojo/+jo6P/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ=="; this.image = this.imageOn; //==================================================================================== var cbIdNumber = this.id.replace("custombuttons-button", ""); var insertButtonId = "or-paste-by-cb" + cbIdNumber; //==================================================================================== var prefs = Components.classes["@mozilla.org/preferences-service;1"] .getService(Components.interfaces.nsIPrefService) .getBranch("custombutton.orPasteForStylish."); try { var pref = prefs.getBoolPref("off"); } catch(e) { prefs.setBoolPref("off", false); }; this.off = prefs.getBoolPref("off"); //==================================================================================== const kXULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; function createButton(aWindow) { var button = document.createElementNS(kXULNS, "button"); button.setAttribute("id", insertButtonId); button.setAttribute("class", "devtools-toolbarbutton"); button.setAttribute("type", "menu"); button.setAttribute("label", "Шаблоны"); var menupopup = document.createElementNS(kXULNS, "menupopup"); button.appendChild(menupopup); aWindow["textStorage" + cbIdNumber] = []; // :D for (var i = 0; i < items.length; i++) { var menuitem = document.createElementNS(kXULNS, "menuitem"); var label = items[i].split("\n",1); var insertText = items[i].replace(label + "\n", ""); aWindow["textStorage" + cbIdNumber].push(insertText) menuitem.setAttribute("label", label); var Arg = "this.ownerDocument.defaultView" + ".textStorage" + cbIdNumber + "[" + i + "]"; var commandString = "insertCodeAtCaret(" + Arg + ")"; menuitem.setAttribute("oncommand", commandString); menupopup.appendChild(menuitem); } return button; } //=================================================================================== function isButtonAlredyPresent(aDoc) { // advice by Inforcatcher return !!aDoc.getElementById(insertButtonId); } //=================================================================================== var oSvc = Components.classes["@mozilla.org/observer-service;1"] .getService(Components.interfaces.nsIObserverService); var observer = { // thanks for Infocatcher observe: function(subject, topic, data) { subject.addEventListener("load", this, false); }, handleEvent: function(e) { var doc = e.target; var win = doc.defaultView; var pageURL = doc.location.href; win.removeEventListener("load", this, false); if(!/^about:stylish-edit/.test(pageURL)) return; var hbox = doc.getElementById("editor-tools"); var btn = hbox.lastChild; if (!isButtonAlredyPresent(doc)) { hbox.insertBefore(createButton(win), btn.nextElementSibling); }}}; //================================================================================== var ww = Components.classes["@mozilla.org/embedcomp/window-watcher;1"] .getService(Components.interfaces.nsIWindowWatcher); var activeWin = null; this.onmouseover = function() { activeWin = ww.activeWindow; } //==================================================================================== this.run = function() { if (!this.off) { oSvc.addObserver(observer, "domwindowopened", false); prefs.setBoolPref("off", false); } if (this.off ) { oSvc.removeObserver(observer, "domwindowopened"); prefs.setBoolPref("off", true); } var enumerator = ww.getWindowEnumerator(); var win = true; while (win) { win = enumerator.getNext(); if (!win) return; var doc = win.document; var pageURL = doc.location.href; if (!/^about:stylish-edit/.test(pageURL)) continue; if (!this.off) { if ( isButtonAlredyPresent(doc)) continue; var hbox = doc.getElementById("editor-tools"); var btn = hbox.firstChild; hbox.insertBefore(createButton(win), btn.nextElementSibling); if (win == activeWin) win.focus(); } if (this.off) { var b = doc.getElementById(insertButtonId); while (b) { b = doc.getElementById(insertButtonId); if (b) { b.parentElement.removeChild(b); } if (win == activeWin) win.focus(); }} }} //==================================================================================== if (this.off) { this.image = this.imageOff; return; } this.run(); //==================================================================================== this.onDestroy = function() { // thanks for Infocatcher, again var on = !this.off; if(on) this.off = true; this.run(); if(on) { this.off = false; prefs.setBoolPref("off", false); }}; Если с редактором последней версии Stylish'а, открытым в окне, я разобрался ((!/^about:stylish-edit/.test(pageURL)) - там при редактировании id стиля к адресу в конце добавляется), то заставить его работать с редактором, открытым во вкладке, у меня не выходит. И, если можно, еще хотелка - добавить сепаратор, который бы запихивал шаблоны между ним в подменю. Тоже с этим не заладилось, а список уже излишне разросся... ![]() |
SendInfo > 07-03-2015 09:19:11 |
villa7,проверял на[nightly]39 . В профиле указано. Попробуйте только эту кнопку , в ней уже ваш стиль, не меняя ничего. скрытый текст Выделить код Код:custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EStyle%20toggler%20RUBOARD%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bcustombuttons-stdicon-1%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/*%u0430%u0432%u0442%u043E%u0440%20Infocatcher%20%u043A%u043D%u043E%u043F%u043A%u0430%20%22%u043F%u043E%u043C%u043D%u0438%u0442%22%20%u0441%u0432%u043E%u0435%20%u0441%u043E%u0441%u0442%u043E%u044F%u043D%u0438%u0435%20%u043F%u043E%u0441%u043B%u0435%20%u043F%u0435%u0440%u0435%u0437%u0430%u043F%u0443%u0441%u043A%u0430%20firefox%2C%20%u0442%u043E%20%u0435%u0441%u0442%u044C%20%u0431%u044B%u043B%u0430%20%u043E%u043D%u0430%20%22%u0432%u043A%u043B.%22%20%u0438%u043B%u0438%20%22%u0432%u044B%u043A%u043B.%22%20*/%0A/*%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23RUBOARD%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23%23*/%0A@namespace%20url%28http%3A//www.w3.org/1999/xhtml%29%3B%0A@-moz-document%20domain%28%22forum.ru-board.com%22%29%2C%20%0Adomain%28%22gallery.ru-board.com%22%29%2C%0Adomain%28%22forall.ru-board.com%22%29%0A%7B%0Adiv%2C%20body%2C%20.tit%2C%20table%2C%20td%2C%20form%7Bbackground%3A%20%23333333%20%21important%3B%20%7D%0Afont%2C%20td%2C%20%20a%20%7Bcolor%3A%20%23cccccc%20%21important%3B%7D%0Aspan%20%7Bcolor%3A%20%23f2f2f2%20%21important%3B%7D%0A.dats%20%7Bbackground%3A%20%23444444%20%21important%3B%7D%0Aa%3Alink%20%7Bcolor%3A%20%23dddddd%20%21important%3B%7D%0A.lgf%2C%20table%20%7Bborder-color%3A%20%23333333%20%21important%3B%7D%0Aimg%5Bsrc%3D%22board/temp/itech-promo/r/4.gif%22%5D%2C%20img%5Bsrc%3D%22board/temp/itech-promo/r/1.gif%22%5D%2C%20img%5Bsrc%3D%22board/temp/itech-promo/r/3.gif%22%5D%2C%20img%5Bsrc%3D%22board/temp/itech-promo/r/2.gif%22%5D%2C%20img%5Bsrc%3D%22board/temp/itech-promo/r/5.gif%22%5D%2C%20img%5Bsrc%3D%22board/temp/itech-promo/r/6.gif%22%5D%2C%20img%5Bsrc%3D%22board/temp/itech-promo/r/7.gif%22%5D%2C%20img%5Bsrc%3D%22board/temp/itech-promo/r/8.gif%22%5D%2C%20img%5Bsrc%3D%22board/temp/itech-promo/r/9.gif%22%5D%2C%20img%5Bsrc%3D%22board/temp/itech-promo/r/10.gif%22%5D%20%0A%7Bdisplay%3A%20none%20%21important%3B%7D%0Atextarea%7B%0A-moz-appearance%3A%20none%20%21important%3B%0Abackground-color%3A%20%23333333%20%21important%3B%20%0Acolor%3A%20%23e2e2e2%20%21important%3B%7D%7D%0A%0A%0A%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E . И отключите все другие стили. Может где-то пересекаются. |
turbot > 07-03-2015 10:02:17 |
SendInfo пишет
Попроубуйте Инспектор открыть с включенной кнопкой. villa7 |
SendInfo > 07-03-2015 10:59:50 |
turbot пишет
Да пожалуйста: скрытый текст ![]() |
voqabuhe > 07-03-2015 11:07:40 |
Dumby пишет
Ну как всегда просто шикарно. Огромное спасибо. |
turbot > 07-03-2015 11:20:07 |
SendInfo |
villa7 > 07-03-2015 11:47:59 |
SendInfo |
bunda1 > 07-03-2015 12:12:12 |
villa7 пишет
Да мистика, что то наверно поменяли, но помнится в старых версиях <36 с USER_SHEET тоже работали не все стили |
SendInfo > 07-03-2015 12:29:12 |
turbot,в вопросе villa7 об инспекторе ни слова, я его и не смотрел. А то что на сайте у меня работает - ранее выложен скрин. |
lokiju > 07-03-2015 12:42:35 |
Вот есть такая кнопка "deletion flash cookies" Выделить код Код:var dir = Components.classes["@mozilla.org/file/directory_service;1"] .getService(Components.interfaces.nsIProperties) .get("Home", Components.interfaces.nsIFile); dir.append("Application Data"); dir.append("Macromedia"); dir.remove(true); У меня не работает. Кто может починить? |
turbot > 07-03-2015 12:59:38 |
SendInfo с AGENT_SHEET, и, соответственно, он становится непрозрачным. А вот что у villa7 поверх страницы расположено - фиг знает. villa7 скрытый текст Выделить код Код:@namespace url(http://www.w3.org/1999/xhtml); @-moz-document domain("forum.ru-board.com"), domain("gallery.ru-board.com"), domain("forall.ru-board.com") {div,body,.tit,table,td{background:#333333!important} font,td,a{color:#cccccc!important} span{color:#f2f2f2!important} .dats{background:#444444!important} a:link{color:#dddddd!important} .lgf,table {border-color:#333333!important} img[src*="/itech-promo/"]{display:none!important} textarea,select,input,form,img[src^='http://i.ru-board.com/images/']{filter:grayscale(100%)invert(80%)!important}} Нужно включить поддержку свойства filter в about:config: layout.css.filters.enabled;true. С ними можно и вовсе радикально сделать: Выделить код Код:@namespace url(http://www.w3.org/1999/xhtml); @-moz-document domain("forum.ru-board.com"), domain("gallery.ru-board.com"), domain("forall.ru-board.com") {body{background: #303030!important} html{filter:grayscale(100%) invert(80%)!important}} Да-да, я для себя их недавно открыл, и теперь всюду сую. |
bunda1 > 07-03-2015 13:49:43 |
lokiju пишет
Выделить код Код:var dir = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties).get("Home", Ci.nsIFile); dir.append("Application Data"); dir.append("Macromedia"); dir.exists() && dir.remove(true); !dir.exists() && dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777); |
villa7 > 07-03-2015 13:52:34 |
turbot |
lokiju > 07-03-2015 18:43:45 |
bunda1, нет не удаляет содержимое "Macromedia". |
voqabuhe > 07-03-2015 19:24:01 |
lokiju пишет
Всё удаляет, положи во вкладку Код |
lokiju > 07-03-2015 19:30:47 |
voqabuhe пишет
Там и лежит. Но содержимому "Macromedia" все равно. И Вetter Privacy удалено по той же причине. |
turbot > 07-03-2015 20:51:08 |
lokiju
Если, конечно, ваш юзерагент не врет, как мой. |
lokiju > 07-03-2015 21:52:10 |
turbot пишет
Для кнопки может быть, но не для BetterPrivacy - раньше же работало . Собственно и кнопкой заинтересовался после того, как обнаружилась беда с BetterPrivacy(оно же не поддерживается автором.) turbot пишет
Нет не врет. |
bunda1 > 08-03-2015 01:15:03 |
lokiju пишет
Да, мой код для Windows, может попробуй этот код: Выделить код Код:var dir = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); dir.initWithPath("C:\\Macromedia"); dir.exists() && dir.remove(true); !dir.exists() && dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777); Но вместо C:\\Macromedia укажи свой свой путь к папке Macromedia, может с двумя \\ |
lokiju > 08-03-2015 02:45:56 |
bunda1 Выделить код Код:var dir = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); dir.initWithPath("~/.macromedia/"); dir.exists() && dir.remove(true); !dir.exists() && dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777); Вот так удаляет 08-03-2015 02:54:42 |
bunda1 > 08-03-2015 03:15:45 |
lokiju пишет
Выделить код Код:var dir = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); dir.initWithPath("~/.macromedia/"); dir.exists() && dir.remove(true); !dir.exists() && dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777); dir.initWithPath("~/.adobe/"); dir.exists() && dir.remove(true); !dir.exists() && dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777); |
Dumby > 08-03-2015 15:49:00 |
turbot пишет
Я попробовал запилить, вроде вставляет, наверно скрытый текст Выделить код Код:({ buttonsData: [ { "BUTTON 1": { image: "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka///jnP//45z//+Oc//8pGv//tG7//4ZA//90Lv//dTD//yka////x////8f////H////x////8f//yka//8pGv//45z//+Oc//91MP//Vxr//5RM///Bev//wXr//8F6//+8df//ejP//5JK////x////8f////H//8pGv//KRr//+Oc///jnP//KRr////////////////////////////////////H//+0bv//nVf////H////x///KRr//yka///jnP//45z//0Ey/////////8b//+Oc//+1cf//ayb//+Oc/////////+X//1Ma////x////8f//yka//8pGv//45z//+Oc//9oWf//zKr//8W2//9eGv//h0L//zwa//+HQv/////////o//9mH//MiD//x4Q8//8pGv//KRr//+Oc///jnP//0Ir//2hZ//96M///NBr//14a//+bVP///+D/////////////Uxr//+Oc///jnP//KRr//yka///jnP//45z//86I//88Gv//vHX////g////////////////////4P//6KL//yka///jnP//45z//yka//8pGv//45z//+Oc//9EGv//1o/////////////////////g///TjP//h0L//yka///Vj///45z//+Oc//8pGv//KRr//yka//8pGv//PBr////l////////0Ir//1Ma//8tGv//KRr//0Aa///jnP//45z//+Oc///jnP//KRr//yka////x////8f//zwa/////f///////5pS//9PGv//h0L//yka//88Gv//Wxr//8B7///jnP//45z//yka//8pGv///8f////H//8pGv//3pb/////////////3pb//9CK///qo////////7Nr//9kHP//45z//+Oc//8pGv//KRr////H////x///ayb//0ca///elv///+D/////////////////4eHh//+aUv//ZBz//+Oc///jnP//KRr//yka////x////8f////H//9kHP//KRr//0ca//9mH///ZBz//08a//8wGv//KRr/8MyG///jnP//45z//yka//8pGv///8f////H////x////8f////H///pov//2ZD//9CK//8pGv//45z//+Oc///jnP//45z//+Oc//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ==", id: "Button-1-id", data: { "Button 1 menuitem 1": ` 8461257969972130394635750604812869365370931486851886606643085 6226096450462739462668149466854904346848587433786390959291217 859556681023673155470765942664293343867480839875179799100937521 `, "Button 1 menuitem 2": ` 211719589689090920082926741548657453548273240041478388434571297 9467134014976113453058689329012399251109065413787280533498154 9033973941518880395243302959334777718781604739376219685379215 `, "Button 1 menu 1": { "Button 1 menu 1 menuitem 1": ` 2051991579069607310657879309722017441960000137380237785566423 82366451515210699197167835877150747720503556174426352286230224 245703349625817314565034119246802882333194576375906748723837 `, "Button 1 menu 1 menuitem 2": ` 218722713331159305668806110918112536255804285389845217355049114 8310252513869211823316302359823897208708687865872857059938107 030564260447343283699623654152284462156273428194141667685271482 `, "Button 1 menu 1 menu 1": { "Button 1 menu 1 menu 1 menuitem 1": ` 281804303220221146597605561935037356359018645418047020458794 4384938073647720339731610031281287090482630762556709830910227 399140227763397062946197043867452445291342396083641831699693 ` } } } } }, //◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙ { "BUTTON 2": { image: "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBjP+TAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEj///NEX//3F9//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0gf//MEH//yg6//80Rf//fYn//wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBjP//M0P//yg6//8oOv//KDr//zRF//90gf//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANrg/41UYv//M0T//yg6//8oOv//KDr//yg6//8oOv//MEH//0hX///W3P+NAAAAAAAAAAAAAAAAAAAAANbc/40xQv//LD3//ys8//8rPP//Kzz//ys8//8rPP//Kzz//ys8//8rPP//Kzv//9bc/40AAAAAAAAAAAAAAABBUP//MEP//zJF//8yRf//MkX//zJF//8yRf//MkX//zJF//8yRf//MkX//zFE//84SP//AAAAAAAAAAC0vP+NOUn//zxQ//88UP//PFD//zxQ//88UP//PFD//zxQ//88UP//PFD//zxQ//88UP//OEn//52n/40AAAAAl6H/jTpO//9GXf//Rl3//0Zd//9GXf//Rl3//0Zd//9GXf//Rl3//0Zd//9GXf//Rl3//zlN//97h/+NAAAAAKSt/40/Uf//UWr//1Fq//9Rav//UWr//1Fq//9Rav//UWr//1Fq//9Rav//UWr//1Fq//8+U///jpj/jQAAAADR1/+NNEb//1t2//9bdv//W3b//1t2//9Ycv//OUv//1hy//9bdv//W3b//1t2//9bdv//PU///7rC/40AAAAAAAAAAGZ0//9GXP//Y3///2N///9ge///QVT//4GN/404Sv//X3r//2N///9jf///Rlz//1xr//8AAAAAAAAAAAAAAAAAAAAAXGv//ztN//9AU///MEH//3yI/40AAAAAhJD/jTFC//9AU///OUr//1po///a4P+NAAAAAAAAAAAAAAAAAAAAAAAAAADDyv+Ntr7/jQAAAAAAAAAAAAAAAAAAAAAAAAAAtr7/jcrR/40AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//+sQf9/rEH+P6xB/B+sQfgPrEHgA6xBwAGsQcABrEGAAKxBgACsQYAArEGAAKxBwAGsQeCBrEHz56xB//+sQQ==", id: "Button-2-id", data: { "Button 2 menuitem 1": ` 1704808533483901912593511057615798482706959734226981232605644 554364593368568792241103455746052909837105410644466183177142 8491036970273453442391718902925334048053461781577074832179994 `, "Button 2 menu 1": { "Button 2 menu 1 menuitem 1": ` 9188134855185033238311828665629715333876611982705880582763672 78018885404637109297633520 043865080315035899737560093465767124 395336760559446747709696748148666879296254004631107783736979 `, "Button 2 menu 1 menuitem 2": ` 5680021603172030840205691680158991695283324356770429331137686 485734254327862726853675364881849334230932442689674286326549 42123122519280921504265246263330912181059123544347533761097224 ` }, "Button 2 menuitem 2": ` 639315668318676304872944474192825257426286701763560448668300918 6516906487685234047552040688776748056337078135324403316543704 61982903287961345045288774833253159273727795146141071494331236 ` } } }, //◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙◙ { "I am a Human": { image: "data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////wAAAP////////////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/////////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP///////////wAAAP8AAAD//////wAAAP8AAAD///////////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD///////////8AAAD/AAAA//////8AAAD/AAAA////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////////////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/////////////////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ==", id: "Invent-this-id", data: { "q": ` « """ ''' \`\`\`... » `, "template strings stuff": ` ${xhtmlns}\n${xulns}\n\n${"inserted by " + _id} `, "¯\\_(ツ)_/¯": ` ¯\\_(ツ)_/¯ ` } } } ], id: "cb-stylish-paste-buttons-box", isStylishTab: function(doc) doc.location.href.startsWith("about:stylish-edit"), get buttons () { delete this.buttons; return this.createButtons(); }, createButtons: function() { var box = this.insertElement("hbox", null, {id: this.id}); for(var buttonData of this.buttonsData) { var key = Object.keys(buttonData)[0], data = buttonData[key]; var btn = this.insertElement("toolbarbutton", box, data); btn.tooltipText = key; btn.linkedPopup = this.createPopup(data.data); btn.setAttribute("oncommand", "var popup = this.appendChild(this.linkedPopup); popup.openPopup(this);"); } return this.buttons = box; }, createPopup: function(data, notRoot) { var popup = this.insertElement("menupopup"); notRoot || popup.setAttribute("position", "after_start"); popup.setAttribute("oncommand", "event.stopPropagation(); insertCodeAtCaret(event.originalTarget.value);"); for(var [key, val] in Iterator(data)) { if (typeof val == "string") { var value = val.slice(val.indexOf("\n") + 1, val.lastIndexOf("\n")); var menuitem = this.insertElement("menuitem", popup, {label: key, value: value}); menuitem.tooltipText = value; } else { var menu = this.insertElement("menu", popup, {label: key}); this.insertElement(this.createPopup(val, true), menu); } } return popup; }, insertElement: function(element, parent, attributes, before = null) { var notExist = typeof element != "object"; if (notExist) element = document.createElement(element); if (notExist && attributes) { for(var attribute in attributes) { attribute == "data" || element.setAttribute(attribute, attributes[attribute]); } } parent && parent.insertBefore(element, before); return element; }, deleteAndAddForDoc(add, doc) { var box = doc.getElementById(this.id); box && box.remove(); add && this.pageshow({target: doc}); }, deleteAndAddForAll(add) { for(var br of gBrowser.browsers) { var doc = br.contentDocument; this.isStylishTab(doc) && this.deleteAndAddForDoc(add, doc); } }, init: function() { addEventListener("pageshow", this, false, gBrowser); this.deleteAndAddForAll(true); addDestructor(() => this.deleteAndAddForAll(), this); }, handleEvent: function(e) this[e.type](e), pageshow: function(e) { if (!this.isStylishTab(e.target)) return; var before = e.target.getElementById("wrap-lines"); var buttons = this.buttons, clone = buttons.cloneNode(true); before && this.insertElement(clone, before.parentNode, null, before); for(var i = 0, l = clone.childNodes.length; i < l; i++) { clone.childNodes[i].linkedPopup = buttons.childNodes[i].linkedPopup; } } }).init(); |
turbot > 08-03-2015 18:40:12 |
Dumby А можно сделать ее единой и для редактора во вкладке и в окне? Иногда так удобнее, иногда так. Боюсь, я сам не осилю... |
lokiju > 09-03-2015 21:47:51 |
bunda1, спасибо. А можно сделать очистку папок автоматом, перед закрытием браузера? |
mahtanoronra > 10-03-2015 02:13:06 |
а может кто нибудь добавить в кнопку Выделить код Код:startProcess("G:\\Programs\\HandyCache\\HandyCache.exe",[""]); function startProcess(path, args) { var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath(path); if(file.exists()) { var process = Components.classes["@mozilla.org/process/util;1"] .createInstance(Components.interfaces.nsIProcess); process.init(file); process.run(false, args, args.length); } else custombuttons. alertBox ("Файл не найден", path); }; а при повтором нажатии(тоесть выключении прокси) убивание процесса программы(как это сделано в "Остановить очистку потребляемой оперативной памяти") |
bunda1 > 10-03-2015 22:09:35 |
Ну если по простому то в начале кода инициализации после: Выделить код Код:cbu.setPrefs("network.proxy.type", (cbu.getPrefs("network.proxy.type") == 1 ) ? 0 : 1 ); положи: Выделить код Код:if ( cbu.getPrefs("network.proxy.type") == 1 ) { var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile); file.initWithPath("C:\\Program Files\\HandyCache\\HandyCache.exe"); file.launch(); } else { // Закрыть все процессы 'HandyCache.exe' ................ var VBScript = 'strComputer = "."\ \nSet objWMIService = GetObject("winmgmts:" _\ \n& "{impersonationLevel=impersonate}!\\\\" & strComputer & "\\root\\cimv2")\ \nSet colProcessList = objWMIService.ExecQuery _\ \n("Select * from Win32_Process Where Name = \x27HandyCache.exe\x27")\ \nFor Each objProcess in colProcessList\ \nobjProcess.Terminate()\ \nNext'; var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.append("processTerminate.vbs"); custombuttonsUtils.writeFile(file.path, VBScript); file.launch(); } |
HaGEN > 11-03-2015 02:25:37 |
Прошу поясните кто может: что делает эта кнопка Script Loader |
bunda1 > 11-03-2015 20:58:30 |
HaGEN пишет
Кнопка не работает потому что в ней используется makeXML() который не поддерживается уже давно. И этот Script Loader кажется предназначен для запуска текстовых файлов типа .js с кодами которые работают в CB кнопках но не с кодами GM с некоторыми исключениями. |
HaGEN > 12-03-2015 14:31:08 |
Ага, знач не то что я думал и не буду пытаться. |
villa7 > 15-03-2015 17:25:08 |
Может кто знает, кнопка переключения стилей от Infocatcher Style toggler |
turbot > 15-03-2015 18:22:53 |
villa7 |
villa7 > 15-03-2015 19:47:14 |
turbot |
Dumby > 16-03-2015 00:17:56 |
turbot пишет
Во, может такая подойдёт скрытый текст У меня, вроде, не сильно глючит. Для редактирования предполагается контекстное меню. Результат редактирования (innerHTML) пишется на вкладку Справка. Попробуй. Выделить код Код: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%3EUnnamed%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/gif%3Bbase64%2CR0lGODlhEAAQAN0DABop/8f//5zj/////+D//xpP/4rQ/xxk/xo8/0KH/3vA/xpH/1Ka/xpb/3W8/5DZ/6Lp/xow/1lo/yZr/0yU/zN6/zB1/2uz/z+IzDyEx+Hh4TJB/4bM8B9m/4/W/4jO/5be/+j//670/y50/1ed/3G1/6rM/7bF/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAUsASgAIf8LTkVUU0NBUEUyLjADAQAAACwAAAAAEAAQAAAGlUCAcEgsCgNIJORhAAiezyPyAFgcDoUIgBMFICeFB2FA1jAOXSTgQQYZIIMLWiBFkBmFBADRUHSFCGMGWVVQdE4CCx5kAwQGegZdTx8IDmNkBBCIQk8GEhURDQyXBZICEiYnBwkICQMhHRgZnAIbAwECDhMCjQVqm4yMASUkv08WDRQKyw4VFEm0dBcJIxZeSQFG2kRBACH5BAkZACgALAAAAAAQABAAAAY5QJRwSCwKBUgkMcBkHpVGoRMFjaKm1ShWYJUGusPm9zq2TqfmMVPUPZfBZDAUHZ2/i0nvnZrkwotBADs%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5BgBrowser.currentURI.spec%20%3D%3D%20%22about%3Acustomizing%22%20%7C%7C%20%28%28%29%20%3D%3E%20%7B%0A%09var%20obsId%20%3D%20%22CB%22%20+%20_id.slice%2820%29%20+%20%22_PasteButtonsForStylish%22%3B%0A%09var%20obs%20%3D%20Application.storage.get%28obsId%2C%20null%29%3B%0A%09if%20%28%21obs%29%20%7B%0A%09%09obs%20%3D%20%7B%0A%09%09%09id%3A%20obsId%2C%0A%09%09%09boxId%3A%20obsId%20+%20%22_Box%22%2C%0A%09%09%09brURL%3A%20location.href%2C%0A%09%09%09topic%3A%20%22document-shown%22%2C%0A%09%09%09init%3A%20function%28%29%20%7B%0A%09%09%09%09this.proceedAll%28true%29%3B%0A%09%09%09%09Services.obs.addObserver%28this%2C%20this.topic%2C%20false%29%3B%0A%09%09%09%7D%2C%0A%09%09%09destroy%3A%20function%28%29%20%7B%0A%09%09%09%09this.proceedAll%28false%29%3B%0A%09%09%09%09try%20%7BServices.obs.removeObserver%28this%2C%20this.topic%29%3B%7D%0A%09%09%09%09catch%28ex%29%20%7BCu.reportError%28ex%29%3B%7D%0A%09%09%09%7D%2C%0A%0A//%09%09%09-----------------------------------%20OBS%20----------------------------------%0A%0A%09%09%09observe%3A%20function%28doc%29%20this.proceedDoc%28doc%2C%20true%29%2C%0A%09%09%09isStylishDoc%3A%20function%28doc%29%20doc.location%0A%09%09%09%09%26%26%20doc.location.href.startsWith%28%22about%3Astylish-edit%22%29%2C%0A%09%09%09isBrowserDoc%3A%20function%28doc%29%20doc.location%0A%09%09%09%09%26%26%20doc.location.href%20%3D%3D%20this.brURL%2C%0A%09%09%09proceedAll%3A%20function%28init%29%20%7B%0A%09%09%09%09var%20en%20%3D%20Services.wm.getEnumerator%28null%29%3B%0A%09%09%09%09while%28en.hasMoreElements%28%29%29%20%7B%0A%09%09%09%09%09var%20doc%20%3D%20en.getNext%28%29.document%3B%0A%09%09%09%09%09if%20%28this.isBrowserDoc%28doc%29%29%20%7B%0A%09%09%09%09%09%09for%28var%20br%20of%20doc.defaultView.gBrowser.browsers%29%20%7B%0A%09%09%09%09%09%09%09this.proceedDoc%28br.contentDocument%2C%20init%29%3B%0A%09%09%09%09%09%09%7D%0A%09%09%09%09%09%09var%20sidebarDoc%20%3D%20doc.getElementById%28%22sidebar%22%29.contentDocument%3B%0A%09%09%09%09%09%09this.proceedDoc%28sidebarDoc%2C%20init%29%3B%0A%09%09%09%09%09%09var%20wpb%20%3D%20sidebarDoc.getElementById%28%22web-panels-browser%22%29%3B%0A%09%09%09%09%09%09wpb%20%26%26%20this.proceedDoc%28wpb.contentDocument%2C%20init%29%3B%0A%09%09%09%09%09%7D%20%0A%09%09%09%09%09else%0A%09%09%09%09%09%09this.proceedDoc%28doc%2C%20init%29%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%2C%0A%09%09%09proceedDoc%3A%20function%28doc%2C%20add%29%20%7B%0A%09%09%09%09if%20%28%21this.isStylishDoc%28doc%29%20%7C%7C%20doc.readyState%20%21%3D%20%22complete%22%29%20return%3B%0A%09%09%09%09var%20box%20%3D%20doc.getElementById%28this.boxId%29%3B%0A%09%09%09%09if%20%28add%20%26%26%20%21box%29%20%7B%0A%09%09%09%09%09var%20before%20%3D%20doc.getElementById%28%22wrap-lines%22%29%3B%0A%09%09%09%09%09this.addBox%28before%29%3B%0A%09%09%09%09%7D%20else%20if%20%28%21add%20%26%26%20box%29%20%7B%0A%09%09%09%09%09box%20%26%26%20box.remove%28%29%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%2C%0A%0A//%09%09%09---------------------------------------------%20BOX%20--------------------------------------------%0A%0A%09%09%09get%20box%28%29%20%7B%0A%09%09%09%09delete%20this.box%3B%0A%09%09%09%09return%20this.box%20%3D%20this.createBox%28%29%3B%0A%09%09%09%7D%2C%0A%09%09%09createBox%3A%20function%28%29%20%7B%0A%09%09%09%09var%20box%20%3D%20this.insertElement%28%22hbox%22%2C%20null%2C%20%7B%0A%09%09%09%09%09id%3A%20this.boxId%2C%0A%09%09%09%09%09onclick%3A%20%60%0A%09%09%09%09%09%09if%20%28event.button%20%21%3D%202%29%20return%3B%0A%09%09%09%09%09%09var%20popup%20%3D%20this.linkedPopup%3B%0A%09%09%09%09%09%09if%20%28popup.state%20%21%3D%20%22closed%22%29%20popup.hidePopup%28%29%3B%0A%09%09%09%09%09%09popup.linkedTarget%20%3D%20event.originalTarget%3B%0A%09%09%09%09%09%09popup.openPopupAtScreen%28event.screenX%2C%20event.screenY%29%3B%0A%09%09%09%09%09%60%2C%0A%09%09%09%09%09oncommand%3A%20%60%0A%09%09%09%09%09%09event.stopPropagation%28%29%3B%0A%09%09%09%09%09%09var%20trg%20%3D%20event.originalTarget%3B%0A%09%09%09%09%09%09if%20%28trg.nodeName%20%3D%3D%20%22toolbarbutton%22%29%0A%09%09%09%09%09%09%09trg.firstChild.openPopup%28trg%29%3B%0A%09%09%09%09%09%09/*%0A%09%09%09%09%09%09else%20if%20%28trg.nodeName%20%3D%3D%20%22menuitem%22%29%0A%09%09%09%09%09%09%09trg.hasAttribute%28%22value%22%29%0A%09%09%09%09%09%09%09%26%26%20insertCodeAtCaret%28trg.value%29%3B%0A%09%09%09%09%09%09*/%0A%09%09%09%09%09%09else%20if%20%28trg.nodeName%20%3D%3D%20%22menuitem%22%20%26%26%20trg.hasAttribute%28%22value%22%29%29%20%7B%0A%09%09%09%09%09%09%09insertCodeAtCaret%28trg.value%29%3B%0A%09%09%09%09%09%09%09codeElementWrapper.focus%28%29%3B%0A%09%09%09%09%09%09%7D%0A%09%09%09%09%09%60%0A%09%09%09%09%7D%29%3B%0A%09%09%09%09return%20box%3B%0A%09%09%09%7D%2C%0A%09%09%09get%20boxContent%28%29%20%7B%0A%09%09%09%09delete%20this.boxContent%3B%0A%09%09%09%09return%20this.boxContent%20%3D%20self.Help.trim%28%29%3B%0A%09%09%09%7D%2C%0A%09%09%09addBox%3A%20function%28before%29%20%7B%0A%09%09%09%09var%20box%20%3D%20before.parentNode.insertBefore%28this.box.cloneNode%28false%29%2C%20before%29%3B%0A%09%09%09%09box.innerHTML%20%3D%20this.boxContent%3B%0A%09%09%09%09box.linkedPopup%20%3D%20box.appendChild%28this.popup.cloneNode%28true%29%29%3B%0A%09%09%09%09box.style.cssText%20%3D%20%22max-height%3A%2032px%20%21important%3B%20max-width%3A%20320px%20%21important%3B%22%3B%0A%09%09%09%7D%2C%0A%0A//%09%09%09-------------------------------------------%20CONTEXT%20------------------------------------------%0A%0A%09%09%09popupXUL%3A%20%60%0A%09%09%09%09%3Cmenupopup%20xmlns%3D%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%0A%09%09%09%09%09id%3D%22%24%7BobsId%20+%20%22_Context%22%7D%22%0A%09%09%09%09%09oncommand%3D%22event.stopPropagation%28%29%3B%20var%20obs%20%3D%20Application.storage.get%28%27%24%7BobsId%7D%27%2C%20null%29%3B%20if%20%28obs%29%20obs.cmdDispatcher%28event%29%3B%22%0A%09%09%09%09%09onpopupshowing%3D%22var%20obs%20%3D%20Application.storage.get%28%27%24%7BobsId%7D%27%2C%20null%29%3B%20if%20%28obs%29%20obs.contextPopupshowing%28this%29%3B%22%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u0418%u0437%u043C%u0435%u043D%u0438%u0442%u044C%22%20value%3D%22openEditor%22/%3E%0A%09%09%09%09%09%3Cmenuseparator/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u0412%u044B%u0448%u0435%22%20value%3D%22moveUp%22/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u041D%u0438%u0436%u0435%22%20value%3D%22moveDown%22/%3E%0A%09%09%09%09%09%3Cmenuseparator/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u041A%u043E%u043F%u0438%u0440%u043E%u0432%u0430%u0442%u044C%22%20value%3D%22copyItem%22%20closemenu%3D%22none%22/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u0412%u0441%u0442%u0430%u0432%u0438%u0442%u044C%22%20value%3D%22pasteItem%22/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u0423%u0434%u0430%u043B%u0438%u0442%u044C%22%20value%3D%22deleteItem%22/%3E%0A%09%09%09%09%09%3Cmenuseparator/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u041D%u043E%u0432%u044B%u0439%20menuitem%22%20value%3D%22newMenuitem%22/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u041D%u043E%u0432oe%20menu%22%20value%3D%22newMenu%22/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u041D%u043E%u0432%u044B%u0439%20toolbarbutton%22%20value%3D%22newButton%22/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u041D%u043E%u0432%u044B%u0439%20menuseparator%22%20value%3D%22newSeparator%22/%3E%0A%09%09%09%09%09%3Cmenuseparator/%3E%0A%09%09%09%09%09%3Cmenuitem%20label%3D%22%u041A%u0430%u0440%u0442%u0438%u043D%u043A%u0430%20base64%22%20value%3D%22imgBase64%22/%3E%0A%09%09%09%09%3C/menupopup%3E%0A%09%09%09%60%2C%0A%09%09%09get%20popup%28%29%20%7B%0A%09%09%09%09delete%20this.popup%3B%0A%09%09%09%09return%20this.popup%20%3D%20this.createPopup%28%29%3B%0A%09%09%09%7D%2C%0A%09%09%09createPopup%3A%20function%28%29%20%7B%0A%09%09%09%09var%20xul%20%3D%20this.popupXUL.trim%28%29.replace%28/%3E%5Cs+%3C/g%2C%20%22%3E%3C%22%29%3B%0A%09%09%09%09var%20popup%20%3D%20new%20DOMParser%28%29.parseFromString%28xul%2C%20%22application/xml%22%29.documentElement%3B%0A%09%09%09%09return%20popup%3B%0A%09%09%09%7D%2C%0A%09%09%09cmdDispatcher%3A%20function%28e%29%20%7B%0A%09%09%09%09var%20trg%20%3D%20e.originalTarget%2C%20popup%20%3D%20trg.parentNode%2C%20cmd%20%3D%20trg.value%3B%0A%09%09%09%09if%20%28%21cmd%29%20return%3B%0A%09%09%09%09var%20popupNode%20%3D%20popup.linkedTarget%3B%0A%09%09%09%09cmd.startsWith%28%22new%22%29%0A%09%09%09%09%09%3F%20this.newItem%28popupNode%2C%20cmd.slice%283%29%29%0A%09%09%09%09%09%3A%20this%5Bcmd%5D%28popupNode%2C%20popup%29%3B%0A%09%09%09%09%22copyItem%20openEditor%20imgBase64%22.contains%28cmd%29%20%7C%7C%20this.save%28popupNode%29%3B%0A%09%09%09%7D%2C%0A%09%09%09get%20emptySeparator%28%29%20%7B%0A%09%09%09%09delete%20this.emptySeparator%3B%0A%09%09%09%09return%20this.emptySeparator%20%3D%20this.insertElement%28%22menuseparator%22%29%3B%0A%09%09%09%7D%2C%0A%09%09%09get%20emptyMenuitem%28%29%20%7B%0A%09%09%09%09delete%20this.emptyMenuitem%3B%0A%09%09%09%09return%20this.emptyMenuitem%20%3D%20this.insertElement%28%22menuitem%22%2C%20null%2C%20%7Blabel%3A%20%22menuitem%22%2C%20value%3A%20%22%22%7D%29%3B%0A%09%09%09%7D%2C%0A%09%09%09get%20emptyMenupopup%28%29%20%7B%0A%09%09%09%09delete%20this.emptyMenupopup%3B%0A%09%09%09%09var%20popup%20%3D%20this.insertElement%28%22menupopup%22%29%3B%0A%09%09%09%09popup.appendChild%28this.emptyMenuitem.cloneNode%28false%29%29%3B%0A%09%09%09%09return%20this.emptyMenupopup%20%3D%20popup%3B%0A%09%09%09%7D%2C%0A%09%09%09get%20emptyMenu%28%29%20%7B%0A%09%09%09%09delete%20this.emptyMenu%3B%0A%09%09%09%09var%20menu%20%3D%20this.insertElement%28%22menu%22%2C%20null%2C%20%7Blabel%3A%20%22menu%22%7D%29%3B%0A%09%09%09%09menu.appendChild%28this.emptyMenupopup.cloneNode%28true%29%29%3B%0A%09%09%09%09return%20this.emptyMenu%20%3D%20menu%3B%0A%09%09%09%7D%2C%0A%09%09%09get%20emptyButton%28%29%20%7B%0A%09%09%09%09delete%20this.emptyButton%3B%0A%09%09%09%09var%20btn%20%3D%20this.insertElement%28%22toolbarbutton%22%2C%20null%2C%20%7B%0A%09%09%09%09%09image%3A%20%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA////////////////////////////////////////////////////////////////////////////AAAA/wAAAP//////AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP8AAAD//////wAAAP//////////////////////////////////////////////////////AAAA//////8AAAD/AAAA//////8AAAD//////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD//////wAAAP//////AAAA/wAAAP//////AAAA//////8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAD//////wAAAP8AAAD//////wAAAP//////AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAA//////8AAAD/AAAA//////8AAAD//////wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAP//////AAAA/wAAAP//////AAAA//////8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAD//////wAAAP8AAAD//////wAAAP//////AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP//////AAAA//////8AAAD/AAAA//////8AAAD//////wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//////wAAAP//////AAAA/wAAAP//////AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA//////8AAAD//////wAAAP8AAAD//////wAAAP//////////////////////////////////////////////////////AAAA//////8AAAD/AAAA//////8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP//////AAAA/wAAAP///////////////////////////////////////////////////////////////////////////wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AACsQQAArEEAAKxBAACsQQAArEEH4KxBB+CsQQfgrEEH4KxBB+CsQQfgrEEAAKxBAACsQQAArEEAAKxBAACsQQ%3D%3D%22%0A%09%09%09%09%7D%29%3B%0A%09%09%09%09btn.appendChild%28this.emptyMenupopup.cloneNode%28true%29%29%3B%0A%09%09%09%09return%20this.emptyButton%20%3D%20btn%3B%0A%09%09%09%7D%2C%0A%09%09%09newItem%3A%20function%28node%2C%20name%29%20%7B%0A%09%09%09%09var%20newItem%20%3D%20this%5B%22empty%22%20+%20name%5D.cloneNode%28true%29%3B%0A%09%09%09%09node.parentNode.insertBefore%28newItem%2C%20node.nextSibling%29%3B%0A%09%09%09%09if%20%28name%20%3D%3D%20%22Button%22%29%20newItem.firstChild.setAttribute%28%22position%22%2C%20%22after_start%22%29%3B%0A%09%09%09%7D%2C%0A%09%09%09deleteItem%3A%20function%28node%29%20%7B%0A%09%09%09%09var%20win%20%3D%20this.top%28node%29%3B%0A%09%09%09%09if%20%28%21win.confirm%28%22%u0423%u0434%u0430%u043B%u0438%u0442%u044C%20%3F%22%29%29%20return%3B%0A%09%09%09%09node.remove%28%29%3B%0A%09%09%09%7D%2C%0A%09%09%09moveUp%3A%20function%28node%29%20%7B%0A%09%09%09%09node.parentNode.insertBefore%28node%2C%20node.previousSibling%29%3B%0A%09%09%09%7D%2C%0A%09%09%09moveDown%3A%20function%28node%29%20%7B%0A%09%09%09%09node.parentNode.insertBefore%28node%2C%20node.nextSibling.nextSibling%29%3B%0A%09%09%09%7D%2C%0A%09%09%09copyItem%3A%20function%28node%2C%20popup%29%20%7B%0A%09%09%09%09this.transactionNode%20%3D%20node.cloneNode%28true%29%3B%0A%09%09%09%09popup.querySelector%28%27menuitem%5Bvalue%3D%22pasteItem%22%5D%27%29.disabled%20%3D%20false%3B%0A%09%09%09%7D%2C%0A%09%09%09pasteItem%3A%20function%28node%29%20%7B%0A%09%09%09%09node.parentNode.insertBefore%28this.transactionNode%2C%20node%29%3B%0A%09%09%09%7D%2C%0A%09%09%09imgBase64%3A%20function%28node%29%20%7B%0A%09%09%09%09var%20obs%20%3D%20this%3B%0A%09%09%09%09var%20picker%20%3D%20makeFilePicker%28%29%3B%0A%09%09%09%09picker.appendFilters%28picker.filterImages%29%3B%0A%09%09%09%09picker.init%28this.top%28node%29%2C%20%22%u0418%u0437%u043E%u0431%u0440%u0430%u0436%u0435%u043D%u0438%u0435%22%2C%20picker.modeOpen%29%3B%0A%09%09%09%09picker.open%28%7Bdone%3A%20function%28result%29%20%7B%0A%09%09%09%09%09if%20%28result%20%21%3D%20picker.returnOK%29%20return%3B%0A%09%09%09%09%09var%20reader%20%3D%20new%20FileReader%28%29%3B%0A%09%09%09%09%09reader.onload%20%3D%20function%28%29%20%7B%0A%09%09%09%09%09%09if%20%28%21reader.result%29%20return%3B%0A%09%09%09%09%09%09var%20name%20%3D%20node.nodeName%3B%0A%09%09%09%09%09%09%22menuitem%22.contains%28name%29%20%26%26%20node.classList.add%28name%20+%20%22-iconic%22%29%3B%0A%09%09%09%09%09%09node.setAttribute%28%22image%22%2C%20reader.result%29%3B%0A%09%09%09%09%09%09obs.save%28node%29%3B%0A%09%09%09%09%09%7D%0A%09%09%09%09%09reader.readAsDataURL%28new%20File%28picker.file%29%29%3B%0A%09%09%09%09%7D%7D%29%3B%0A%09%09%09%7D%2C%0A%09%09%09disablers%3A%20%7B%0A%09%09%09%09moveUp%3A%20function%28node%29%20%21node.previousSibling%2C%0A%09%09%09%09moveDown%3A%20function%28node%29%20%21node.nextSibling%20%7C%7C%20node.nextSibling.nodeName%20%3D%3D%20%22menupopup%22%2C%0A%09%09%09%09deleteItem%3A%20function%28node%29%20%7B%0A%09%09%09%09%09var%20count%20%3D%20node.parentNode.childElementCount%3B%0A%09%09%09%09%09return%20count%20%3D%3D%201%20%7C%7C%20%28node.nodeName%20%3D%3D%20%22toolbarbutton%22%20%26%26%20count%20%3D%3D%202%29%3B%0A%09%09%09%09%7D%2C%0A%09%09%09%09top%3A%20function%28node%29%20%22toolbarbutton%20hbox%22.contains%28node.nodeName%29%2C%0A%09%09%09%09newMenuitem%3A%20function%28node%29%20this.top%28node%29%2C%0A%09%09%09%09newMenu%3A%20function%28node%29%20this.top%28node%29%2C%0A%09%09%09%09newSeparator%3A%20function%28node%29%20this.top%28node%29%2C%0A%09%09%09%09newButton%3A%20function%28node%29%20%21this.top%28node%29%2C%0A%09%09%09%09copyItem%3A%20function%28node%29%20node.nodeName%20%3D%3D%20%22hbox%22%2C%0A%09%09%09%09pasteItem%3A%20function%28%29%20%21%28%22transactionNode%22%20in%20this.obs%29%2C%0A%09%09%09%09imgBase64%3A%20function%28node%29%20%21%22toolbarbutton%20menu%20menuitem%22.contains%28node.nodeName%29%0A%09%09%09%7D%2C%0A%09%09%09contextPopupshowing%3A%20function%28popup%29%20%7B%0A%09%09%09%09this.disablers.obs%20%3D%20this%3B%0A%09%09%09%09var%20node%20%3D%20popup.linkedTarget%3B%0A%09%09%09%09for%28var%20key%20in%20this.disablers%29%20%7B%0A%09%09%09%09%09var%20menuitem%20%3D%20popup.querySelector%28%60menuitem%5Bvalue%3D%22%24%7Bkey%7D%22%5D%60%29%3B%0A%09%09%09%09%09if%20%28menuitem%29%20menuitem.disabled%20%3D%20this.disablers%5Bkey%5D%28node%29%20%7C%7C%20node.nodeName%20%3D%3D%20%22menupopup%22%3B%0A%09%09%09%09%7D%0A%09%09%09%09popup.querySelector%28%27menuitem%5Bvalue%3D%22openEditor%22%5D%27%29.disabled%20%3D%20node.nodeName%20%3D%3D%20%22hbox%22%3B%0A%09%09%09%7D%2C%0A%0A//%09%09%09-----------------------------------------------%20EDITOR%20----------------------------------------------%0A%0A%09%09%09editorXUL%3A%20%60%0A%09%09%09%09%3C%3Fxml%20version%3D%221.0%22%3F%3E%0A%09%09%09%09%3C%3Fxml-stylesheet%20href%3D%22chrome%3A//global/skin/%22%3F%3E%0A%09%09%09%09%3C%3Fxml-stylesheet%20href%3D%22chrome%3A//custombuttons/content/codeeditor.css%22%20type%3D%22text/css%22%3F%3E%0A%09%09%09%09%3Cdialog%20xmlns%3D%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%0A%09%09%09%09%09title%3D%22%u0418%u0437%u043C%u0435%u043D%u0438%u0442%u044C%22%0A%09%09%09%09%09onload%3D%22obs%20%3D%20Application.storage.get%28%27%24%7BobsId%7D%27%2C%20null%29%3B%20obs.initEditor%28window%29%3B%22%0A%09%09%09%09%09ondialogaccept%3D%22obs.setAttributes%28window%29%3B%22%0A%09%09%09%09%09buttons%3D%22extra2%2Caccept%2Ccancel%22%0A%09%09%09%09%09buttonlabelextra2%3D%22%u0423%u0434%u0430%u043B%u0438%u0442%u044C%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%22%0A%09%09%09%09%09ondialogextra2%3D%22obs.deleteAttribute%28window%29%3B%22%3E%0A%09%09%09%09%09%3Chbox%20align%3D%22center%22%3E%0A%09%09%09%09%09%09%3Clabel%20value%3D%22%u041D%u043E%u0432%u044B%u0439%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%22/%3E%0A%09%09%09%09%09%09%3Ctextbox%20flex%3D%221%22%20multiline%3D%22false%22%20onkeydown%3D%22obs.onTexboxKeydown%28event%29%3B%22/%3E%0A%09%09%09%09%09%09%3Cbutton%20label%3D%22%u0414%u043E%u0431%u0430%u0432%u0438%u0442%u044C%22%20oncommand%3D%22obs.newAttribute%28window%2C%20textbox.value%29%3B%22/%3E%0A%09%09%09%09%09%3C/hbox%3E%0A%09%09%09%09%09%3Ctabbox%20flex%3D%221%22%3E%0A%09%09%09%09%09%09%3Ctabs/%3E%0A%09%09%09%09%09%09%3Ctabpanels%20flex%3D%221%22/%3E%0A%09%09%09%09%09%3C/tabbox%3E%0A%09%09%09%09%3C/dialog%3E%0A%09%09%09%60%2C%0A%09%09%09get%20editorURL%28%29%20%7B%0A%09%09%09%09delete%20this.editorURL%3B%0A%09%09%09%09var%20xul%20%3D%20this.editorXUL.trim%28%29%3B%0A%09%09%09%09return%20this.editorURL%20%3D%20%22data%3Aapplication/vnd.mozilla.xul+xml%2C%22%20+%20encodeURIComponent%28xul%29%3B%0A%09%09%09%7D%2C%0A%09%09%09openEditor%3A%20function%28node%29%20%7B%0A%09%09%09%09this.node%20%3D%20node%3B%20this.elm%20%3D%20this.insertElement%28%22box%22%29%3B%0A%09%09%09%09Services.ww.openWindow%28this.top%28node%29%2C%20this.editorURL%2C%20%22%22%2C%0A%09%09%09%09%09%22chrome%2Cmodal%2Cresizable%2Ccenterscreen%2Cwidth%3D700%2Cheight%3D500%22%0A%09%09%09%09%2C%20null%29%3B%0A%09%09%09%7D%2C%0A%09%09%09initEditor%3A%20function%28win%29%20%7B%0A%09%09%09%09for%28var%20str%20of%20%5B%22tabs%22%2C%20%22tabpanels%22%2C%20%22textbox%22%5D%29%20%7B%0A%09%09%09%09%09win%5Bstr%5D%20%3D%20win.document.querySelector%28str%29%3B%0A%09%09%09%09%7D%0A%09%09%09%09for%28var%20%7Bname%2C%20value%7D%20of%20this.node.attributes%29%20%7B%0A%09%09%09%09%09var%20isVal%20%3D%20name%20%3D%3D%20%22value%22%3B%0A%09%09%09%09%09var%20tab%20%3D%20this.addTab%28win%2C%20name%2C%20value%2C%20isVal%29%3B%0A%09%09%09%09%09if%20%28isVal%29%20tab.style.cssText%20%3D%20%22font-weight%3A%20bold%3B%20color%3A%20navy%3B%22%3B%0A%09%09%09%09%7D%0A%09%09%09%09if%20%28win.tabs.selectedIndex%20%3D%3D%20-1%29%20win.tabs.selectedIndex%20%3D%200%3B%0A%09%09%09%7D%2C%0A%09%09%09addTab%3A%20function%28win%2C%20name%2C%20value%2C%20sel%29%20%7B%0A%09%09%09%09var%20tab%20%3D%20this.insertElement%28%22tab%22%2C%20win.tabs%2C%20%7Blabel%3A%20name%7D%29%3B%0A%09%09%09%09tab.linkedCbeditor%20%3D%20this.insertElement%28%22cbeditor%22%2C%20win.tabpanels%2C%20%7B%0A%09%09%09%09%09class%3A%20%22custombuttons-editor-codeBox%22%2C%0A%09%09%09%09%09multiline%3A%20%22true%22%2C%0A%09%09%09%09%09flex%3A%20%221%22%2C%0A%09%09%09%09%09value%3A%20value%0A%09%09%09%09%7D%29%3B%0A%09%09%09%09if%20%28sel%29%20%7B%0A%09%09%09%09%09win.tabs.selectedItem%20%3D%20tab%3B%0A%09%09%09%09%09tab.linkedCbeditor.focus%28%29%3B%0A%09%09%09%09%7D%0A%09%09%09%09return%20tab%3B%0A%09%09%09%7D%2C%0A%09%09%09newAttribute%3A%20function%28win%2C%20name%29%20%7B%0A%09%09%09%09name%20%26%26%20this.addTab%28win%2C%20name%2C%20%22%22%2C%20true%29%3B%0A%09%09%09%09win.textbox.value%20%3D%20%22%22%3B%0A%09%09%09%7D%2C%0A%09%09%09onTexboxKeydown%3A%20function%28e%29%20%7B%0A%09%09%09%09if%20%28e.keyCode%20%3D%3D%20e.DOM_VK_RETURN%29%20%7B%0A%09%09%09%09%09e.preventDefault%28%29%3B%0A%09%09%09%09%09this.newAttribute%28e.target.ownerGlobal%2C%20e.target.value%29%3B%0A%09%09%09%09%7D%20else%20try%20%7B%0A%09%09%09%09%09var%20attr%20%3D%20e.target.value%20+%20e.key%3B%0A%09%09%09%09%09this.elm.setAttribute%28attr%2C%20true%29%3B%0A%09%09%09%09%09this.elm.removeAttribute%28attr%29%3B%0A%09%09%09%09%7D%20catch%28ex%29%20%7B%0A%09%09%09%09%09e.preventDefault%28%29%3B%0A%09%09%09%09%7D%0A%09%09%09%7D%2C%0A%09%09%09setAttributes%3A%20function%28win%29%20%7B%0A%09%09%09%09for%28var%20tab%20of%20win.tabs.childNodes%29%20%7B%0A%09%09%09%09%09var%20val%20%3D%20tab.linkedCbeditor.value%3B%0A%09%09%09%09%09this.node.setAttribute%28tab.label%2C%20val%29%3B%0A%09%09%09%09%7D%0A%09%09%09%09this.save%28%29%3B%0A%09%09%09%7D%2C%0A%09%09%09deleteAttribute%3A%20function%28win%29%20%7B%0A%09%09%09%09var%20tab%20%3D%20win.tabs.selectedItem%3B%0A%09%09%09%09var%20attr%20%3D%20tab.label%3B%0A%09%09%09%09if%20%28%21win.confirm%28%22%u0423%u0434%u0430%u043B%u0438%u0442%u044C%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%20%22%20+%20attr%20+%20%22%20%3F%22%29%29%20return%3B%0A%09%09%09%09this.node.removeAttribute%28tab.label%29%3B%0A%09%09%09%09tab.linkedCbeditor.remove%28%29%3B%20tab.remove%28%29%3B%0A%09%09%09%09win.tabs.selectedIndex%20%3D%200%3B%0A%09%09%09%7D%2C%0A%09%09%09save%3A%20function%28node%20%3D%20this.node%29%20%7B%0A%09%09%09%09var%20box%20%3D%20node.ownerDocument.getElementById%28this.boxId%29%3B%0A%09%09%09%09if%20%28%21box%29%20return%3B%0A%09%09%09%09box.removeChild%28box.linkedPopup%29%3B%0A%09%09%09%09var%20xul%20%3D%20box.innerHTML.replace%28/%5Ct/g%2C%20%22%26%23x9%3B%22%29.replace%28/%5Cn/g%2C%20%22%26%23xA%3B%22%29.replace%28/%5Cr/g%2C%20%22%26%23xD%3B%22%29%3B%0A%09%09%09%09var%20link%20%3D%20custombuttons.makeButtonLink%28%22edit%22%2C%20_id%29%3B%0A%09%09%09%09var%20param%20%3D%20custombuttons.cbService.getButtonParameters%28link%29%3B%0A%09%09%09%09param%20%3D%20param.wrappedJSObject%20%7C%7C%20param%3B%0A%09%09%09%09param.help%20%3D%20xul%3B%0A%09%09%09%09custombuttons.cbService.installButton%28param%29%3B%09%0A%09%09%09%7D%2C%0A%0A//%09%09%09-----------------------------------------------%20MISC%20------------------------------------------%0A%0A%09%09%09insertElement%3A%20function%28element%2C%20parent%2C%20attributes%2C%20before%20%3D%20null%29%20%7B%0A%09%09%09%09var%20notExist%20%3D%20typeof%20element%20%21%3D%20%22object%22%3B%0A%09%09%09%09if%20%28notExist%29%20element%20%3D%20document.createElement%28element%29%3B%0A%09%09%09%09if%20%28notExist%20%26%26%20attributes%29%20%7B%0A%09%09%09%09%09for%28var%20attribute%20in%20attributes%29%20%7B%0A%09%09%09%09%09%09attribute%20%3D%3D%20%22data%22%20%7C%7C%20element.setAttribute%28attribute%2C%20attributes%5Battribute%5D%29%3B%0A%09%09%09%09%09%7D%0A%09%09%09%09%7D%0A%09%09%09%09parent%20%26%26%20parent.insertBefore%28element%2C%20before%29%3B%0A%09%09%09%09return%20element%3B%0A%09%09%09%7D%2C%0A%09%09%09top%3A%20function%28node%29%20%7B%0A%09%09%09%09var%20win%20%3D%20node.ownerGlobal%3B%0A%09%09%09%09if%20%28%21%28win%20instanceof%20ChromeWindow%29%29%0A%09%09%09%09%09win%20%3D%20Services.wm.getMostRecentWindow%28%22navigator%3Abrowser%22%29%3B%0A%09%09%09%09return%20win%3B%0A%09%09%09%7D%0A%09%09%7D%3B%0A%09%09Application.storage.set%28obsId%2C%20obs%29%3B%0A%09%09obs.init%28%29%3B%0A%09%7D%0A%09function%20destructor%28reason%29%20%7B%0A%09%09if%20%28%21%22update%20delete%22.contains%28reason%29%29%20return%3B%0A%09%09var%20obs%20%3D%20Application.storage.get%28obsId%2C%20null%29%3B%0A%09%09if%20%28obs%29%20%7B%0A%09%09%09obs.destroy%28%29%3B%0A%09%09%09Application.storage.set%28obsId%2C%20null%29%3B%0A%09%09%7D%0A%09%7D%0A%09addDestructor%28reason%20%3D%3E%20%7B%0A%09%09destructor%28reason%29%3B%0A%09%09setTimeout%28function%28%29%20%7B%0A%09%09%09custombuttons.palette.querySelector%28%27toolbarbutton%5Bid%3D%22%27%20+%20_id%20+%20%27%22%5D%27%29%20%26%26%20destructor%28%22delete%22%29%3B%0A%09%09%7D%2C%20500%29%3B%0A%09%7D%29%3B%0A%7D%29%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%3Ctoolbarbutton%20xmlns%3D%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%20image%3D%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka///jnP//45z//+Oc//8pGv//tG7//4ZA//90Lv//dTD//yka////x////8f////H////x////8f//yka//8pGv//45z//+Oc//91MP//Vxr//5RM///Bev//wXr//8F6//+8df//ejP//5JK////x////8f////H//8pGv//KRr//+Oc///jnP//KRr////////////////////////////////////H//+0bv//nVf////H////x///KRr//yka///jnP//45z//0Ey/////////8b//+Oc//+1cf//ayb//+Oc/////////+X//1Ma////x////8f//yka//8pGv//45z//+Oc//9oWf//zKr//8W2//9eGv//h0L//zwa//+HQv/////////o//9mH//MiD//x4Q8//8pGv//KRr//+Oc///jnP//0Ir//2hZ//96M///NBr//14a//+bVP///+D/////////////Uxr//+Oc///jnP//KRr//yka///jnP//45z//86I//88Gv//vHX////g////////////////////4P//6KL//yka///jnP//45z//yka//8pGv//45z//+Oc//9EGv//1o/////////////////////g///TjP//h0L//yka///Vj///45z//+Oc//8pGv//KRr//yka//8pGv//PBr////l////////0Ir//1Ma//8tGv//KRr//0Aa///jnP//45z//+Oc///jnP//KRr//yka////x////8f//zwa/////f///////5pS//9PGv//h0L//yka//88Gv//Wxr//8B7///jnP//45z//yka//8pGv///8f////H//8pGv//3pb/////////////3pb//9CK///qo////////7Nr//9kHP//45z//+Oc//8pGv//KRr////H////x///ayb//0ca///elv///+D/////////////////4eHh//+aUv//ZBz//+Oc///jnP//KRr//yka////x////8f////H//9kHP//KRr//0ca//9mH///ZBz//08a//8wGv//KRr/8MyG///jnP//45z//yka//8pGv///8f////H////x////8f////H///pov//2ZD//9CK//8pGv//45z//+Oc///jnP//45z//+Oc//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr//yka//8pGv//KRr/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ%3D%3D%22%20tooltiptext%3D%22Button%26%23xA%3BTooltip%26%23xA%3BText%22%3E%3Cmenupopup%20position%3D%22after_start%22%3E%3Cmenuitem%20label%3D%22%21Close%20menu%22%20value%3D%22%26%23xA%3B***%26%23xA%3B%26%23xA%3Bclosemenu%3D%26quot%3Bnone%26quot%3B%26%23xA%3B%26%23xA%3B***%26%23xA%3B%22%20closemenu%3D%22none%22/%3E%3Cmenuseparator/%3E%3Cmenuitem%20label%3D%22Styled%20menuitem%22%20value%3D%22bla%26%23xA%3B%26%23x9%3Bbla%26%23xA%3Bbla%22%20style%3D%22font-style%3A%20italic%3B%26%23xA%3B%26%23xA%3Bcolor%3A%20blue%3B%26%23xA%3Bfont-weight%3A%20bold%3B%26%23xA%3B%26%23xA%3B-moz-appearance%3A%20none%3B%26%23xA%3Bbackground-color%3A%20lightyellow%3B%26%23xA%3Bborder%3A%202px%20solid%20yellow%3B%22/%3E%3Cmenu%20label%3D%22Menu%20iconic%22%20class%3D%22menu-iconic%22%20image%3D%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADMZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm////////////////////////////////////////////////////////////////////////////zGZm/8xmZv///////////////////////////////////////////////////////////////////////////8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm////////////////////////////////////////////////////////////////////////////zGZm/8xmZv///////////////////////////////////////////////////////////////////////////8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm////////////////////////////////////////////////////////////////////////////zGZm/8xmZv///////////////////////////////////////////////////////////////////////////8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm////////////////////////////////////////////////////////////////////////////zGZm/8xmZv///////////////////////////////////////////////////////////////////////////8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm////////////////////////////////////////////////////////////////////////////zGZm/8xmZv///////////////////////////////////////////////////////////////////////////8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/zGZm/8xmZv/MZmb/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ%3D%3D%22%3E%3Cmenupopup%3E%3Cmenuitem%20label%3D%22menuitem%22%20value%3D%22%22/%3E%3C/menupopup%3E%3C/menu%3E%3Cmenuitem%20label%3D%22Menuitem%20iconic%22%20value%3D%22123%26%23xA%3B%26%23xA%3B4567%26%23xA%3B890...%26%23xA%3B%22%20class%3D%22menuitem-iconic%22%20image%3D%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAADMAAAAzAAAAMwAAADMAAAAzAAAAMwAAADMAAAAzAAAAMwAAADMAAAAzAAAAMwAAADMAAAAzAAAAGDBrppU5gMj/OH7H/zh+x/84fsf/OX7H/zl+x/85fsf/OX7H/zl+x/85fsf/OX7H/zl+x/84fsf/OYDI/zBrppU5gMj/Xdb//1TO//9Tzf//U83//1XO//9Vzv//VM3//1TN//9Vzv//Vc7//1TN//9Uzf//VM7//13W//85gMj/OH7H/1vP//9Dwv//TsX//z/A//9Dwf//RsL//0LB//9AwP//Q8H//0bC//9Cwf//QMD//0PC//9bz///OH7H/zZ9x/9XzP//y+7/////////////zO7//zW8/////////////8vt//81vP/////////////L7v//V8z//zZ9x/81fcf/V8v///////8ntv//K7f///////8zuv//L7j//yO0////////Lrj//y64//8jtP///////1fL//81fcf/NH3H/1nM////////KLX//zO5//8xuP//MLj//ye0///E6////////yi1//8mtP//xOr///////9czf//NX3H/zR9x/9dzP///////yGx//8stf//KbT//yOy////////wer//x+x//8hsf///////8Hq//8esf//Z8///zZ+x/80fcf/Y83///////8Sq///F63///////8WrP///////xCq//8brv//G67///////8Pqf//Ga7//23R//82fsf/NX3H/27R//+86f/////////////C6v//FKz//8Dp/////////////xWs///A6f////////////9w0f//NX3H/zZ+x/971f//Dqr//w2p//8Oqf//Eqr//xas//8Sqv//D6n//xGq//8Wq///Eqr//w6p//8Nqf//etT//zZ+x/83gMj/hNz//4LY//+C1///g9f//4TY//+E2P//hNj//4PX//+D2P//hNj//4TY//+C1///gtj//4Tc//83gMj/OYPKjTeAyP82fsf/Nn7H/zZ+x/82fsf/Nn7H/zZ+x/82fsf/Nn7H/zZ+x/82fsf/Nn7H/zZ+x/83gMj/OYPKjQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//+sQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEH//6xB//+sQQ%3D%3D%22/%3E%3Cmenuseparator/%3E%3Cmenuitem%20label%3D%22JS%22%20oncommand%3D%27alert%28%22JS%22%29%3B%27%20tooltiptext%3D%22%u041F%u0440%u043E%u0441%u0442%u043E%20demo%22/%3E%3Cmenuitem%20label%3D%22%u0414%u043B%u044F%20%u0441%u043B%u0435%u0434%u0443%u044E%u0449%u0435%u0433%u043E%20%u043F%u0443%u043D%u043A%u0442%u0430%22%20value%3D%22@namespace%20url%28http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%29%3B%26%23xA%3B%26%23xA%3B%23blablabla%20%7B%26%23xA%3B%26%23x9%3Bcolor%3A%20black%3B%26%23xA%3B%26%23x9%3Bdisplay%3A%20-moz-box%20%21important%3B%26%23xA%3B%26%23x9%3Bwidth%3A100px%3B%26%23xA%3B%26%23x9%3Bheight%3A30px%21important%3B%26%23xA%3B%7D%22%20tooltiptext%3D%22@namespace%20url%28http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%29%3B%26%23xA%3B%26%23xA%3B%23blablabla%20%7B%26%23xA%3B%26%23x9%3Bcolor%3A%20black%3B%26%23xA%3B%26%23x9%3Bdisplay%3A%20-moz-box%20%21important%3B%26%23xA%3B%26%23x9%3Bwidth%3A100px%3B%26%23xA%3B%26%23x9%3Bheight%3A30px%21important%3B%26%23xA%3B%7D%22/%3E%3Cmenuitem%20label%3D%22JS%20%20%20%20%20%21important%3B%22%20oncommand%3D%22event.stopPropagation%28%29%3B%26%23xA%3Bthis.text%20%3D%20this.result%3B%26%23xA%3B%22%20onmouseenter%3D%27this.text%20%3D%20codeElementWrapper.value%3B%26%23xA%3Bthis.result%20%3D%20this.text%26%23xA%3B%26%23x9%3B.replace%28/%20%3F%21important%3B/g%2C%20%22%3B%22%29%26%23xA%3B%26%23x9%3B.replace%28/%3B/g%2C%20%22%20%21important%3B%22%29%26%23xA%3B%26%23x9%3B.replace%28/%28@namespace%5B%5E%3B%5D+%29%20%21important%3B/%2C%20%22%241%3B%22%29%3B%26%23xA%3B%26%23xA%3BsourceEditor.setText%28this.result%29%3B%27%20onmouseleave%3D%22sourceEditor.setText%28this.text%29%3B%26%23xA%3Bdelete%20this.text%3B%26%23xA%3Bdelete%20this.result%3B%22%20tooltiptext%3D%22%u041D%u0435%20%u0434%u0435%u043B%u0430%u0439%20%u0442%u0430%u043A%22%20class%3D%22menuitem-iconic%22%20image%3D%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABchMtebZPU+HWZ1+5tk9PJZ47Rk2uQ0r9xltTkd5vY83me2v96ndr5bZLT+WaN0PBiic6eXITLNgAAAAAAAAAAbZPUzqXH8/+rzPj/j7Dj/5O06P+hxPH/rc73/7HS+/+bve7/cpfV/42x5P+myPD/oMLt/26U1OoAAAAAAAAAAIKo4PO62/v/utr7/7DR+f+01fz/u9z8/77e/f+11vv/kLPn/26U1P9xldX/dZnW/3SY1f9njtDhXITLBwAAAACNseT/vt79/77e/f+93f3/vt79/77e/f+93f3/nb/v/3KX1f+Ut+f/udr6/77e/f+83fz/m73r/1yEy2sAAAAAjrHk/77e/f++3v3/vt79/77e/f++3v3/uNn8/5q87f9zl9f/cJTU/3WZ1v91mdb/dZnW/3CU1P9dhcxpAAAAAIqu4vq83Pz/vt79/77e/f++3v3/vt79/7TV/P+Dp9//dJnX/7HS9v++3v3/vt79/77e/f+y0/f/dZvY6gAAAAB4ndnbsdH2/6fI8f+pyvX/t9n6/77e/f+21/v/jrHl/2mQ0v9vlNT/dZnW/3WZ1v91mdb/c5fV/2SLzr0AAAAAXITLbHab2fd1mtridJnXq5Cz6P+21vn/vNz8/6/R+v+Dp9//ia3j/7jY+f++3v3/vt79/7XV+P96oNvqAAAAAAAAAAAAAAAAAAAAAAAAAABehsx4lLjr/7ra+v+42Pz/iq3j/2mP0f+DqeD/jrHk/46x5P+DqeD+XITLpQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGiP0qSnyPH/vNz9/5a56v9ki9ApAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABchMsVia3j7bbW+v+Xuez/XITLfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGaO0IqqzPP/r9D3/3SZ2dUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABchMtboMLt/7vb+/+Bp+H2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXITLNpi76v+72/v/g6nh9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFyEyxKGq+H/rM30/3Sa19IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXITLim+V1fVchMtfAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOsQQADrEEAAaxBAAGsQQABrEEAAaxBAAGsQQABrEHwAaxB+D+sQfg/rEH8P6xB/D+sQfw/rEH8P6xB/j+sQQ%3D%3D%22/%3E%3C/menupopup%3E%3C/toolbarbutton%3E%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E |
turbot > 16-03-2015 01:57:58 |
Dumby Может, стоит опубликовать в готовых? Полезная кнопка, на мой взгляд. |
difabor > 16-03-2015 02:04:23 |
turbot пишет
Присоединяюсь. |
turbot > 16-03-2015 02:19:49 |
difabor пишет
Вставляет заданные пользователем шаблоны в редакторе Stylish. Полезная штука для лентяев вроде меня. Которым и автодополнения редактора мало. |
HaGEN > 16-03-2015 14:43:11 |
Можно ли в CB использовать переменные процесса FF такие как %MOZILLA_PLUGINS%, %MOZ_PROFILE_PATH% и др. Для чего - для портабельной сборки со своим софтом(хочу сделать себе нечто наподобие ОпераAC). Например вот Выделить код Код:[Environment] ;(multiple istances) ;MOZ_NO_REMOTE=1 ; Путь к папке с прогами PM_SOFT=$Home$\$AppName$\Profiles\$Profile$\Soft ;(profile path) MOZ_PROFILE_PATH=$Home$\$AppName$\Profiles\$Profile$ PM_SOFT - это моя добавленная и она есть в "окружении" процесса. И хотелось бы запускать программы из кнопок используя в пути к файлу переменную %PM_SOFT% шобы с флэхи запускать везде. типа так: startProcess("%PM_SOFT%\\FVD-Suite\\FVD Downloader\\FVD Downloader.exe",[""]); ... и дальше как в кнопке-примере ![]() Решено ![]() |
diliana > 17-03-2015 03:19:38 |
Всем привет. |
diliana > 17-03-2015 19:44:04 |
okkamas_knife большое спасибо! |
turbot > 18-03-2015 02:15:25 |
bunda1 |
xrun1 > 18-03-2015 02:41:24 |
bunda1 |
turbot > 18-03-2015 02:47:17 |
Ну, я о б этом как раз. Можете сами у себя заменить, как выше сказано, чтоб не пропадала. |
xrun1 > 18-03-2015 03:11:44 |
turbot turbot пишет
Работает, спасибо. |
villa7 > 19-03-2015 15:41:43 |
Может кто нибудь починить Disable style |
Northtech > 19-03-2015 17:41:33 |
xrun1 пишет
Есть еще вариант, вот для примера иконка: и с Выделить код Код:url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale") |
Dumby > 19-03-2015 20:36:27 |
villa7 пишет
А так пробовал ? скрытый текст Выделить код Код:gPageStyleMenu._getStyleSheetInfo().authorStyleDisabled ? gPageStyleMenu.switchStyleSheet("") : gPageStyleMenu.disableStyle(); |
bunda1 > 19-03-2015 23:09:22 |
turbot пишет
Спасибо за ценные замечания, исправил |
villa7 > 20-03-2015 08:54:31 |
Dumby |
Mishania > 21-03-2015 19:21:55 |
Пользуюсь кнопкой для коротких ссылок скрытый текст Выделить код Код:(function(location){ var icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNzQxNEMxNjhCQkFFMzExQjBBMUQ4Qzc3OUM1QjM5QyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RUQ1MTc3NUJBQUYxMUUzQTcwOUY5Qzg3QkE3RDUwRSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RUQ1MTc3NEJBQUYxMUUzQTcwOUY5Qzg3QkE3RDUwRSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA4NDE0QzE2OEJCQUUzMTFCMEExRDhDNzc5QzVCMzlDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjA3NDE0QzE2OEJCQUUzMTFCMEExRDhDNzc5QzVCMzlDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+pwkIsgAAA5BJREFUeNq0l11IU2EYx9+zneFyynIFFUXDwmBkDNHYVaJhXVTYh4VUtIu+KIToQ/u4yoiWFBkkfVwUBHURZhRh3hSVN90oJESDunARBactE1KHm9P1f8ZzYm4785zDfODHznbec97nfd7n/T/PpGQyKQppvb29orW1VZSUlNDXleAs2AGWg5/gBbgGvtMAi5g/qwVvQQtPLvizhX+vnRcHZFmmjwpe6WqNYfT7c7BGzrwzPj4uIpGIkCTJlAOKogiLxXIRl2VzDHWB9iwH+vv7RVtbm3A4HGaDsLC4uHizzrGbshyYmZkRiURCTE9Pm5odkXMROocvlnO8gEKYwqQ5aR3AqmNsvJBJuBCcp5MIbDqf+SIXYGI7OAjOgFUGn+3KuQU6jUK8F5wDlSYcfwQeyJlKSEmow7aDC8Cncf8luA42gBNgqfruaDSq4PIOCNBPUlNTU/qDXujAlnA4XIEk/IvvH3hPo3x/I0/coDHxO3AVvE7PdLAep2qJ0+n8VVdXN4Ao//4f8crKVPRsrM8tVqvVxmqm2idwA2wFezQmHgQd4JlWyGKxmPB4PKK7u3u2chYVFdHnLXBM49l14KHGvSCH+jFIzLVvtAW05el5RkttzjO5ln0DN8H9tO0xVzvAaSNSD25zEv0pSPECVQbGnwJPClk9jSrhNhNik9p7SsKpqamcDnw08K79PP4uWKvnASpqLpdL1NTUCDpxmUInVVdXN5sM6yR4SnIKBjTGuLFyu8/nCzc2No6qSktAD1JtGzkgeEX5TkKMK9yCXItk5etiISI7Ao4CDyazI/TheDxO4nQFpf4rtEb09fWJ8vJyIdPesFxOagjRZ3aOsv4k2AccGTVhJ/OKnd2l3qRzj/ctA34SM+TDbszxXi33RqVY7feOA3rhIhMJqcCBqp6eHsXtdgsps/hQW00tGbfV+WwFOAwO8bXuEwEHLsGBdnLAoiaFioFO6Ac1lawj1AuEDASiIV2IZpmJPypU2TrBSJ6akdUL0vbTdFkOUEM6NjZmvC2y28M2m03vAsjpZM4I0NHw+/30QkMODA0NDYZCoVFke5mO4W80t8Dr9aYwaoFAIBIMBjtLS0sv6yho98zWAk0jnUcSd3BvoGUj3EcqmhEwa1A6MTExkcApOkB/sFgNPdw1R7hNC+AYppRQzRWpUH/PkQNieHhYUCKm1wJ2IAxG1VNGx72+vj6lNf8EGADGSCd20PLWBgAAAABJRU5ErkJggg=='; if (location.protocol.startsWith('http')) { var xhr = new XMLHttpRequest(); var request = { longUrl : location.toString(), key : '{YOUR_API_KEY}' } xhr.onload = function(){ var link = JSON.parse(xhr.response).id; const gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper); gClipboardHelper.copyString(link) try { Components.classes["@mozilla.org/alerts-service;1"].getService(Components.interfaces.nsIAlertsService) .showAlertNotification(icon, link, 'Скопирован в буфер обмена', false, "", null, ""); } catch (e) {} } xhr.open('POST', 'https://www.googleapis.com/urlshortener/v1/url', true); xhr.setRequestHeader("Content-type", "application/json"); xhr.send(JSON.stringify(request)); } })(content.window.location); На 36.0.3 перестала работать. Поправьте пожалуйста, или подскажите другую. |
bunda1 > 21-03-2015 19:55:59 |
Mishania пишет
На FF24 тоже не работает, наверно сервис коротких ссылок изменился или глючит. |
Lex1 > 21-03-2015 20:28:44 |
Mishania "message": "Daily Limit for Unauthenticated Use Exceeded. Continued use requires signup." скрытый текст Выделить код Код:(function(location){ var icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowNzQxNEMxNjhCQkFFMzExQjBBMUQ4Qzc3OUM1QjM5QyIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0RUQ1MTc3NUJBQUYxMUUzQTcwOUY5Qzg3QkE3RDUwRSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0RUQ1MTc3NEJBQUYxMUUzQTcwOUY5Qzg3QkE3RDUwRSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChXaW5kb3dzKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjA4NDE0QzE2OEJCQUUzMTFCMEExRDhDNzc5QzVCMzlDIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjA3NDE0QzE2OEJCQUUzMTFCMEExRDhDNzc5QzVCMzlDIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+pwkIsgAAA5BJREFUeNq0l11IU2EYx9+zneFyynIFFUXDwmBkDNHYVaJhXVTYh4VUtIu+KIToQ/u4yoiWFBkkfVwUBHURZhRh3hSVN90oJESDunARBactE1KHm9P1f8ZzYm4785zDfODHznbec97nfd7n/T/PpGQyKQppvb29orW1VZSUlNDXleAs2AGWg5/gBbgGvtMAi5g/qwVvQQtPLvizhX+vnRcHZFmmjwpe6WqNYfT7c7BGzrwzPj4uIpGIkCTJlAOKogiLxXIRl2VzDHWB9iwH+vv7RVtbm3A4HGaDsLC4uHizzrGbshyYmZkRiURCTE9Pm5odkXMROocvlnO8gEKYwqQ5aR3AqmNsvJBJuBCcp5MIbDqf+SIXYGI7OAjOgFUGn+3KuQU6jUK8F5wDlSYcfwQeyJlKSEmow7aDC8Cncf8luA42gBNgqfruaDSq4PIOCNBPUlNTU/qDXujAlnA4XIEk/IvvH3hPo3x/I0/coDHxO3AVvE7PdLAep2qJ0+n8VVdXN4Ao//4f8crKVPRsrM8tVqvVxmqm2idwA2wFezQmHgQd4JlWyGKxmPB4PKK7u3u2chYVFdHnLXBM49l14KHGvSCH+jFIzLVvtAW05el5RkttzjO5ln0DN8H9tO0xVzvAaSNSD25zEv0pSPECVQbGnwJPClk9jSrhNhNik9p7SsKpqamcDnw08K79PP4uWKvnASpqLpdL1NTUCDpxmUInVVdXN5sM6yR4SnIKBjTGuLFyu8/nCzc2No6qSktAD1JtGzkgeEX5TkKMK9yCXItk5etiISI7Ao4CDyazI/TheDxO4nQFpf4rtEb09fWJ8vJyIdPesFxOagjRZ3aOsv4k2AccGTVhJ/OKnd2l3qRzj/ctA34SM+TDbszxXi33RqVY7feOA3rhIhMJqcCBqp6eHsXtdgsps/hQW00tGbfV+WwFOAwO8bXuEwEHLsGBdnLAoiaFioFO6Ac1lawj1AuEDASiIV2IZpmJPypU2TrBSJ6akdUL0vbTdFkOUEM6NjZmvC2y28M2m03vAsjpZM4I0NHw+/30QkMODA0NDYZCoVFke5mO4W80t8Dr9aYwaoFAIBIMBjtLS0sv6yho98zWAk0jnUcSd3BvoGUj3EcqmhEwa1A6MTExkcApOkB/sFgNPdw1R7hNC+AYppRQzRWpUH/PkQNieHhYUCKm1wJ2IAxG1VNGx72+vj6lNf8EGADGSCd20PLWBgAAAABJRU5ErkJggg=='; if (location.protocol.startsWith('http')) { var xhr = new XMLHttpRequest(); var request = { longUrl : location.toString() } xhr.onload = function(){ var link = JSON.parse(xhr.response).id; const gClipboardHelper = Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper); gClipboardHelper.copyString(link) try { Components.classes["@mozilla.org/alerts-service;1"].getService(Components.interfaces.nsIAlertsService) .showAlertNotification(icon, link, 'Скопирован в буфер обмена', false, "", null, ""); } catch (e) {} } xhr.open('POST', 'https://www.googleapis.com/urlshortener/v1/url?key=AIzaSyC7uWVak6m9AFIMORinK4gfNZZ5IrNPgKA', true); xhr.setRequestHeader("Content-type", "application/json"); xhr.send(JSON.stringify(request)); } })(content.window.location); |
Mishania > 22-03-2015 19:50:59 |
Lex1 |
Quartz1t > 23-03-2015 14:18:41 |
Кнопка Linkification (Делает текстовые ссылки кликабельными) но для этого кнопку нужно каждый раз кликать) |
VORON > 23-03-2015 14:34:56 |
Quartz1t |
Quartz1t > 23-03-2015 15:14:07 |
VORON, спасибо, но всё же хотелось бы автоматизировать кнопку. |
xrun1 > 23-03-2015 16:44:24 |
Quartz1t P.S. "Linkification" - название кнопки, т.е. то, что при редактировании кнопки "Имя (N):" |
Coroner > 24-03-2015 21:23:41 |
Доброго времени суток. Имеется кнопка, собранная по видимому из кусков кода для открытия закладок, но тем не менее работающая. Выделить код Код:/*Initialization Code*/ this.tooltipText = "L = Открыть в боковой панели\n" + "M = Открыть в окне\n" + "R = Открыть во вкладке\n\n" + "Shift-R = Меню кнопки"; this. onclick = function (event) { if (event. button == 0) PlacesCommandHook.showPlacesOrganizer('AllBookmarks') if (event. button == 1) toggleSidebar('viewBookmarksSidebar'); if (event. button == 2 && !event.ctrlKey && !event.shiftKey && !event.altKey && !event.metaKey) { getBrowser (). selectedTab = getBrowser (). addTab ("chrome://browser/content/places/places.xul") } if(event.button == 2 && !event.shiftKey && !event.altKey && !event.metaKey) { event.preventDefault(); event.stopPropagation(); } }; Можно-ли как-нибудь на ЛКМ повесить функционал "родной" кнопки, не библиотеки (редактора закладок) как сделано, а целиком : меню с закладками и пунктами "показать закладки", "редактировать закладки" ну и ниже сами закладки. То есть : Решения на форуме не нашёл (пропустил ?) |
bunda1 > 24-03-2015 23:39:49 |
Мне кажется тут легче повесить на "родную" кнопку дополнительные клики, пример: Выделить код Код:addEventListener("click", function(e) { if ( e.button == 1 ) { alert("1"); } if ( e.button == 2 ) { e.preventDefault(); e.stopPropagation(); alert("2"); } }, false, document.getElementById("bookmarks-menu-button") ); |
Coroner > 24-03-2015 23:58:00 |
Я когда писал, под "родной" имел в виду собственную кнопку |
bunda1 > 25-03-2015 01:15:53 |
Выделить код Код:if ( !this.lastChild ) { var mc = document.getElementById("bookmarksMenuPopup"); var mcc = mc.cloneNode( true ); this.appendChild( mcc ); } var bo = document.getBoxObjectFor( this ); this.lastChild.showPopup ( this, -1, -1, "popup", "bottomleft", "topleft" ); |
Coroner > 25-03-2015 02:24:13 |
bunda1, спасибо огромное. Всё прекрасно работает и что называется "душа спокойна". |
bunda1 > 25-03-2015 02:33:49 |
okkamas_knife пишет
Да, проблема |
Infocatcher > 25-03-2015 12:59:51 |
okkamas_knife пишет
Вот так можно: Выделить код Код:var data = self.Help; var suc = Components.classes["@mozilla.org/intl/scriptableunicodeconverter"] .createInstance(Components.interfaces.nsIScriptableUnicodeConverter); suc.charset = "UTF-16"; data = suc.ConvertFromUnicode(data); var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.append("runVBScript.vbs"); custombuttonsUtils.writeFile(file.path, data); file.launch(); |
bunda1 > 25-03-2015 19:22:59 |
Infocatcher Кстати, так тоже работает: Выделить код Код:var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.append("runVBScript.vbs"); custombuttonsUtils.writeFile( file.path, convertFromUnicode("UTF-16", self.Help) ); file.launch(); 25-03-2015 19:33:52 okkamas_knife пишет
Прикольно, смотрю ты что то соображаешь в VBScript, а не подскажешь код для кнопки который после закрытия Firefox выключает программу или процесс через: Выделить код Код:strComputer = "." Set objWMIService = GetObject("winmgmts:" _ & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2") Set colProcessList = objWMIService.ExecQuery _ ("Select * from Win32_Process Where Name = 'Notepad.exe'") For Each objProcess in colProcessList objProcess.Terminate() Next Вот тут есть что то похожее 26-05-2006 22:53:49 но код также запускает Firefox что не нужно. |
bunda1 > 25-03-2015 20:34:03 |
okkamas_knife |
HaGEN > 26-03-2015 00:34:57 |
Я не знаю за VBSscript, просто может каг идея... bunda1 пишет
Можно сделать процесс Firefox доченним и запускать его из своего скрипта, который и будет ждать закрытия бравзера и затем выполнять остальной код по уничтожению. Переписать тоже самое на VBS думаю можно |
VORON > 01-04-2015 21:32:57 |
Скажите,есть ли кнопка-остановить/перезагрузить страницу?После 28 го лиса,очень не хватает. |
Coroner > 01-04-2015 22:28:45 |
Что-то вроде этого не подойдёт ? |
bunda1 > 01-04-2015 23:26:10 |
VORON пишет
|
VORON > 01-04-2015 23:37:20 |
bunda1 |
Coroner > 06-04-2015 13:20:45 |
Ослеп и ничего не вижу. Для 39 (Developer Edition ) не ? |
VORON > 07-04-2015 11:34:07 |
bunda1 |
bunda1 > 07-04-2015 19:44:25 |
VORON пишет
Можно конечно, замени иконку кнопки или Css стилем изменить или положить в кнопку что то типа: |
sonyas75 > 08-04-2015 08:58:36 |
Есть кнопочка Proxy В ней по ЛКМ меняется состояние network.proxy.type с 1 на 0 и обратно. Я сменил на 2 и 5 Выделить код Код:if ( e.button == 0 ) { cbu.setPrefs("network.proxy.type", (cbu.getPrefs("network.proxy.type") == 2 ) ? 5 : 2 ); } но так как я совсем нифига не понимаю ни в коде, ни в кнопках, то у меня не меняется состояние иконки, с красного на зеленый о! понял Выделить код Код:// Установливать нужную иконку кнопки при старте баузера или при изменениях в 'about:config' ................................ var s = "network.proxy.type"; function toggleImage() { var icon = self.ownerDocument.getAnonymousElementByAttribute( self, "class", "toolbarbutton-icon"); icon.src = ( cbu.getPrefs(s) == 2 ) надо менять cbu.getPrefs(s) == с 2 на 5, ну или наоборот. |
HaGEN > 19-04-2015 15:49:18 |
Что не так снопкой, поглядите... скрытый текст Выделить код Код:var urllink = getBrowser().currentURI.spec; gClipboard.write(urllink); var param="/StartDomain"; var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.initWithPath(file.path + "\\Soft\\Tools\\DomainHostingView.exe"); startProcess(file.path,param,[urllink]); function startProcess(path,param,args) { var file = Components.classes["@mozilla.org/file/local;1"] .createInstance(Components.interfaces.nsILocalFile); file.initWithPath(path); if(file.exists()) { var process = Components.classes["@mozilla.org/process/util;1"] .createInstance(Components.interfaces.nsIProcess); process.init(file); process.run(false, args, args.length); } else custombuttons. alertBox ("URL не найден", path); }; |
bunda1 > 19-04-2015 19:29:00 |
HaGEN пишет
Выделить код Код:var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.initWithPath(file.path + "\\Soft\\Tools\\DomainHostingView.exe"); var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); process.init(file); process.run(false, ["/StartDomain",content.window.location], 1); |
Dumby > 19-04-2015 21:13:44 |
bunda1 пишет
Почему не |
HaGEN > 19-04-2015 21:22:30 |
Благодарю bunda1! такой "упрощенный" вариант даже лучше. Выделить код Код:var url = getBrowser().currentURI.spec; var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.initWithPath(file.path + "\\Soft\\Tools\\DomainHostingView.exe"); var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); process.init(file); process.run(false, ["/StartDomain", url], 2); 19-04-2015 21:24:01 19-04-2015 21:47:42 Выделить код Код:var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.initWithPath(file.path + "\\Soft\\Tools\\DomainHostingView.exe"); var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess); process.init(file); process.run(false, ["/StartDomain", content.document.domain], 2); |
VORON > 28-04-2015 10:19:32 |
bunda1 |
bunda1 > 28-04-2015 18:51:55 |
VORON Выделить код Код:custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EVT%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAKP+AAIX/gAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAFf+AABUAAAAAAAAAAAAAAAAAAAAA/4AAJP+AAP//gAD//4AA//+AACQAAAAAAAAAAAAAAAAAAAAA/4AAEv+AAP//gAD//4AAEgAAAAAAAAAA/4AAIP+AAP//gAD//4AA//+AAP//gAD//4AAJgAAAAAAAAAAAAAAAP+AABH/gAD//4AA//+AABEAAAAAAAAAAP+AAP//gAD//4AA//+AADb/gAD//4AA//+AAP//gAAQAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AACAAAAAA/4AAIP+AAP//gAD//4AAEQAAAAAAAAAA/4AAD/+AAP//gAD//4AADwAAAAAAAAAA/4AA//+AAP//gAAMAAAAAP+AAAz/gAD//4AA//+AAA8AAAAAAAAAAP+AAA//gAD//4AA//+AAA8AAAAAAAAAAP+AAP//gAD//4AADwAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AAA8AAAAA/4AAD/+AAP//gAD//4AADAAAAAAAAAAA/4AACv+AAP//gAD//4AACgAAAAAAAAAA/4AA//+AAP//gAAPAAAAAP+AAA//gAD//4AA//+AAAv/gAAL/4AADP+AACH/gAD//4AA//+AACH/gAAK/4AAD/+AAP//gAD//4AAEQAAAAD/gAAR/4AA//+AAP//gAAm/4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AABIAAAAA/4AAEv+AAP//gAD//4AAJ/+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AAEf+AABIAAAAAAAAAAAAAAAD/gAAV/4AAEgAAAAD/gAAQ/4AAEf+AAA//gAAP/4AAD/+AAA//gAAP/4AADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//+sQe//rEHH56xBg8OsQQHDrEEAw6xBEMOsQRDDrEEQw6xBEMOsQRAArEEQAKxBEACsQTkArEH//6xB//+sQQ%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20vto%20%3D%20%7B%0A%09distanceShow%3A%202%2C%0A%09distanceHide%3A%2064%2C%0A%09showDelay%3A%20320%2C%0A%09color%3A%20%22%23green%22%2C%0A%09fringe%3A%20%22black%22%2C%0A%09padding%3A%203%2C%0A%09name%3A%20%22VT%22%2C%0A%0A%09btn%3A%20this%2C%0A%09tcm%3A%20document.getElementById%28%22toolbar-context-menu%22%29%2C%0A%09ctm%3A%20document.getElementById%28%22customization-toolbar-menu%22%29%2C%0A%09deck%3A%20document.getElementById%28%22content-deck%22%29%2C%0A%09id%3A%20%22cb-vt%22%2C%0A%0A%09get%20cust%28%29%20gBrowser.currentURI.spec%20%3D%3D%20%22about%3Acustomizing%22%2C%0A%09get%20rdf%28%29%20%7B%0A%09%09delete%20this.rdf%3B%0A%09%09var%20rdf%20%3D%20Cc%5B%22@mozilla.org/rdf/rdf-service%3B1%22%5D.getService%28Ci.nsIRDFService%29%3B%0A%09%09return%20this.rdf%20%3D%20%5B%0A%09%09%09rdf%2C%0A%09%09%09rdf.GetDataSource%28%22rdf%3Alocal-store%22%29%2C%0A%09%09%09rdf.GetResource%28location%20+%20%22%23%22%20+%20this.id%29%2C%0A%09%09%09null%2C%20null%0A%09%09%5D%3B%0A%09%7D%2C%0A%09init%3A%20function%28%29%20%7B%0A%09%09if%20%28this.cust%20%7C%7C%20this.btn._destructors.length%29%20return%3B%0A%0A%09%09var%20vt%20%3D%20this.initVT%28%29%3B%0A%09%09var%20vto%20%3D%20this%3B%0A%0A%09%09this.btn.onclick%20%3D%20function%28e%29%20%7B%0A%09%09%09e.button%20%7C%7C%20vto.toggleVT%28%29%3B%0A%09%09%7D%0A%09%09window.addEventListener%28%22popupshown%22%2C%20this%2C%20false%29%3B%0A%09%09window.addEventListener%28%22popuphidden%22%2C%20this%2C%20false%29%3B%0A%09%09window.addEventListener%28%22resize%22%2C%20this%2C%20false%29%3B%0A%09%09this.tcm.addEventListener%28%22command%22%2C%20this%2C%20false%29%3B%0A%09%09this.tcm.addEventListener%28%22popupshowing%22%2C%20this%2C%20false%29%3B%0A%0A%09%09if%20%28vt.hasOwnProperty%28%22on%22%29%29%20%7B%0A%09%09%09vto.toggleVT%28vt.on%29%3B%0A%09%09%7D%20else%20%7B%0A%09%09%09var%20%5Brdf%2C%20ds%2C%20source%5D%20%3D%20this.rdf%3B%0A%09%09%09var%20property%20%3D%20rdf.GetResource%28%22collapsed%22%29%3B%0A%09%09%09var%20target%20%3D%20ds.GetTarget%28source%2C%20property%2C%20true%29%3B%0A%09%09%09var%20collapsed%20%3D%20target%20%26%26%20target.QueryInterface%28Ci.nsIRDFLiteral%29.Value%20%3D%3D%20%22true%22%3B%0A%09%09%09vto.toggleVT%28%21collapsed%29%3B%0A%09%09%7D%0A%09%09this.resize%28%29%3B%0A%09%09vto.btn._destructors.push%28%7Bcontext%3A%20vto%2C%20destructor%3A%20vto.destroy%7D%29%3B%0A%09%7D%2C%0A%09destroy%3A%20function%28reason%29%20%7B%0A%09%09window.removeEventListener%28%22popupshown%22%2C%20this%2C%20false%29%3B%0A%09%09window.removeEventListener%28%22popuphidden%22%2C%20this%2C%20false%29%3B%0A%09%09window.removeEventListener%28%22resize%22%2C%20this%2C%20false%29%3B%0A%09%09this.tcm.removeEventListener%28%22command%22%2C%20this%2C%20false%29%3B%0A%09%09this.tcm.removeEventListener%28%22popupshowing%22%2C%20this%2C%20false%29%3B%0A%09%09this.setCollapser%28false%29%3B%0A%0A%09%09if%20%28reason%20%3D%3D%20%22destructor%22%20%26%26%20this.cust%29%20%7B%0A%09%09%09var%20vto%20%3D%20this%3B%0A%09%09%09vto.resize%28%29%3B%0A%0A%09%09%09gNavToolbox.addEventListener%28%22customizationready%22%2C%20vto%2C%20false%29%3B%0A%09%09%09CustomizableUI.addListener%28vto%29%3B%0A%0A%09%09%09this.ctm.addEventListener%28%22command%22%2C%20vto%2C%20false%29%3B%0A%09%09%09this.ctm.addEventListener%28%22popupshowing%22%2C%20vto%2C%20false%29%3B%0A%09%09%09window.addEventListener%28%22resize%22%2C%20vto%2C%20false%29%3B%0A%0A%09%09%09gNavToolbox.addEventListener%28%22aftercustomization%22%2C%20function%20ac%28%29%20%7B%0A%09%09%09%09gNavToolbox.removeEventListener%28%22aftercustomization%22%2C%20ac%2C%20false%29%3B%0A%09%09%09%09gNavToolbox.removeEventListener%28%22customizationready%22%2C%20vto%2C%20false%29%3B%0A%09%09%09%09CustomizableUI.removeListener%28vto%29%3B%0A%0A%09%09%09%09vto.ctm.removeEventListener%28%22command%22%2C%20vto%2C%20false%29%3B%0A%09%09%09%09vto.ctm.removeEventListener%28%22popupshowing%22%2C%20vto%2C%20false%29%3B%0A%09%09%09%09window.removeEventListener%28%22resize%22%2C%20vto%2C%20false%29%3B%0A%0A%09%09%09%09document.getElementById%28vto.btn.id%29%20%7C%7C%20vto.destroyVT%28%29%3B%0A%0A%09%09%09%7D%2C%20false%29%3B%0A%09%09%7D%0A%09%09if%20%28reason%20%3D%3D%20%22delete%22%29%20%7B%0A%09%09%09CustomizableUI.removeWidgetFromArea%28this.btn.id%29%3B%0A%09%09%09this.destroyVT%28%29%3B%0A%09%09%7D%0A%09%7D%2C%0A%09handleEvent%3A%20function%28e%29%20this%5Be.type%5D%28e%29%2C%0A%0A%09command%3A%20function%28e%29%20%7B%0A%09%09if%20%28e.target.id%20%21%3D%20%22toggle_%22%20+%20this.id%29%20return%3B%0A%09%09e.preventDefault%28%29%3B%0A%09%09this.toggleVT%28%29%3B%0A%09%7D%2C%0A%09popupshowing%3A%20function%28e%29%20%7B%0A%09%09var%20menuitem%20%3D%20e.target.querySelector%28%22%23toggle_%22%20+%20this.id%29%3B%0A%09%09menuitem%20%26%26%20menuitem.setAttribute%28%22checked%22%2C%20this.vt.on%29%3B%0A%09%09if%20%28this.cust%20%7C%7C%20%21this.vt.contains%28e.target.triggerNode%29%29%20return%3B%0A%09%09for%28var%20selector%20of%20%5B%22.customize-context-moveToPanel%22%2C%20%22.customize-context-removeFromToolbar%22%5D%29%20%7B%0A%09%09%09menuitem%20%3D%20e.target.querySelector%28selector%29%3B%0A%09%09%09menuitem%20%26%26%20menuitem.removeAttribute%28%22disabled%22%29%3B%0A%09%09%7D%0A%09%7D%2C%0A%09mousemove%3A%20function%20collapser%28e%29%20%7B%0A%09%09var%20distance%20%3D%20collapser.distance%20%3D%20e.screenX%20-%20document.documentElement.boxObject.screenX%3B%0A%09%09if%20%28collapser.waiting%29%20return%3B%0A%09%09if%20%28distance%20%3C%3D%20this.distanceShow%20%26%26%20this.vt.collapsed%29%20%7B%0A%09%09%09if%20%28this.showDelay%20%3C%201%29%20%7B%0A%09%09%09%09this.vt.collapsed%20%3D%20false%3B%0A%09%09%09%09return%3B%0A%09%09%09%7D%0A%09%09%09collapser.waiting%20%3D%20true%3B%0A%09%09%09setTimeout%28function%28vto%29%20%7B%0A%09%09%09%09if%20%28collapser.distance%20%3E%3D%20vto.distanceShow%29%20%7B%0A%09%09%09%09%09collapser.waiting%20%3D%20false%3B%0A%09%09%09%09%09return%3B%0A%09%09%09%09%7D%0A%09%09%09%09vto.vt.collapsed%20%3D%20false%3B%0A%09%09%09%09collapser.waiting%20%3D%20false%3B%0A%09%09%09%7D%2C%20this.showDelay%2C%20this%29%3B%0A%09%09%7D%0A%09%09if%20%28distance%20%3E%3D%20this.distanceHide%20%26%26%20%21this.vt.collapsed%29%0A%09%09%09this.vt.collapsed%20%3D%20true%3B%0A%09%7D%2C%0A%09setCollapser%3A%20function%28set%29%20%7B%0A%09%09set%0A%09%09%3F%20this.cust%20%7C%7C%20window.addEventListener%28%22mousemove%22%2C%20this%2C%20false%29%0A%09%09%3A%20window.removeEventListener%28%22mousemove%22%2C%20this%2C%20false%29%3B%0A%09%7D%2C%0A%09callCollapser%3A%20function%28e%29%20%7B%0A%09%09this.mousemove%28%7BscreenX%3A%20document.documentElement.boxObject.screenX%20+%20MousePosTracker._x%7D%29%3B%0A%09%7D%2C%0A%09customizationready%3A%20function%28%29%20%7B%0A%09%09window.removeEventListener%28%22customizationready%22%2C%20this%2C%20false%29%3B%0A%09%09this.vt.on%20%26%26%20this.insertBox%28true%29%3B%0A%09%7D%2C%0A%09resize%3A%20function%28e%29%20%7B%0A%09%09this.vt.style.maxHeight%20%3D%20this.deck.boxObject.height%20+%201%20+%20%22px%22%3B%0A%09%7D%2C%0A%09popupshown%3A%20function%28e%29%20this.handlePopup%28e%29%2C%0A%09popuphidden%3A%20function%28e%29%20this.handlePopup%28e%29%2C%0A%0A%09handlePopup%3A%20function%28e%29%20%7B%0A%09%09if%20%28%0A%09%09%09this.vt.collapsed%20%7C%7C%20this.vt.on%0A%09%09%09%7C%7C%20%28e.target.localName%20%21%3D%20%22menupopup%22%20%26%26%20e.target.localName%20%21%3D%20%22panel%22%29%0A%09%09%29%20return%3B%0A%09%09setTimeout%28function%28vto%29%20%7B%0A%09%09%09var%20hasPopup%20%3D%20Array.concat%28%0A%09%09%09%09Array.slice%28document.getElementsByTagName%28%22menupopup%22%29%29%2C%0A%09%09%09%09Array.slice%28document.getElementsByTagName%28%22panel%22%29%29%0A%09%09%09%29.some%28function%28popup%29%0A%09%09%09%09%22state%22%20in%20popup%20%26%26%20popup.state%20%3D%3D%20%22open%22%20%26%26%20%28%0A%09%09%09%09%09vto.vt.contains%28popup%29%0A%09%09%09%09%09%7C%7C%20%28%22triggerNode%22%20in%20popup%20%26%26%20vto.vt.contains%28popup.triggerNode%29%29%0A%09%09%09%09%09%7C%7C%20%28%0A%09%09%09%09%09%09%22anchorNode%22%20in%20popup%20%26%26%20popup.anchorNode%20%26%26%20%28%0A%09%09%09%09%09%09%09vto.vt.contains%28popup.anchorNode%29%0A%09%09%09%09%09%09%09%7C%7C%20vto.vt.contains%28document.getBindingParent%28popup.anchorNode%29%29%0A%09%09%09%09%09%09%29%0A%09%09%09%09%09%29%0A%09%09%09%09%29%0A%09%09%09%29%3B%0A%09%09%09vto.setCollapser%28%21hasPopup%29%3B%0A%09%09%09hasPopup%20%7C%7C%20vto.callCollapser%28%29%3B%0A%09%09%7D%2C%20200%2C%20this%29%3B%0A%09%7D%2C%0A%09onWidgetAfterDOMChange%3A%20function%28...a%29%20%7B%0A%09%09if%20%28a%5B2%5D%20%3D%3D%20this.vt.box%29%20this.vt.hbox.style.minWidth%20%3D%20this.vt.boxObject.width%20+%20%22px%22%3B%0A%09%7D%2C%0A%09initVT%3A%20function%28%29%20%7B%0A%09%09var%20id%20%3D%20this.id%3B%0A%09%09var%20boxId%20%3D%20id%20+%20%22-customization-target%22%3B%0A%09%09var%20vt%20%3D%20this.vt%20%3D%0A%09%09%09document.getElementById%28id%29%20%7C%7C%0A%09%09%09document.createElement%28%22toolbar%22%29%3B%0A%09%09var%20attrs%20%3D%20%7B%0A%09%09%09id%3A%20id%2C%0A%09%09%09mode%3A%20%22icons%22%2C%0A%09%09%09iconsize%3A%20%22small%22%2C%0A%09%09%09orient%3A%20%22vertical%22%2C%0A%09%09%09customizable%3A%20%22true%22%2C%0A%09%09%09persist%3A%20%22collapsed%22%2C%0A%09%09%09toolbarname%3A%20this.name%2C%0A%09%09%09fullscreentoolbar%3A%20%22true%22%2C%0A%09%09%09class%3A%20%22chromeclass-toolbar%22%2C%0A%09%09%09context%3A%20%22toolbar-context-menu%22%2C%0A%09%09%09style%3A%20%22-moz-appearance%3A%20none%3B%20display%3A%20-moz-box%3B%20height%3A%20100%25%3B%20position%3A%20fixed%3B%20min-width%3A%2020px%22%0A%09%09%7D%3B%0A%09%09for%28var%20attr%20in%20attrs%29%20vt.setAttribute%28attr%2C%20attrs%5Battr%5D%29%3B%0A%09%09if%20%28%21vt.parentNode%29%20%7B%0A%0A%09%09%09var%20box%20%3D%20vt.box%20%3D%20document.createElement%28%22vbox%22%29%3B%0A%09%09%09vt.appendChild%28box%29%3B%0A%09%09%09box.id%20%3D%20boxId%3B%0A%09%09%09box.style.cssText%20%3D%20%22height%3A%20100%25%3B%20width%3A%20100%25%3B%22%0A%0A%09%09%09vt.customizationTarget%20%3D%20box%3B%0A%09%09%09gNavToolbox.appendChild%28vt%29%3B%0A%0A%09%09%09if%20%28CustomizableUI.areas.indexOf%28id%29%20%3D%3D%20-1%29%20%7B%0A%09%09%09%09CustomizableUI.registerArea%28id%2C%20%7Blegacy%3A%20true%7D%29%3B%0A%09%09%09%7D%0A%09%09%09box.removeAttribute%28%22class%22%29%3B%0A%09%09%09box.__defineGetter__%28%22localName%22%2C%20function%28%29%20arguments.callee.caller%20%3D%3D%20custombutton.buttonConstructor%20%3F%20%22toolbar%22%20%3A%20%22vbox%22%29%3B%0A%0A%09%09%09vt.hbox%20%3D%20document.createElement%28%22hbox%22%29%3B%0A%09%09%09vt.hbox.id%20%3D%20id%20+%20%22-hbox%22%3B%0A%09%09%7D%0A%09%09vt.box.style.padding%20%3D%20%220%20%22%20+%20this.padding%20+%20%22px%22%3B%0A%09%09vt.style.backgroundColor%20%3D%20this.color%3B%0A%09%09vt.style.borderRight%20%3D%20%221px%20solid%20%22%20+%20this.fringe%3B%0A%09%09return%20vt%3B%0A%09%7D%2C%0A%09destroyVT%3A%20function%28reason%29%20%7B%0A%09%09var%20vt%20%3D%20this.vt%3B%0A%09%09CustomizableUI.unregisterArea%28vt.id%2C%20%7B%7D%29%3B%0A%09%09vt.hbox.parentNode%20%26%26%20vt.hbox.parentNode.removeChild%28vt.hbox%29%3B%0A%09%09vt.parentNode%20%26%26%20vt.parentNode.removeChild%28vt%29%3B%0A%0A%09%09var%20%5Brdf%2C%20ds%2C%20source%2C%20property%2C%20target%5D%20%3D%20this.rdf%3B%0A%09%09var%20enumerator%20%3D%20ds.ArcLabelsOut%28source%29%3B%0A%09%09while%28enumerator.hasMoreElements%28%29%29%20%7B%0A%09%09%09property%20%3D%20enumerator.getNext%28%29%3B%0A%09%09%09target%20%3D%20ds.GetTarget%28source%2C%20property%2C%20true%29%3B%0A%09%09%09ds.Unassert%28source%2C%20property%2C%20target%29%3B%0A%09%09%7D%0A%09%09target%20%3D%20source.QueryInterface%28Ci.nsIRDFNode%29%3B%0A%09%09source%20%3D%20rdf.GetResource%28location%29%3B%0A%09%09property%20%3D%20rdf.GetResource%28%22http%3A//home.netscape.com/NC-rdf%23persist%22%29%3B%0A%09%09ds.Unassert%28source%2C%20property%2C%20target%29%3B%0A%09%7D%2C%0A%09insertBox%3A%20function%28ins%29%20%7B%0A%09%09var%20vt%20%3D%20this.vt%3B%0A%09%09var%20box%20%3D%20vt.hbox%3B%0A%09%09if%20%28%21ins%29%20%7B%0A%09%09%09box.parentNode%20%26%26%20box.parentNode.removeChild%28box%29%3B%0A%09%09%09return%3B%0A%09%09%7D%0A%09%09var%20id%20%3D%20this.cust%20%3F%20%22customization-palette-container%22%20%3A%20%22sidebar-box%22%3B%0A%09%09var%20point%20%3D%20document.getElementById%28id%29%3B%0A%09%09point.parentNode.insertBefore%28box%2C%20point%29%3B%0A%09%09var%20mw%20%3D%20function%28%29%20box.style.minWidth%20%3D%20vt.boxObject.width%20+%20%22px%22%3B%0A%09%09mw%28%29%3B%20setTimeout%28mw%2C%20100%29%3B%0A%09%7D%2C%0A%09toggleVT%3A%20function%28on%29%20%7B%0A%09%09var%20vt%20%3D%20this.vt%3B%0A%09%09if%20%28on%20%3D%3D%20undefined%29%20on%20%3D%20%21vt.on%3B%0A%09%09vt.on%20%3D%20on%3B%0A%09%09this.setCollapser%28%21on%29%3B%0A%09%09vt.collapsed%20%3D%20%21on%3B%0A%09%09this.insertBox%28on%29%3B%0A%09%7D%0A%7D%3B%0Avto.init%28%29%3B%0A%0A%0Afunction%20addBackground%28e%29%20%7B%0A%20%20%20setTimeout%28function%28%29%20%7B%0A%20%20%20%20%20%20var%20toolbar%20%3D%20document.getElementById%28%27cb-vt%27%29%3B%0A%20%20%20%20%20%20var%20win%20%3D%20document.getElementById%28%22main-window%22%29%3B%0A%20%20%20%20%20%20%0A%20%20%20%20%20%20var%20image%20%3D%20win.style.backgroundImage%3B%0A%20%20%20%20%20%20if%20%28%20image%20%3D%3D%20%27%27%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20%20toolbar.style.background%20%3D%20%27%27%3B%0A%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20toolbar.style.background%20%3D%20image%3B%0A%20%20%20%20%20%20toolbar.style.backgroundSize%20%3D%20%27auto%20100%25%27%3B%0A%20%20%20%7D%2C%20500%29%3B%0A%7D%3B%0AaddBackground%28%29%3B%20%0AServices.obs.addObserver%28%20addBackground%2C%20%22lightweight-theme-styling-update%22%2C%20false%20%29%3B%0AaddDestructor%28function%28%29%20Services.obs.removeObserver%28%20addBackground%2C%20%22lightweight-theme-styling-update%22%29%20%29%3B%20%0A%0A%0A%0A%0A%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E |
VORON > 28-04-2015 21:53:05 |
bunda1 |
LittleMontana > 29-04-2015 14:32:31 |
VORON пишет
По поводу 28 версии согласен с вами. Насколько много в плане производительности версии 28.0 и 37.0.2 различаются? и по теме: "код" кнопки const showSec = true; //========================================================== #digital-clock-text { } dct-style */ const mark = "dct-style"; this.label = showSec ? "00:00:00" : "00:00"; const icon = document.getAnonymousElementByAttribute(this, "class", "toolbarbutton-icon"); const sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService); const format = showSec ? "%H:%M:%S" : "%H:%M"; this.onmouseenter = function() { "инициализация" кнопки // Автоматически очистить панель поиска после запуска поиска + возврат нужного поисковика, от 19.12.2013. .............. (function() { var func = BrowserSearch.searchBar.handleSearchCommand.toString() .replace(/^\s*function.+{/, '').replace(/}\s*$/, ''); var code = ['setTimeout(function() { textBox.value = ""; }, 500);\ \n var searchService = Cc["@mozilla.org/browser/search-service;1"].getService(Ci.nsIBrowserSearchService);\ \n searchService.currentEngine = searchService.getEngineByName("Яндекс");\ '].join(''); func += code; // Показывать потребление памяти в адресной строке, от 28.07.2014. ................................ function addInfo(device, info) { memoryDisplay.onmouseenter = function() { setTimeout(function() { try { e.originalTarget.getElementById('measureButton').click() } catch(e) {} }, 0); // Удалять счётчик памяти и другие изменения .... document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function(event) { /*Initialization Code*/ проблема: тускло выглядит должно быть: http://puu.sh/huYJl/f6f77caf45.jpg как есть сейчас: http://puu.sh/htZNM/b378f2887c.jpg и второй вопрос: 29-04-2015 14:44:33 bunda1 пишет
а куда данный стиль запихать ? и в код и в инициализацию пробывал, все равно тускло. |
bunda1 > 29-04-2015 20:40:39 |
LittleMontana пишет
Такое происходит если в кодах кнопки которые ты положил в вкладку Код или Инициализация есть ошибка. Я проверил на FF38 и всё работает и кнопка выглядит как надо, наверно конфликт с другим кодом или расширением, смотри что пишет консоль ошибок или удаляй коды из своей кнопки по одному и проверяй тусклость. 29-04-2015 20:42:39 LittleMontana пишет
В инициализацию но в данном случае не поможет по выше упомянутым причинам. 29-04-2015 20:47:01 LittleMontana пишет
Я не понял о чём речь на твоём изображение не http://puu.sh/htZNM/b378f2887c.jpg не иконка загрузки |
LittleMontana > 29-04-2015 20:56:45 |
Извините, не тот скриншот |
bunda1 > 29-04-2015 21:19:54 |
LittleMontana пишет
И где такая иконка загрузки? |
LittleMontana > 29-04-2015 23:04:03 |
bunda1 |
turbot > 02-05-2015 03:35:59 |
bunda1
Спасибо. |
bunda1 > 04-05-2015 21:02:25 |
turbot пишет
Приятно когда пользователи находят в кнопках ошибки и сами исправляют |
Dumby > 04-05-2015 23:23:55 |
bunda1 скрытый текст e.target.ownerDocument.defaultView.getSelection().toString(); // + e10s
|
bunda1 > 05-05-2015 21:22:37 |
Dumby пишет
Да это работает на + e10s. Спасыбо alt |
Dumby > 05-05-2015 22:02:29 |
bunda1 пишет
Да, CB должен сам удалять обработчика. А в данном случае имеется в виду совсем другое. Если настройка изменилась на true (Autocopy включён), А если настройка изменилась на false (Autocopy выключен), |
bunda1 > 05-05-2015 22:18:11 |
Dumby |
manuk > 07-05-2015 18:18:27 |
Как сделать кнопку для вызова настроек дополнения friGate, чтобы при клике появлялось окошко скрытый текст ![]() |
HaGEN > 08-05-2015 09:12:07 |
manuk Кнопка быстрого вызова настроек расширений. URl Выделить код Код: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%u0411%u044B%u0441%u0442%u0440%u044B%u0439%20%u0434%u043E%u0441%u0442%u0443%u043F%20%u043A%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%u043C%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u0439%20%5BExtensions%20Options%20Menu%5D%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABVUlEQVQ4y2P4//8/AyWYoALpQsb9ftPM/4tnM+4nywCQ5s5jRf8d+7T+k2VAxHzH/TUHkv57TDMgzgWyJYz74xZ6/E9Y4vU/ZaXv/9Jd0f/LDkb+j13v8N9xmtp/oy6J/xqN/P+5Ihj2YzUApHnxtb7/My83/e8+W/C/9nj8//yD/v+T99j/D99u8N9nk/J/h9Vi/+Vq2P5jNQBkMz7NTuvE/1ut5v0vV8+M3QCQs3Fptlsh+l93Ktd/pTaW/wKpjAgDYFEFCjCQn3HZDNLME8tYANLDEcrgADcAFlWg0AYFGC5nK3ew/McaC6BEAopnUFSBQhubZpMVbP81JrFgdwEyBkUVup9BNoM0681hBdMYYYCMQfGMzc8gGqQZ5BIQxhkLoEQCimeQs0E2IcuB+CDNxkvZ/ktX4jAAlMJAiQRkA8iZML+CaBAfJA7SDOTvJyovEMIAruB4gKjNkYMAAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*%0A%20*%20%20This%20Source%20Code%20Form%20is%20subject%20to%20the%20terms%20of%20the%20Mozilla%20Public%0A%20*%20%20License%2C%20v.%202.0.%20If%20a%20copy%20of%20the%20MPL%20was%20not%20distributed%20with%20this%0A%20*%20%20file%2C%20You%20can%20obtain%20one%20at%20http%3A//mozilla.org/MPL/2.0/.%0A%20*/%0A%0Afunction%20%24%28aId%29%20%7B%0A%20%20return%20document.getElementById%28aId%29%3B%0A%7D%0A%0Afunction%20%24xml%28aXML%29%20%7B%0A%20%20return%20%28new%20DOMParser%29.parseFromString%28aXML%2C%20%22application/xml%22%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.documentElement%3B%0A%7D%0A%0Afunction%20sort%28aArray%29%20%7B%0A%20%20aArray.sort%28function%28a%2C%20b%29%20%7B%0A%20%20%20%20a%20%3D%20a.name.toLowerCase%28%29%3B%0A%20%20%20%20b%20%3D%20b.name.toLowerCase%28%29%3B%0A%20%20%20%20if%20%28a%20%3C%20b%29%20return%20-1%3B%0A%20%20%20%20if%20%28a%20%3E%20b%29%20return%201%3B%0A%20%20%20%20return%200%3B%0A%20%20%7D%29%0A%7D%0A%0Afunction%20openAM%28aView%29%20%7B%0A%20%20if%20%28%22toEM%22%20in%20window%29%20%7B%0A%20%20%20%20toEM%28aView%29%3B%0A%20%20%7D%20else%20if%20%28%22openAddonsMgr%22%20in%20window%29%20%7B%0A%20%20%20%20openAddonsMgr%28aView%29%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20BrowserOpenAddonsMgr%28aView%29%3B%0A%20%20%7D%0A%7D%0A%0Athis.openOption%20%3D%20function%28aId%29%20%7B%0A%20%20AddonManager.getAddonByID%28aId%2C%20function%28aAddon%29%20%7B%0A%20%20%20%20if%20%28aAddon.optionsType%20%26%26%20%28parseInt%28aAddon.optionsType%29%20%3E%201%29%29%20%7B%0A%20%20%20%20%20%20switch%20%28parseInt%28aAddon.optionsType%29%29%20%7B%0A%20%20%20%20%20%20%20%20case%203%3A%0A%20%20%20%20%20%20%20%20%20%20switchToTabHavingURI%28aAddon.optionsURL%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20case%202%3A%0A%20%20%20%20%20%20%20%20%20%20openAM%28%22addons%3A//detail/%22%20+%20encodeURIComponent%28aAddon.id%29%0A%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%22/preferences%22%29%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20openDialog%28aAddon.optionsURL%2C%20%22%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22chrome%2C%20dialog%2C%20close%2C%20minimizable%2C%20%22%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22titlebar%2C%20toolbar%2C%20scrollbars%2C%20centerscreen%22%29%3B%0A%20%20%20%20%7D%0A%20%20%7D%29%0A%7D%0A%0Athis.setStatus%20%3D%20function%28aString%29%20%7B%0A%20%20XULBrowserWindow.setOverLink%28aString%29%3B%0A%7D%0A%0Athis.onclick%20%3D%20function%20inspectExtensions%28aEvent%29%20%7B%0A%20%20switch%20%28aEvent.button%29%20%7B%0A%20%20%20%20case%200%3A%0A%20%20%20%20%20%20if%20%28aEvent.ctrlKey%29%20%7B%0A%20%20%20%20%20%20%20%20aEvent.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20if%20%28typeof%20inspectObject%20%21%3D%20%22function%22%29%20return%3B%0A%20%20%20%20%20%20%20%20AddonManager.getAllAddons%28function%28aAddons%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20extensions%20%3D%20%5B%5D%3B%0A%20%20%20%20%20%20%20%20%20%20aAddons.forEach%28function%28aAddon%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28aAddon.type%20%3D%3D%20%22extension%22%20%26%26%20aAddon.isActive%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20extensions.push%28aAddon%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%7D%29%0A%20%20%20%20%20%20%20%20%20%20sort%28extensions%29%3B%0A%20%20%20%20%20%20%20%20%20%20inspectObject%28extensions%29%3B%0A%20%20%20%20%20%20%20%20%7D%29%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20break%3B%0A%0A%20%20%20%20case%201%3A%0A%20%20%20%20%20%20var%20prefs%20%3D%20Services.prefs.getBranch%28%22custombuttons.searchAddons%22%20+%20%22.%22%29%3B%0A%20%20%20%20%20%20var%20text%20%3D%20%22%22%3B%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20text%20%3D%20prefs.getCharPref%28%22search%22%29%3B%0A%20%20%20%20%20%20%7D%20catch%28ex%29%20%7B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20var%20query%20%3D%20custombuttons.promptBox%28%22Search%20add-ons%22%2C%0A%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%22Enter%20add-on%20name%22%2C%0A%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%20text%2C%20null%29%3B%0A%20%20%20%20%20%20if%20%28%21query%5B0%5D%29%20return%3B%0A%20%20%20%20%20%20prefs.setCharPref%28%22search%22%2C%20query%5B1%5D%29%3B%0A%20%20%20%20%20%20openAM%28%22addons%3A//search/%22%20+%20encodeURIComponent%28query%5B1%5D%29%29%3B%0A%0A%20%20%20%20default%3A%0A%20%20%7D%0A%7D%0A%0Athis.addonsMgr%20%3D%20function%28aPopup%2C%20aCallback%29%20%7B%0A%20%20AddonManager.getAllAddons%28function%28aAddons%29%20%7B%0A%20%20%20%20var%20extensions%20%3D%20%5B%5D%3B%0A%20%20%20%20aAddons.forEach%28function%28aAddon%29%20%7B%0A%20%20%20%20%20%20/*aAddon.toString%20%3D%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%22use%20strict%22%3B%0A%20%20%20%20%20%20%20%20return%20this.name%3B%0A%20%20%20%20%20%20%7D*/%0A%20%20%20%20%20%20if%20%28%28aAddon.type%20%3D%3D%20%22extension%22%29%20%26%26%0A%20%20%20%20%20%20%20%20%20%20%28aAddon.optionsURL%20%21%3D%20null%29%20%26%26%0A%20%20%20%20%20%20%20%20%20%20aAddon.isActive%29%20%7B%0A%20%20%20%20%20%20%20%20extensions.push%28aAddon%29%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%29%0A%20%20%20%20sort%28extensions%29%3B%0A%20%20%20%20aCallback%28aPopup%2C%20extensions%29%3B%0A%20%20%7D%29%0A%7D%0A%0Afunction%20getExtensionObject%28aId%2C%20aCallback%29%20%7B%0A%20%20AddonManager.getAllAddons%28function%28aAddons%29%20%7B%0A%20%20%20%20aAddons.forEach%28function%28aAddon%29%20%7B%0A%20%20%20%20%20%20if%20%28aAddon.id%20%3D%3D%20aId%29%20%7B%0A%20%20%20%20%20%20%20%20aCallback%28aAddon%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%7D%29%0A%20%20%7D%29%0A%7D%0A%0Afunction%20htmlEntities%28aString%29%20%7B%0A%20%20return%20aString.replace%28/%26/g%2C%20%22%26amp%3B%22%29.replace%28/%3C/g%2C%20%22%26lt%3B%22%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.replace%28/%3E/g%2C%20%22%26gt%3B%22%29.replace%28/%22/g%2C%20%22%26quot%3B%22%29%3B%0A%7D%0A%0Afunction%20addItem%28aNode%2C%20aId%2C%20aLabel%2C%20aURL%2C%20aIcon%2C%20aHomePage%2C%20aDesc%29%20%7B%0A%20%20let%20mi%20%3D%20aNode.appendChild%28document.createElement%28%22menuitem%22%29%29%3B%0A%20%20%20%20%20%20mi.setAttribute%28%22GUID%22%2C%20aId%29%3B%0A%20%20%20%20%20%20mi.className%20%3D%20%22menuitem-iconic%22%3B%0A%20%20%20%20%20%20mi.setAttribute%28%22label%22%2C%20aLabel%29%3B%0A%20%20%20%20%20%20mi.statusText%20%3D%20aURL%3B%0A%20%20%20%20%20%20mi.setAttribute%28%22image%22%2C%20aIcon%29%3B%0A%20%20%20%20%20%20mi.setAttribute%28%22homepage%22%2C%20aHomePage%29%3B%0A%20%20%20%20%20%20mi.tooltipText%20%3D%20aDesc%3B%0A%7D%0A%0Athis.populate%20%3D%20function%28aPopup%2C%20aExtensions%29%20%7B%0A%20%20while%20%28aPopup.lastChild%29%20aPopup.removeChild%28aPopup.lastChild%29%3B%0A%20%20if%20%28%28navigator.platform%20%3D%3D%20%22Win32%22%29%20%26%26%20%28aExtensions.length%20%3E%2020%29%29%20%7B%0A%20%20%20%20var%20hbox%20%20%3D%20aPopup.appendChild%28document.createElement%28%22hbox%22%29%29%3B%0A%20%20%20%20var%20vbox1%20%3D%20hbox.appendChild%28document.createElement%28%22vbox%22%29%29%3B%0A%20%20%20%20var%20vbox2%20%3D%20hbox.appendChild%28document.createElement%28%22vbox%22%29%29%3B%0A%20%20%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aExtensions.length%3B%20i++%29%20%7B%0A%20%20%20%20%20%20let%20vbox%20%3D%20%28i%20%3C%20parseInt%28aExtensions.length%20/%202%29%29%20%3F%20vbox1%20%3A%20vbox2%3B%0A%20%20%20%20%20%20let%20ext%20%3D%20aExtensions%5Bi%5D%3B%0A%20%20%20%20%20%20addItem%28vbox%2C%20ext.id%2C%20ext.name%20+%20%22%20%22%20+%20ext.version%2C%20ext.optionsURL%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28ext.iconURL%20%3F%20ext.iconURL%20%3A%20%22chrome%3A//mozapps/skin/extensions/extensionGeneric-16.png%22%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28ext.homepageURL%20%3F%20ext.homepageURL%0A%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%3A%20ext.reviewURL%0A%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%3F%20ext.reviewURL.replace%28/%5C/reviews/%2C%20%22%22%29.toString%28%29%0A%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%3A%20%22http%3A//www.google.com/search%3Fq%3D%22%20+%20ext.name%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ext.description%29%3B%0A%20%20%20%20%7D%0A%20%20%7D%20else%20%7B%0A%20%20%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aExtensions.length%3B%20i++%29%20%7B%0A%20%20%20%20%20%20let%20ext%20%3D%20aExtensions%5Bi%5D%3B%0A%20%20%20%20%20%20addItem%28aPopup%2C%20ext.id%2C%20ext.name%20+%20%22%20%22%20+%20ext.version%2C%20ext.optionsURL%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28ext.iconURL%20%3F%20ext.iconURL%20%3A%20%22chrome%3A//mozapps/skin/extensions/extensionGeneric-16.png%22%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28ext.homepageURL%20%3F%20ext.homepageURL%0A%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%3A%20ext.reviewURL%0A%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%3F%20ext.reviewURL.replace%28/%5C/reviews/%2C%20%22%22%29.toString%28%29%0A%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%3A%20%22http%3A//www.google.com/search%3Fq%3D%22%20+%20ext.name%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ext.description%29%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Avar%20popup%20%3D%20document.createElement%28%22menupopup%22%29%3B%0Apopup.setAttribute%28%22context%22%2C%20%22cb-extensions-menu%22%29%3B%0Apopup.setAttribute%28%22oncommand%22%2C%20%22event.stopPropagation%28%29%3B%20%22%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22this.parentNode.openOption%28%22%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22event.target.getAttribute%28%27GUID%27%29%29%3B%22%29%3B%0Apopup.setAttribute%28%22onmouseover%22%2C%20%22this.parentNode.setStatus%28%22%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22event.target.statusText%29%3B%22%29%3B%0Apopup.setAttribute%28%22onmouseout%22%2C%20%22this.parentNode.setStatus%28%27%27%29%3B%22%29%3B%0Apopup.setAttribute%28%22onpopupshowing%22%2C%20%22this.parentNode.addonsMgr%28%22%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22this%2C%20this.parentNode.populate%29%3B%22%29%3B%0A%0A//this.addonsMgr%28popup%2C%20this.populate%29%3B%0A%0Athis.appendChild%28popup%29%3B%0Athis.type%20%3D%20%22menu%22%3B%0A%0A//---------------------------------%0A%0Athis.copyId%20%3D%20function%28aId%29%20%7B%0A%20%20Cc%5B%22@mozilla.org/widget/clipboardhelper%3B1%22%5D.%0A%20%20getService%28Ci.nsIClipboardHelper%29.copyString%28aId%29%3B%0A%7D%0A%0Athis.goHome%20%3D%20function%28aURL%29%20%7B%0A%20%20gBrowser.loadOneTab%28aURL%29%3B%0A%7D%0A%0Athis.inspect%20%3D%20function%28aId%29%20%7B%0A%20%20getExtensionObject%28aId%2C%20inspectObject%29%3B%0A%7D%0A%0Athis.explore%20%3D%20function%28aId%29%20%7B%0A%20%20var%20dir%20%3D%20Services.dirsvc.get%28%22ProfD%22%2C%20Ci.nsIFile%29%3B%0A%20%20dir.append%28%22extensions%22%29%3B%0A%20%20dir.append%28aId%29%3B%0A%20%20var%20nsLocalFile%20%3D%20Components.Constructor%28%22@mozilla.org/file/local%3B1%22%2C%0A%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%22nsILocalFile%22%2C%20%22initWithPath%22%29%3B%0A%20%20%28new%20nsLocalFile%28dir.path%20+%20%28dir.exists%28%29%20%3F%20%22%22%20%3A%20%22.xpi%22%29%29%29.reveal%28%29%3B%0A%7D%0A%0Aif%20%28%24%28%22cb-extensions-menu%22%29%29%20%7B%0A%20%20%24%28%22cb-extensions-menu%22%29.parentNode.removeChild%28%24%28%22cb-extensions-menu%22%29%29%3B%0A%7D%0A%0Athis.checkForDOMI%20%3D%20function%28aEvent%29%20%7B%0A%20%20if%20%28typeof%20inspectObject%20%21%3D%20%22function%22%29%20%7B%0A%20%20%20%20aEvent.target.getElementsByTagName%28%22menuitem%22%29%5B2%5D.hidden%20%3D%20true%3B%0A%20%20%7D%0A%7D%0A%0Avar%20popupset%20%3D%20document.getElementById%28%22mainPopupSet%22%29%3B%0Avar%20context%20%3D%20popupset.appendChild%28%24xml%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27%3Cmenupopup%20xmlns%3D%22%27%20+%20xulns%20+%20%27%22%20id%3D%22cb-extensions-menu%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onclick%3D%22event.stopPropagation%28%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onpopupshowing%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.checkForDOMI%28event%29%3B%22%3E%3Cmenuitem%20label%3D%22Visit%20Home%20Page%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseover%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28document.popupNode.getAttribute%28%5C%27homepage%5C%27%29%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseout%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28%5C%27%5C%27%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27oncommand%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.goHome%28document.popupNode.getAttribute%28%5C%27homepage%5C%27%29%29%3B%22/%3E%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%3Cmenuitem%20label%3D%22Copy%20GUID%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseover%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28document.popupNode.getAttribute%28%5C%27GUID%5C%27%29%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseout%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28%5C%27%5C%27%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27oncommand%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.copyId%28document.popupNode.getAttribute%28%5C%27GUID%5C%27%29%29%3B%22/%3E%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%3Cmenuitem%20label%3D%22Inspect%20Extension%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseover%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28document.popupNode.getAttribute%28%5C%27GUID%5C%27%29%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseout%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28%5C%27%5C%27%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27oncommand%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.inspect%28document.popupNode.getAttribute%28%5C%27GUID%5C%27%29%29%3B%22/%3E%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%3Cmenuitem%20label%3D%22Browse%20Install%20Directory%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseover%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28document.popupNode.getAttribute%28%5C%27GUID%5C%27%29%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseout%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28%5C%27%5C%27%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27oncommand%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.explore%28document.popupNode.getAttribute%28%5C%27GUID%5C%27%29%29%3B%22/%3E%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%3C/menupopup%3E%27%29%29%3B%0A%0A%0A/*%0A//%20%u0441%u043A%u0440%u044B%u0442%u0438%u0435%20%u0434%u0440%u043E%u043F%u043C%u0430%u0440%u043A%u0435%u0440%u0430%20%u0443%20%u043A%u043D%u043E%u043F%u043A%u0438-%u043C%u0435%u043D%u044E%28%u0432%20%u0438%u043D%u0438%u0446%u0438%u0430%u043B%u0438%u0437%u0430%u0446%u0438%u044E%29%0Avar%20that%20%3D%20this%3B%0Athis.hideDropMarker%20%3D%20function%28%29%20%7B%0A%20%20var%20dropMarker%20%3D%20document.getAnonymousElementByAttribute%28that%2C%20%22class%22%2C%20%22toolbarbutton-menu-dropmarker%22%29%3B%0A%20%20if%20%28dropMarker%29%20%7B%0A%20%20%20%20dropMarker.setAttribute%28%22hidden%22%2C%20%22true%22%29%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20setTimeout%28that.hideDropMarker%2C%2010%29%3B%0A%20%20%7D%0A%7D%0Athis.hideDropMarker%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%20this.Help%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%u0411%u044B%u0441%u0442%u0440%u044B%u0439%20%u0434%u043E%u0441%u0442%u0443%u043F%20%u043A%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%u043C%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u0439%20%u0443%20%u043A%u043E%u0442%u043E%u0440%u044B%u0445%20%u0435%u0441%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%0A---------------------------------------------------------------%0A%u041B%u041A%u041C%20-%20%u0432%u044B%u0437%u043E%u0432%u0435%u0442%20%u043E%u043A%u043D%u043E%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u044F.%0A%u0421%u041A%u041C%20-%20%u043F%u043E%u0438%u0441%u043A%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u0439.%0A%0A%0A%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E Кнопка быстрого вызова настроек расширений. Инициализация Выделить код Код:/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ function $(aId) { return document.getElementById(aId); } function $xml(aXML) { return (new DOMParser).parseFromString(aXML, "application/xml") .documentElement; } function sort(aArray) { aArray.sort(function(a, b) { a = a.name.toLowerCase(); b = b.name.toLowerCase(); if (a < b) return -1; if (a > b) return 1; return 0; }) } function openAM(aView) { if ("toEM" in window) { toEM(aView); } else if ("openAddonsMgr" in window) { openAddonsMgr(aView); } else { BrowserOpenAddonsMgr(aView); } } this.openOption = function(aId) { AddonManager.getAddonByID(aId, function(aAddon) { if (aAddon.optionsType && (parseInt(aAddon.optionsType) > 1)) { switch (parseInt(aAddon.optionsType)) { case 3: switchToTabHavingURI(aAddon.optionsURL, true); break; case 2: openAM("addons://detail/" + encodeURIComponent(aAddon.id) + "/preferences"); } } else { openDialog(aAddon.optionsURL, "", "chrome, dialog, close, minimizable, " + "titlebar, toolbar, scrollbars, centerscreen"); } }) } this.setStatus = function(aString) { XULBrowserWindow.setOverLink(aString); } this.onclick = function inspectExtensions(aEvent) { switch (aEvent.button) { case 0: if (aEvent.ctrlKey) { aEvent.preventDefault(); if (typeof inspectObject != "function") return; AddonManager.getAllAddons(function(aAddons) { var extensions = []; aAddons.forEach(function(aAddon) { if (aAddon.type == "extension" && aAddon.isActive) { extensions.push(aAddon); } }) sort(extensions); inspectObject(extensions); }) } break; case 1: var prefs = Services.prefs.getBranch("custombuttons.searchAddons" + "."); var text = ""; try { text = prefs.getCharPref("search"); } catch(ex) { } var query = custombuttons.promptBox("Search add-ons", "Enter add-on name", text, null); if (!query[0]) return; prefs.setCharPref("search", query[1]); openAM("addons://search/" + encodeURIComponent(query[1])); default: } } this.addonsMgr = function(aPopup, aCallback) { AddonManager.getAllAddons(function(aAddons) { var extensions = []; aAddons.forEach(function(aAddon) { /*aAddon.toString = function() { "use strict"; return this.name; }*/ if ((aAddon.type == "extension") && (aAddon.optionsURL != null) && aAddon.isActive) { extensions.push(aAddon); } }) sort(extensions); aCallback(aPopup, extensions); }) } function getExtensionObject(aId, aCallback) { AddonManager.getAllAddons(function(aAddons) { aAddons.forEach(function(aAddon) { if (aAddon.id == aId) { aCallback(aAddon); return; } }) }) } function htmlEntities(aString) { return aString.replace(/&/g, "&").replace(/</g, "<") .replace(/>/g, ">").replace(/"/g, """); } function addItem(aNode, aId, aLabel, aURL, aIcon, aHomePage, aDesc) { let mi = aNode.appendChild(document.createElement("menuitem")); mi.setAttribute("GUID", aId); mi.className = "menuitem-iconic"; mi.setAttribute("label", aLabel); mi.statusText = aURL; mi.setAttribute("image", aIcon); mi.setAttribute("homepage", aHomePage); mi.tooltipText = aDesc; } this.populate = function(aPopup, aExtensions) { while (aPopup.lastChild) aPopup.removeChild(aPopup.lastChild); if ((navigator.platform == "Win32") && (aExtensions.length > 20)) { var hbox = aPopup.appendChild(document.createElement("hbox")); var vbox1 = hbox.appendChild(document.createElement("vbox")); var vbox2 = hbox.appendChild(document.createElement("vbox")); for (var i = 0; i < aExtensions.length; i++) { let vbox = (i < parseInt(aExtensions.length / 2)) ? vbox1 : vbox2; let ext = aExtensions[i]; addItem(vbox, ext.id, ext.name + " " + ext.version, ext.optionsURL, (ext.iconURL ? ext.iconURL : "chrome://mozapps/skin/extensions/extensionGeneric-16.png"), (ext.homepageURL ? ext.homepageURL : ext.reviewURL ? ext.reviewURL.replace(/\/reviews/, "").toString() : "http://www.google.com/search?q=" + ext.name), ext.description); } } else { for (var i = 0; i < aExtensions.length; i++) { let ext = aExtensions[i]; addItem(aPopup, ext.id, ext.name + " " + ext.version, ext.optionsURL, (ext.iconURL ? ext.iconURL : "chrome://mozapps/skin/extensions/extensionGeneric-16.png"), (ext.homepageURL ? ext.homepageURL : ext.reviewURL ? ext.reviewURL.replace(/\/reviews/, "").toString() : "http://www.google.com/search?q=" + ext.name), ext.description); } } } var popup = document.createElement("menupopup"); popup.setAttribute("context", "cb-extensions-menu"); popup.setAttribute("oncommand", "event.stopPropagation(); " + "this.parentNode.openOption(" + "event.target.getAttribute('GUID'));"); popup.setAttribute("onmouseover", "this.parentNode.setStatus(" + "event.target.statusText);"); popup.setAttribute("onmouseout", "this.parentNode.setStatus('');"); popup.setAttribute("onpopupshowing", "this.parentNode.addonsMgr(" + "this, this.parentNode.populate);"); //this.addonsMgr(popup, this.populate); this.appendChild(popup); this.type = "menu"; //--------------------------------- this.copyId = function(aId) { Cc["@mozilla.org/widget/clipboardhelper;1"]. getService(Ci.nsIClipboardHelper).copyString(aId); } this.goHome = function(aURL) { gBrowser.loadOneTab(aURL); } this.inspect = function(aId) { getExtensionObject(aId, inspectObject); } this.explore = function(aId) { var dir = Services.dirsvc.get("ProfD", Ci.nsIFile); dir.append("extensions"); dir.append(aId); var nsLocalFile = Components.Constructor("@mozilla.org/file/local;1", "nsILocalFile", "initWithPath"); (new nsLocalFile(dir.path + (dir.exists() ? "" : ".xpi"))).reveal(); } if ($("cb-extensions-menu")) { $("cb-extensions-menu").parentNode.removeChild($("cb-extensions-menu")); } this.checkForDOMI = function(aEvent) { if (typeof inspectObject != "function") { aEvent.target.getElementsByTagName("menuitem")[2].hidden = true; } } var popupset = document.getElementById("mainPopupSet"); var context = popupset.appendChild($xml( '<menupopup xmlns="' + xulns + '" id="cb-extensions-menu" ' + 'onclick="event.stopPropagation();" ' + 'onpopupshowing="document.getElementById(\'' + this.id + '\').checkForDOMI(event);"><menuitem label="Visit Home Page" ' + 'onmouseover="document.getElementById(\'' + this.id + '\').setStatus(document.popupNode.getAttribute(\'homepage\'));" ' + 'onmouseout="document.getElementById(\'' + this.id + '\').setStatus(\'\');" ' + 'oncommand="document.getElementById(\'' + this.id + '\').goHome(document.popupNode.getAttribute(\'homepage\'));"/>' + '<menuitem label="Copy GUID" ' + 'onmouseover="document.getElementById(\'' + this.id + '\').setStatus(document.popupNode.getAttribute(\'GUID\'));" ' + 'onmouseout="document.getElementById(\'' + this.id + '\').setStatus(\'\');" ' + 'oncommand="document.getElementById(\'' + this.id + '\').copyId(document.popupNode.getAttribute(\'GUID\'));"/>' + '<menuitem label="Inspect Extension" ' + 'onmouseover="document.getElementById(\'' + this.id + '\').setStatus(document.popupNode.getAttribute(\'GUID\'));" ' + 'onmouseout="document.getElementById(\'' + this.id + '\').setStatus(\'\');" ' + 'oncommand="document.getElementById(\'' + this.id + '\').inspect(document.popupNode.getAttribute(\'GUID\'));"/>' + '<menuitem label="Browse Install Directory" ' + 'onmouseover="document.getElementById(\'' + this.id + '\').setStatus(document.popupNode.getAttribute(\'GUID\'));" ' + 'onmouseout="document.getElementById(\'' + this.id + '\').setStatus(\'\');" ' + 'oncommand="document.getElementById(\'' + this.id + '\').explore(document.popupNode.getAttribute(\'GUID\'));"/>' + '</menupopup>')); /* // скрытие дропмаркера у кнопки-меню(в инициализацию) var that = this; this.hideDropMarker = function() { var dropMarker = document.getAnonymousElementByAttribute(that, "class", "toolbarbutton-menu-dropmarker"); if (dropMarker) { dropMarker.setAttribute("hidden", "true"); } else { setTimeout(that.hideDropMarker, 10); } } this.hideDropMarker(); */ // Подсказка для кнопки .......... // this.tooltipText = this.Help |
manuk > 08-05-2015 15:35:05 |
HaGEN, тоже 3 клика... Хочется один. Может bunda1 попросить... |
bunda1 > 08-05-2015 18:11:33 |
manuk пишет
Выделить код Код:openDialog("chrome://frigate2/content/pref.xul", "", "chrome, dialog, close, minimizable, " + "titlebar, toolbar, scrollbars, centerscreen"); 08-05-2015 18:28:13 Выделить код Код:var windows = Cc['@mozilla.org/appshell/window-mediator;1'].getService(Ci.nsIWindowMediator).getEnumerator(null); while( windows.hasMoreElements() ) { var win = windows.getNext(); if ( win.name == 'friGate') { win.focus(); return; } }; var options = openDialog("chrome://frigate2/content/pref.xul", "friGate", "chrome, dialog, close, minimizable, " + "titlebar, toolbar, scrollbars, centerscreen"); gBrowser.addEventListener("click", function c() { this.removeEventListener("click", c ); try { options.close() } catch(e) {}; }, true ); |
manuk > 08-05-2015 19:14:21 |
bunda1, спасибо. Я в тебя верил. А сразу открывать на второй вкладке настроек (как на картинке под спойлером https://forum.mozilla-russia.org/viewto … 82#p682282) возможно? Ещё минус один клик... Или проще friGate переделать? |
bunda1 > 08-05-2015 21:01:35 |
manuk пишет
Выделить код Код:var windows = Cc['@mozilla.org/appshell/window-mediator;1'].getService(Ci.nsIWindowMediator).getEnumerator(null); while( windows.hasMoreElements() ) { var win = windows.getNext(); if ( win.name == 'friGate') { win.focus(); return; } }; var options = openDialog("chrome://frigate2/content/pref.xul", "friGate", "chrome, dialog, close, minimizable, " + "titlebar, toolbar, scrollbars, centerscreen"); gBrowser.addEventListener("click", function c() { this.removeEventListener("click", c ); try { options.close() } catch(e) {}; }, true ); options.addEventListener("load", function s(e) { this.removeEventListener(e.type, s); e.target.getElementsByAttribute("label", "Proxys")[0].click(); }, true ) |
manuk > 08-05-2015 21:16:40 |
bunda1, открывает на вкладке "Основное". Может ещё подаманишь? |
bunda1 > 08-05-2015 21:23:15 |
manuk пишет
Упс, у меня настройки friGate на английском а код находит вкладку настроек по названию, поменяй в коде Proxys на Прокси |
manuk > 08-05-2015 21:36:36 |
bunda1, всё прекрасно. Огромное спасибо! |
Mishania > 10-05-2015 22:01:50 |
Установлена кнопка CB Mouse Gestures+, сделал команду 'DR':{name:'Обновить',cmd:function(){ gBrowser.reload() }}, |
bunda1 > 10-05-2015 22:10:30 |
Mishania пишет
Может: |
Mishania > 10-05-2015 22:27:56 |
bunda1 |
Stkvsky > 12-05-2015 21:33:26 |
Здравствуйте, подскажите если есть кнопка добавить ссылку в контекстное меню, желательно с иконкой, без подменю, что бы сразу, хочу добавить ссылки на несколько постоянно посещаемых сайтов. Спасибо. |
bunda1 > 12-05-2015 21:54:53 |
Stakhovsky пишет
А контекстное меню где должно открываться? |
Stkvsky > 12-05-2015 21:58:13 |
bunda1 пишет
При клике в любом пустом месте любой страницы. |
bunda1 > 12-05-2015 22:13:27 |
Stakhovsky |
Stkvsky > 13-05-2015 00:19:23 |
bunda1 пишет
Ясно, я пересмотрел уже все дополнения, вот нашел одно которое выполняет такую функцию (https://addons.mozilla.org/ru/firefox/addon/quick-tab), но там можно только одну ссылку указать. Вы бы не могли помочь если можно как то сделать из него кнопки в контекстное меню или что бы это дополнение модернизировать добавив еще пункты, или может как-то сделать что бы установить несколько таких дополнений переименовав их. Помогите пожалуйста. |
bunda1 > 13-05-2015 00:29:58 |
Stakhovsky |
Stkvsky > 13-05-2015 00:48:39 |
bunda1 пишет
Так быстрее всего переходить, правой кнопкой нажал и сразу под стрелкой нужные ссылки, на среднюю кнопку назначено открытие боковой панели закладок, там много папок и не удобно. Самое лучшее для меня это поместить в контекстное меню. |
Stkvsky > 13-05-2015 01:16:10 |
okkamas_knife пишет
Никто не мешает, я и пытаюсь сделать, список поиска дополнений по контекстным меню я перелопатил весь, такого как я говорю нет, мне бы было естественно легче найти готовое, чем писать на форум. |
xrun1 > 13-05-2015 01:21:02 |
Stakhovsky |
Stkvsky > 13-05-2015 01:38:29 |
okkamas_knife пишет
Спасибо, буду пробовать. Как думаете не проще будет переделать это дополнение? https://addons.mozilla.org/ru/firefox/addon/quick-tab/ 13-05-2015 01:38:57 xrun1 пишет
Спасибо, то что нужно. |
Stkvsky > 13-05-2015 13:56:26 |
okkamas_knife пишет
Дело не в хоткее, там добавляется пункт в контекстное меню. |
turbot > 13-05-2015 16:11:00 |
Stakhovsky скрытый текст ![]() Вариант 1: Выделить код Код:(function() { if ( document.getElementById("context-site-1") ) return; var menuItem = document.createElement("menuitem"); menuItem.id = "context-site-1"; menuItem.setAttribute("label", "Google"); menuItem.setAttribute("class", "menuitem-iconic"); menuItem.setAttribute("image", "data:image/x-icon;base64,AAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBKBMpTCYX4GMrH/9gMxn/YDQV/2cyG/9nLxr/YjMd/10xHv9cMRz/XjIa/2ExHP9gNRn/YDIV/2IwHf9ULSL/RCcU4EEoEylLKBfgcjUe/349IP98QRr/gEEd/39AKP+FUjv/h2NL/4lkUP+GYEv/hVQ+/35CJv9+Phz/gEIb/4c8H/96PCT/azgb/0koFOBpMyT/jD8i/4RFIf97RB3/hEUr/7GCdf/q29L/+e3e/97HuP/dwLD/6M2+/76VhP9+RSr/hUMg/5NAH/+NQCX/h0Ai/2Q1Iv9yOyf/lkYn/4xFJP+HSSn/m25Y//7y6v/bw7f/fkw2/3hBJv90QSX/hFI9/+nUxv+2k4H/i0kq/5VIJP+QRiL/lkYn/3Q5Kv9zQSn/mUkp/5tJKf+XSin/roJr//757f+0gG//l0oq/5NMI/+WTCH/i00u/8q0o//jx7j/mFU6/5JMJP+TTiL/l0wl/3Y/K/93Rif/oE4p/6ZNK/+jTSz/pGpS//rn2v/Np5b/kFEx/5BSK/+XTyv/nmFJ/+rTyP/lyrv/nlk+/5NRJv+WUib/l1Ik/3lFK/+BSyr/plQt/6ZULP+mUyv/nFIz/6d3Yf/hxrX/3b6n/7SUf/+7l4b/8NjL//7z6//BkoH/mlMz/55TLP+iUyv/olMp/4FJK/+FSzP/qVUz/61ZMf+sWSv/rFYs/59TM/+cWT//nmJJ/8OSgf/+8ub/+O/b/8ikkv+iVTb/qVgv/6pVMP+1WDT/qVY1/4ZMMf+MUTX/q1sx/7RZMf+2WjH/t1wv/7JbLf+oXDT/nVtD/8yajv/+8uf/ybGZ/5VYOP+zWDL/t1sx/7NYMv+5WjX/sFk2/49SM/+VVDn/s143/7hfNP+8WzX/v141/6xeMv/ZoYD/+9/I/+DBtP/Ss6P/7L+l/7l1Tf+1XjT/vlw0/7tdM/+6YC//tV42/5FYNP+cU0D/uGE9/75fNf/GZTb/wGI4/8OBYv//5tT/5byr/6RjSP+lXD//26eM//TNsf+3YkH/xGI3/8NjNf+7Yi//uGE3/5pZOv+hWEH/wGY9/8RlNP/KaDf/xWY3/9+ef///5tv/v4Vt/8NmOv+9ZUD/xI16//7o2v/FgGX/x2g5/8poNv/KaDb/xWU5/6ZYQv+mYUH/y2s7/8xwN//TbTf/0m46/+CYd///59X/vIJk/81tOv/Bbz//4a6b//7n2P/FiGL/yWw4/9FtN//KcDf/zG45/6dfQP+tZT//1W4//9pxPf/VbTz/1G5B/75wTf/31L7/z56C/8V5TP/TkGP/+NXC//XSv/+4cEr/0nA7/9VwO//Ubz7/1G88/61kP/+0bkj/4XNC/99wPv/gckL/321B/9VwR//Gf2D/6reX/+/DoP/82br//uHO//LSvv/mp33/3nhJ/9dwQv/bb0X/23BG/7RrSP+wb0r/4nhK/+V3Rf/qeEX/8HZE/+lzQf/adUf/yWg+/7lfO/+tYDz/qWFA/6xeOf/IaTn/5nND/+h1SP/pdkj/3ndN/7RtUP+NWTrg2oJX/+uGVf/ofkv/84FN/++ETv/qfk//6n5Q/+h+Uv/ngFP/5oFS/+d/UP/nfk//839O/+5+Tv/uhVj/3YFa/5JYPOCRVkEppFo64NN8UP/dgVT/3oRR/92DTP/ihVj/34FX/+ODVf/mg1T/5IRO/96ET//cglH/4YJT/+CCVv/Te1D/oVk44JBVQCkAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEE="); menuItem.setAttribute("oncommand", "getBrowser().selectedTab = getBrowser().addTab('https://www.google.com')"); document.getElementById("context-searchselect").parentNode.insertBefore( menuItem, document.getElementById("context-searchselect") ); document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() { menuItem.hidden = !gContextMenu; }, false); })(); (function() { if ( document.getElementById("context-site-2") ) return; var menuItem = document.createElement("menuitem"); menuItem.id = "context-site-2"; menuItem.setAttribute("label", "Форум Mozilla Россия"); menuItem.setAttribute("class", "menuitem-iconic"); menuItem.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg=="); menuItem.setAttribute("oncommand", "getBrowser().selectedTab = getBrowser().addTab('https://forum.mozilla-russia.org/index.php')"); document.getElementById("context-searchselect").parentNode.insertBefore(menuItem, document.getElementById("context-searchselect")); document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() { menuItem.hidden = !gContextMenu; }, false); })(); Вариант 2: Выделить код Код:(function() { if ( document.getElementById("context-site-1") ) return; var menuItem = document.createElement("menuitem"); menuItem.id = "context-site-1"; menuItem.setAttribute("label", "Google"); menuItem.setAttribute("tooltiptext", 'Перейти на "Google"'); menuItem.setAttribute("class", "menuitem-iconic"); menuItem.setAttribute("image", "data:image/x-icon;base64,AAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBKBMpTCYX4GMrH/9gMxn/YDQV/2cyG/9nLxr/YjMd/10xHv9cMRz/XjIa/2ExHP9gNRn/YDIV/2IwHf9ULSL/RCcU4EEoEylLKBfgcjUe/349IP98QRr/gEEd/39AKP+FUjv/h2NL/4lkUP+GYEv/hVQ+/35CJv9+Phz/gEIb/4c8H/96PCT/azgb/0koFOBpMyT/jD8i/4RFIf97RB3/hEUr/7GCdf/q29L/+e3e/97HuP/dwLD/6M2+/76VhP9+RSr/hUMg/5NAH/+NQCX/h0Ai/2Q1Iv9yOyf/lkYn/4xFJP+HSSn/m25Y//7y6v/bw7f/fkw2/3hBJv90QSX/hFI9/+nUxv+2k4H/i0kq/5VIJP+QRiL/lkYn/3Q5Kv9zQSn/mUkp/5tJKf+XSin/roJr//757f+0gG//l0oq/5NMI/+WTCH/i00u/8q0o//jx7j/mFU6/5JMJP+TTiL/l0wl/3Y/K/93Rif/oE4p/6ZNK/+jTSz/pGpS//rn2v |