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

Юристы зарабатывают огромные деньги и славу, оперируя хорошим знанием законов. Правила форума — простой путь к успешному общению.

№710108-11-2013 19:29:14

villi311
Участник
 
Группа: Members
Зарегистрирован: 31-08-2013
Сообщений: 39
UA: Firefox 25.0

Re: Custom Buttons

Господа помогите сделать кнопку Открытие адреса с выбором из меню, как описано в сообщении №6
У меня ничего не получается, кнопка остается неактивной. Все делал как описано пошагово и много раз. Или это в последней версии Firefox не работает?
Может есть какое то другое решение? Очень нужна кнопочка с несколькими ссылками

Отсутствует

 

№710208-11-2013 20:53:47

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

Re: Custom Buttons

villi311 пишет

Может есть какое то другое решение? Очень нужна кнопочка с несколькими ссылками

Session Bookmarks

Отсутствует

 

№710308-11-2013 22:27:34

villi311
Участник
 
Группа: Members
Зарегистрирован: 31-08-2013
Сообщений: 39
UA: Firefox 25.0

Re: Custom Buttons

bunda1 пишет
villi311 пишет

Может есть какое то другое решение? Очень нужна кнопочка с несколькими ссылками

Session Bookmarks

Огромное спасибо, то что нужно!

Отсутствует

 

№710408-11-2013 22:38:29

Pony_Smile_Pack
Участник
 
Группа: Members
Зарегистрирован: 13-01-2012
Сообщений: 1144
UA: Firefox 25.0

Re: Custom Buttons

villi311 пишет

Может есть какое то другое решение? Очень нужна кнопочка с несколькими ссылками

Панель закладок, а на ней папка Закладки, и всё решение.
А добавлять туда можно - двойным кликом.(№7201)

Отсутствует

 

№710509-11-2013 02:51:43

villi311
Участник
 
Группа: Members
Зарегистрирован: 31-08-2013
Сообщений: 39
UA: Firefox 25.0

Re: Custom Buttons

okkamas_knife пишет

зы ссылки копировать лень - в посте глянешь

Выше я уже написал, что Session Bookmarks решила мою проблему. Так что всем откликнувшимся спасибо.

Pony_Smile_Pack пишет

Панель закладок, а на ней папка Закладки, и всё решение.А добавлять туда можно - двойным кликом.(№7201)

Вот для того чтобы держать панель закладок закрытой я и искал решение чтобы создать кнопку, буквально с тремя закладками, которые постоянно в работе.

Отредактировано villi311 (09-11-2013 02:57:55)

Отсутствует

 

№710609-11-2013 03:21:16

Pony_Smile_Pack
Участник
 
Группа: Members
Зарегистрирован: 13-01-2012
Сообщений: 1144
UA: Firefox 25.0

Re: Custom Buttons

villi311 пишет

Вот для того чтобы держать панель закладок закрытой я и искал решение чтобы создать кнопку, буквально с тремя закладками, которые постоянно в работе.

А кнопка обычных закладок чем плоха?
(Вот сейчас я просто даже не могу представить ответ.)

Или может мешают верхние пункты? Так их можно убрать.

скрытый текст
fcb4bb4d8d849e2e783d6c74f4e28d94.png

Отсутствует

 

№710709-11-2013 21:50:27

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

Re: Custom Buttons

villa7 пишет

Есть у меня такая кнопка переключения прокси .... и твоя кнопка Proxy ...
Первой удобно прокси из контекстного вставлять, а твоей открываю окно настроек прокси, можно в первую на СКМ или ПКМ добавить открытие окна настроек прокси из твоей, или наоборот в твою добавить вставку прокси из контекстного, чтобы две кнопки не держать.

Добавил в свою кнопку подменю для добавление прокси в контекстном меню, только включи это в меню кнопки:

Выделить код

Код:

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%3EProxy%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAQAAAAAIAAYOQAAWJ2kADh1fAAAEKAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAEBAQECAgICAgICAgICAgMBAQEAAAEEJBE4ULQ+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%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20Proxy%20%u043E%u0442%2009.11.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%20%20%20%20%20%0A%20%20%20%0A%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20cbu.setPrefs%28%22network.proxy.type%22%2C%20%28cbu.getPrefs%28%22network.proxy.type%22%29%20%3D%3D%201%20%29%20%3F%200%20%3A%201%20%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20if%20%28%20e.button%20%3D%3D%201%20%29%20menuPopup.showPopup%28%20self%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%20%0A%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%0A%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20cbu.getPrefs%28%22Proxy.connectionsInTab%22%29%20%3F%20openConnectionsInTab%28%29%3A%20openConnections%28%29%3B%0A%20%20%20%20%20%20%20%20%7D%20%0A%7D%3B%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%20about%3Aconfig%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%22Proxy.reset%22%29%20%29%20%7B%20%20%20%0A%20%20%20%20%20%5B%22Proxy.reset%22%2C%20%22Proxy.connectionsInTab%22%2C%20%22Proxy.inContextMenu%22%5D.forEach%28function%28%20pref%20%29%20%7B%20cbu.setPrefs%28%20pref%2C%20false%20%29%20%7D%29%3B%0A%7D%3B%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u043C%u0435%u043D%u044E%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20................................%0Avar%20array%20%3D%20%5B%0A%20%20%20%20%7B%20label%3A%20%22%u0414%u043E%u0431%u0430%u0432%u043B%u0435%u043D%u0438%u0435%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u0432%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043E%u043C%20%u043C%u0435%u043D%u044E%22%2C%20value%3A%20%27Proxy.inContextMenu%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u041E%u0442%u043A%u0440%u044B%u0432%u0430%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u043A%u0430%u043A%20%u0432%u043A%u043B%u0430%u0434%u043A%u0443%22%2C%20value%3A%20%27Proxy.connectionsInTab%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0430%u0442%u044C%20%u043D%u0430%20%u0440%u0435%u0436%u0438%u043C%20%27%u0411%u0435%u0437%20%u043F%u0440%u043E%u043A%u0441%u0438%27%20%u043F%u0440%u0438%20%u0437%u0430%u043A%u0440%u044B%u0442%u0438%u0438%20%u0431%u0440%u0430%u0443%u0437%u0435%u0440%u0430%20%22%2C%20value%3A%20%27Proxy.reset%27%20%7D%20%20%20%20%0A%5D%3B%0A%0Avar%20menuPopup%20%3D%20self.appendChild%28%20document.createElement%28%22menupopup%22%29%20%29%3B%0Aarray.forEach%28function%28%20m%20%29%20%7B%0A%20%20%20var%20mItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%0A%20%20%20mItem.setAttribute%28%22label%22%2C%20m.label%29%3B%0A%20%20%20mItem.setAttribute%28%27type%27%2C%20%27checkbox%27%29%3B%0A%20%20%20mItem.setAttribute%28%27checked%27%2C%20cbu.getPrefs%28%20m.value%20%29%20%29%3B%0A%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%20menuPopup.appendChild%28%20mItem%20%29%3B%0A%7D%29%3B%0AmenuPopup.setAttribute%28%22onclick%22%2C%20%22event.stopPropagation%28%29%22%29%3B%0A%0A//%20%u0434%u043E%u0431%u0430%u0432%u0438%u0442%u044C%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%20clone%20%3D%20document.getElementById%28%22custombuttons-contextpopup%22%29.cloneNode%28true%29%3B%0Aclone.setAttribute%28%22onpopupshowing%22%2C%20%22document.popupNode%20%3D%20document.getElementById%28%27%22%20+%20_id%20+%20%22%27%29%22%29%3B%0Avar%20menu%20%3D%20menuPopup.appendChild%28%20document.createElement%28%22menu%22%29%20%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%0A%0A%0A//%20%u0424%u0443%u043D%u043A%u0446%u0438%u044F%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0435%u0442%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u0432%20%u043E%u043A%u043D%u0435%20................................%0Afunction%20openConnections%28%29%20%7B%0A%20%20%20var%20windows%20%3D%20Cc%5B%27@mozilla.org/appshell/window-mediator%3B1%27%5D.getService%28Ci.nsIWindowMediator%29.getEnumerator%28null%29%3B%0A%20%20%20while%28%20windows.hasMoreElements%28%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20win%20%3D%20windows.getNext%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20if%20%28%20win.name%20%3D%3D%20%27Proxy%27%29%20%7B%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20win.focus%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%7D%3B%20%20%20%0A%20%20%20var%20win%20%3D%20openDialog%28%22chrome%3A//browser/content/preferences/connection.xul%22%2C%20%22Proxy%22%2C%20%22centerscreen%22%29%3B%20%20%20%0A%0A%20%20%20//%20%u0434%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%20%22prefwindow%22%0A%20%20%20win.addEventListener%28%22load%22%2C%20function%20f%28e%29%20%7B%0A%20%20%20%20%20%20%20this.removeEventListener%28%22load%22%2C%20f%2C%20true%29%3B%20%0A%20%20%20%20%20%20%20e.target.documentElement.setAttribute%28%22type%22%2C%20%22prefwindow%22%29%3B%0A%20%20%20%7D%2C%20true%29%3B%0A%20%20%20%0A%20%20%20//%20%u0437%u0430%u043A%u0440%u044B%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u043F%u043E%20%u043A%u043B%u0438%u043A%u0443%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%0A%20%20%20gBrowser.addEventListener%28%22click%22%2C%20function%20c%28%29%20%7B%0A%20%20%20%20%20%20this.removeEventListener%28%22click%22%2C%20c%20%29%3B%0A%20%20%20%20%20%20try%20%7B%20win.close%28%29%20%7D%20catch%28e%29%20%7B%7D%3B%20%0A%20%20%20%7D%29%3B%0A%7D%3B%0A%0A%0A//%20%u0424%u0443%u043D%u043A%u0446%u0438%u044F%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0435%u0442%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u0432%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%20................................%0Afunction%20openConnectionsInTab%28%29%20%7B%20%0A%20%20%20var%20connections%20%3D%20gBrowser.getBrowserForTab%28%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28%22chrome%3A//browser/content/preferences/connection.xul%22%29%20%29%3B%20%0A%20%20%20%20%20%20%20%20%20%20%0A%20%20%20//%20o%u0431%u0440%u0430%u0431%u043E%u0442%u0447%u0438%u043A%20%u0436%u0434%u0435%u0442%20%u043F%u043E%u043A%u0430%20%u043E%u0442%u043A%u0440%u043E%u0435%u0442%u0441%u044F%20%u043F%u0440%u043E%u043A%u0441%u0438%2C%20%u0443%u0434%u0430%u043B%u044F%u0435%u0442%20%u0441%u0435%u0431%u044F%20%u0438%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0435%u0442%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%0A%20%20%20connections.addEventListener%28%22pageshow%22%2C%20function%20c%28e%29%20%7B%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20this.removeEventListener%28%20e.type%2C%20c%20%29%3B%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20e.originalTarget.documentElement.setAttribute%28%22type%22%2C%20%22prefwindow%22%29%3B%0A%20%20%20%7D%29%20%20%20%0A%7D%3B%0A%0A%0A//%20%u0423%u0441%u0442%u0430%u043D%u043E%u0432%u043B%u0438%u0432%u0430%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%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%u0432%20%27about%3Aconfig%27%20................................%0Avar%20%20s%20%3D%20%22network.proxy.type%22%3B%0Afunction%20toggleImage%28%29%20%7B%0A%20%20%20%20var%20icon%20%3D%20self.ownerDocument.getAnonymousElementByAttribute%28%20self%2C%20%22class%22%2C%20%22toolbarbutton-icon%22%29%3B%0A%20%20%20%20icon.src%20%3D%20%28%20cbu.getPrefs%28s%29%20%3D%3D%200%20%29%0A%20%20%20%20%3F%20self.image%0A%20%20%20%20%3A%20%27data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAQAAAAAIAA4GQAAnFmkAHQ5fAAQAKAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQECAgICAgICAgICAgMBAQEAAAQBJBFQOLQ+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%3D%27%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%0A%0A%0A//%20%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0430%u0442%u044C%20%u043D%u0430%20%u0440%u0435%u0436%u0438%u043C%20%27%u0411%u0435%u0437%20%u043F%u0440%u043E%u043A%u0441%u0438%27%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%20switchOffProxy%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%20data.toString%28%29%20%3D%3D%20%22shutdown%22%20%26%26%20cbu.getPrefs%28%22Proxy.reset%22%29%20%29%20cbu.setPrefs%28%22network.proxy.type%22%2C%200%29%3B%20%20%0A%20%20%20%20%7D%0A%7D%3B%0AServices.obs.addObserver%28%20switchOffProxy%2C%20%22quit-application%22%2C%20false%20%29%3B%0A%0A%0A//%20%u0414%u043E%u0431%u0430%u0432%u043B%u044F%u0435%u043C%20%u043F%u043E%u0434%u043C%u0435%u043D%u044E%20%u0434%u043B%u044F%20%u0434%u043E%u0431%u0430%u0432%u043B%u0435%u043D%u0438%u0435%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u0432%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043D%u043E%u0433%u043E%20%u043C%u0435%u043D%u044E%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%u0434%u043B%u044F%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%20................................%0A%28function%20f%28%29%20%7B%0A%20%20var%20contextMenu%20%3D%20document.getElementById%28%22contentAreaContextMenu%22%29%3B%20%20%0A%0A%20%20var%20menu%20%3D%20document.createElement%28%22menu%22%29%3B%20%20%20%20%20%20%0A%20%20menu.setAttribute%28%22label%22%2C%20%22%u0414%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u043F%u0440%u043E%u043A%u0441%u0438%22%29%3B%20%0A%20%20menu.setAttribute%28%22class%22%2C%20%22menu-iconic%22%29%3B%0A%20%20menu.setAttribute%28%22image%22%2C%20self.image%20%29%3B%0A%20%20%20%0A%20%20contextMenu.insertBefore%28%20menu%2C%20document.getElementById%28%22context-sep-properties%22%29%20%29%3B%20%0A%20%20addEventListener%28%22popupshowing%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20menu.hidden%20%3D%20%21cbu.getPrefs%28%22Proxy.inContextMenu%22%29%20%7C%7C%20%21gContextMenu.isTextSelected%3B%20%0A%20%20%7D%2C%20false%2C%20contextMenu%20%29%3B%0A%20%20addDestructor%28function%28%29%20%7B%20contextMenu.removeChild%28%20menu%20%29%20%7D%29%3B%0A%0A%20%20%0A%20%20var%20array%20%3D%20%5B%0A%20%20%20%20%20%20%20%7B%20label%3A%20%22%u0430%u0434%u0440%u0435%u0441%22%2C%20pref%3A%20%27network.proxy.http%27%7D%2C%0A%20%20%20%20%20%20%20%7B%20label%3A%20%22%u043F%u043E%u0440%u0442%22%2C%20pref%3A%20%20%27network.proxy.http_port%27%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5D%3B%0A%20%20var%20menuPopup%20%3D%20menu.appendChild%28%20document.createElement%28%22menupopup%22%29%20%29%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20array.forEach%28function%28%20m%20%29%20%7B%20%20%0A%20%20%20%20%20%20%20var%20mItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%0A%20%20%20%20%20%20%20mItem.setAttribute%28%22label%22%2C%20m.label%29%3B%0A%20%20%20%20%20%20%20mItem.pref%20%3D%20m.pref%3B%0A%20%20%20%20%20%20%20menuPopup.appendChild%28%20mItem%20%29%3B%0A%20%20%7D%29%3B%0A%20%20addEventListener%28%22command%22%2C%20function%28e%29%20%7B%20addNewProxy%28e%29%20%7D%2C%20false%2C%20menu%20%29%3B%0A%20%20%0A%20%20function%20addNewProxy%28e%29%20%7B%0A%20%20%20%20%20var%20sel%20%3D%20document.commandDispatcher.focusedWindow.getSelection%28%29%0A%20%20%20%20%20%0A%20%20%20%20%20//%20%u0443%u0434%u0430%u043B%u0438%u0442%u044C%20%u043B%u0438%u0448%u043D%u0438%u0435%20%u0441%u0438%u043C%u0432%u043E%u043B%u044B%20%u0438%20%20%u043F%u0440%u043E%u0431%u0435%u043B%u044B%2C%20%u0434%u043E%u0431%u0430%u0432%u044B%u0442%u044C%20%u043F%u043E%u0440%u0442%20%u043A%u0430%u043A%20%u0447%u0438%u0441%u043B%u043E%20%0A%20%20%20%20%20var%20sel%20%3D%20sel.toString%28%29.replace%28/%5E%5Cs+%7C%5Cs+%24/g%2C%22%22%29.replace%28/%3A/g%2C%20%22%22%29%3B%0A%20%20%20%20%20var%20sel%20%3D%20sel.length%20%3E%205%20%3F%20sel%20%3A%20%28+%20sel%29%3B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20Application.prefs.setValue%28%20e.target.pref%2C%20sel%20%29%3B%0A%20%20%20%20%20custombuttons.alertSlide%28%22%u0423%u0441%u0442%u0430%u043D%u043E%u0432%u043B%u0435%u043D%22%20+%20e.target.label%20+%20%22%u043F%u0440%u043E%u043A%u0441%u0438%3A%20%22%2C%20sel%20%29%3B%0A%20%20%7D%3B%0A%20%20%20%0A%7D%29%28%29%3B%0A%20%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%22Proxy%20%5Cn%u041B%3A%20%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u043F%u0440%u043E%u043A%u0441%u0438%20%5CnM%3A%20%u041C%u0435%u043D%u044E%20%5Cn%u041F%3A%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%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

Добавлено 09-11-2013 21:54:13
Я тут подумал :/ что надо сделать автоматическое добавление прокси адреса типа - 95.154.199.100:443, добавить специальный подпункт или ...

Отредактировано bunda1 (09-11-2013 21:54:13)

Отсутствует

 

№710809-11-2013 22:38:52

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3149
UA: Firefox 28.0

Re: Custom Buttons

bunda1 пишет

Я тут подумал :/ что надо сделать автоматическое добавление прокси адреса типа - 95.154.199.100:443, добавить специальный подпункт или ...

Было бы замечательно. В своё время просил автора кнопки добавить  такой пункт, но понимания не нашёл.:( №14

Отсутствует

 

№710909-11-2013 22:54:11

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

Re: Custom Buttons

voqabuhe
Уже делаю.

Отсутствует

 

№711009-11-2013 23:38:12

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: Firefox 24.0

Re: Custom Buttons

bunda1 пишет

что надо сделать автоматическое добавление прокси адреса типа - 95.154.199.100:443, добавить специальный подпункт или

Конечно же добавить если возможно.


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№711110-11-2013 00:12:41

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

Re: Custom Buttons

Вот можно попробовать всё добавляется через один пункт меню Добавить прокси

Выделить код

Код:

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%3EProxy%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAQAAAAAIAAYOQAAWJ2kADh1fAAAEKAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAEBAQECAgICAgICAgICAgMBAQEAAAEEJBE4ULQ+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%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20Proxy%20%u043E%u0442%2009.11.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%20%20%20%20%20%0A%20%20%20%0A%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20cbu.setPrefs%28%22network.proxy.type%22%2C%20%28cbu.getPrefs%28%22network.proxy.type%22%29%20%3D%3D%201%20%29%20%3F%200%20%3A%201%20%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20if%20%28%20e.button%20%3D%3D%201%20%29%20menuPopup.showPopup%28%20self%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%20%0A%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%0A%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20cbu.getPrefs%28%22Proxy.connectionsInTab%22%29%20%3F%20openConnectionsInTab%28%29%3A%20openConnections%28%29%3B%0A%20%20%20%20%20%20%20%20%7D%20%0A%7D%3B%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%20about%3Aconfig%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%22Proxy.reset%22%29%20%29%20%7B%20%20%20%0A%20%20%20%20%20%5B%22Proxy.reset%22%2C%20%22Proxy.connectionsInTab%22%2C%20%22Proxy.inContextMenu%22%5D.forEach%28function%28%20pref%20%29%20%7B%20cbu.setPrefs%28%20pref%2C%20false%20%29%20%7D%29%3B%0A%7D%3B%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u043C%u0435%u043D%u044E%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20................................%0Avar%20array%20%3D%20%5B%0A%20%20%20%20%7B%20label%3A%20%22%u0414%u043E%u0431%u0430%u0432%u043B%u0435%u043D%u0438%u0435%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u0432%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043E%u043C%20%u043C%u0435%u043D%u044E%22%2C%20value%3A%20%27Proxy.inContextMenu%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u041E%u0442%u043A%u0440%u044B%u0432%u0430%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u043A%u0430%u043A%20%u0432%u043A%u043B%u0430%u0434%u043A%u0443%22%2C%20value%3A%20%27Proxy.connectionsInTab%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0430%u0442%u044C%20%u043D%u0430%20%u0440%u0435%u0436%u0438%u043C%20%27%u0411%u0435%u0437%20%u043F%u0440%u043E%u043A%u0441%u0438%27%20%u043F%u0440%u0438%20%u0437%u0430%u043A%u0440%u044B%u0442%u0438%u0438%20%u0431%u0440%u0430%u0443%u0437%u0435%u0440%u0430%20%22%2C%20value%3A%20%27Proxy.reset%27%20%7D%20%20%20%20%0A%5D%3B%0A%0Avar%20menuPopup%20%3D%20self.appendChild%28%20document.createElement%28%22menupopup%22%29%20%29%3B%0Aarray.forEach%28function%28%20m%20%29%20%7B%0A%20%20%20var%20mItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%0A%20%20%20mItem.setAttribute%28%22label%22%2C%20m.label%29%3B%0A%20%20%20mItem.setAttribute%28%27type%27%2C%20%27checkbox%27%29%3B%0A%20%20%20mItem.setAttribute%28%27checked%27%2C%20cbu.getPrefs%28%20m.value%20%29%20%29%3B%0A%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%20menuPopup.appendChild%28%20mItem%20%29%3B%0A%7D%29%3B%0AmenuPopup.setAttribute%28%22onclick%22%2C%20%22event.stopPropagation%28%29%22%29%3B%0A%0A//%20%u0434%u043E%u0431%u0430%u0432%u0438%u0442%u044C%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%20clone%20%3D%20document.getElementById%28%22custombuttons-contextpopup%22%29.cloneNode%28true%29%3B%0Aclone.setAttribute%28%22onpopupshowing%22%2C%20%22document.popupNode%20%3D%20document.getElementById%28%27%22%20+%20_id%20+%20%22%27%29%22%29%3B%0Avar%20menu%20%3D%20menuPopup.appendChild%28%20document.createElement%28%22menu%22%29%20%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%0A%0A%0A//%20%u0424%u0443%u043D%u043A%u0446%u0438%u044F%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0435%u0442%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u0432%20%u043E%u043A%u043D%u0435%20................................%0Afunction%20openConnections%28%29%20%7B%0A%20%20%20var%20windows%20%3D%20Cc%5B%27@mozilla.org/appshell/window-mediator%3B1%27%5D.getService%28Ci.nsIWindowMediator%29.getEnumerator%28null%29%3B%0A%20%20%20while%28%20windows.hasMoreElements%28%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20win%20%3D%20windows.getNext%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20if%20%28%20win.name%20%3D%3D%20%27Proxy%27%29%20%7B%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20win.focus%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%7D%3B%20%20%20%0A%20%20%20var%20win%20%3D%20openDialog%28%22chrome%3A//browser/content/preferences/connection.xul%22%2C%20%22Proxy%22%2C%20%22centerscreen%22%29%3B%20%20%20%0A%0A%20%20%20//%20%u0434%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%20%22prefwindow%22%0A%20%20%20win.addEventListener%28%22load%22%2C%20function%20f%28e%29%20%7B%0A%20%20%20%20%20%20%20this.removeEventListener%28%22load%22%2C%20f%2C%20true%29%3B%20%0A%20%20%20%20%20%20%20e.target.documentElement.setAttribute%28%22type%22%2C%20%22prefwindow%22%29%3B%0A%20%20%20%7D%2C%20true%29%3B%0A%20%20%20%0A%20%20%20//%20%u0437%u0430%u043A%u0440%u044B%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u043F%u043E%20%u043A%u043B%u0438%u043A%u0443%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%0A%20%20%20gBrowser.addEventListener%28%22click%22%2C%20function%20c%28%29%20%7B%0A%20%20%20%20%20%20this.removeEventListener%28%22click%22%2C%20c%20%29%3B%0A%20%20%20%20%20%20try%20%7B%20win.close%28%29%20%7D%20catch%28e%29%20%7B%7D%3B%20%0A%20%20%20%7D%29%3B%0A%7D%3B%0A%0A%0A//%20%u0424%u0443%u043D%u043A%u0446%u0438%u044F%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0435%u0442%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u0432%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%20................................%0Afunction%20openConnectionsInTab%28%29%20%7B%20%0A%20%20%20var%20connections%20%3D%20gBrowser.getBrowserForTab%28%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28%22chrome%3A//browser/content/preferences/connection.xul%22%29%20%29%3B%20%0A%20%20%20%20%20%20%20%20%20%20%0A%20%20%20//%20o%u0431%u0440%u0430%u0431%u043E%u0442%u0447%u0438%u043A%20%u0436%u0434%u0435%u0442%20%u043F%u043E%u043A%u0430%20%u043E%u0442%u043A%u0440%u043E%u0435%u0442%u0441%u044F%20%u043F%u0440%u043E%u043A%u0441%u0438%2C%20%u0443%u0434%u0430%u043B%u044F%u0435%u0442%20%u0441%u0435%u0431%u044F%20%u0438%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0435%u0442%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%0A%20%20%20connections.addEventListener%28%22pageshow%22%2C%20function%20c%28e%29%20%7B%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20this.removeEventListener%28%20e.type%2C%20c%20%29%3B%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20e.originalTarget.documentElement.setAttribute%28%22type%22%2C%20%22prefwindow%22%29%3B%0A%20%20%20%7D%29%20%20%20%0A%7D%3B%0A%0A%0A//%20%u0423%u0441%u0442%u0430%u043D%u043E%u0432%u043B%u0438%u0432%u0430%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%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%u0432%20%27about%3Aconfig%27%20................................%0Avar%20%20s%20%3D%20%22network.proxy.type%22%3B%0Afunction%20toggleImage%28%29%20%7B%0A%20%20%20%20var%20icon%20%3D%20self.ownerDocument.getAnonymousElementByAttribute%28%20self%2C%20%22class%22%2C%20%22toolbarbutton-icon%22%29%3B%0A%20%20%20%20icon.src%20%3D%20%28%20cbu.getPrefs%28s%29%20%3D%3D%200%20%29%0A%20%20%20%20%3F%20self.image%0A%20%20%20%20%3A%20%27data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAQAAAAAIAA4GQAAnFmkAHQ5fAAQAKAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQECAgICAgICAgICAgMBAQEAAAQBJBFQOLQ+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%3D%27%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%0A%0A%0A//%20%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0430%u0442%u044C%20%u043D%u0430%20%u0440%u0435%u0436%u0438%u043C%20%27%u0411%u0435%u0437%20%u043F%u0440%u043E%u043A%u0441%u0438%27%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%20switchOffProxy%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%20data.toString%28%29%20%3D%3D%20%22shutdown%22%20%26%26%20cbu.getPrefs%28%22Proxy.reset%22%29%20%29%20cbu.setPrefs%28%22network.proxy.type%22%2C%200%29%3B%20%20%0A%20%20%20%20%7D%0A%7D%3B%0AServices.obs.addObserver%28%20switchOffProxy%2C%20%22quit-application%22%2C%20false%20%29%3B%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0435%u043C%20%u043C%u0435%u043D%u044E%20%u0434%u043B%u044F%20%u0434%u043E%u0431%u0430%u0432%u043B%u0435%u043D%u0438%u0435%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u0432%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043D%u043E%u043C%20%u043C%u0435%u043D%u044E%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20................................%0A%28function%20%28%29%20%7B%0A%20%20var%20contextMenu%20%3D%20document.getElementById%28%22contentAreaContextMenu%22%29%3B%20%20%0A%20%20%0A%20%20//%20%u0441%u043E%u0437%u0434%u0430%u0442%u044C%20%u043D%u043E%u0432%u044B%u0439%20%u043F%u0443%u043D%u043A%u0442%20%u043C%u0435%u043D%u044E%0A%20%20var%20menuitem%20%3D%20document.createElement%28%22menuitem%22%29%3B%20%20%20%20%20%20%0A%20%20menuitem.setAttribute%28%22label%22%2C%20%22%u0414%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u043F%u0440%u043E%u043A%u0441%u0438%22%29%3B%20%0A%20%20menuitem.setAttribute%28%22class%22%2C%20%22menuitem-iconic%22%29%3B%0A%20%20menuitem.setAttribute%28%22image%22%2C%20self.image%20%29%3B%0A%20%20addEventListener%28%22command%22%2C%20function%28e%29%20%7B%20addNewProxy%28%29%20%7D%2C%20false%2C%20menuitem%20%29%3B%0A%20%20%0A%20%20//%20%u0443%u0441%u0442%u0430%u043D%u0430%u0432%u043B%u0438%u0432%u0430%u0435%u043C%20%u0433%u0434%u0435%20%u043F%u043E%u043A%u0430%u0437%u044B%u0432%u0430%u0442%u044C%20%u043F%u0443%u043D%u043A%u0442%20%u043C%u0435%u043D%u044E%0A%20%20addEventListener%28%22popupshowing%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20menuitem.hidden%20%3D%20%21cbu.getPrefs%28%22Proxy.inContextMenu%22%29%20%7C%7C%20%21gContextMenu.isTextSelected%3B%20%0A%20%20%7D%2C%20false%2C%20contextMenu%20%29%3B%0A%20%20addDestructor%28function%28%29%20%7B%20contextMenu.removeChild%28%20menuitem%20%29%20%7D%29%3B%0A%20%20contextMenu.appendChild%28%20menuitem%20%29%3B%20//%20%u043A%u0430%u043A%20%u043F%u043E%u0441%u043B%u0435%u0434%u043D%u0438%u0439%20%u043F%u0443%u043D%u043A%u0442%20%u043C%u0435%u043D%u044E%0A%20%20%0A%20%20//%20%u0434%u043E%u0431%u0430%u0432%u043B%u0435%u043D%u0438%u0435%20%u043F%u0440%u043E%u043A%u0441%u0438%0A%20%20function%20addNewProxy%28%20sel%2C%20i%20%29%20%7B%20%20%0A%20%20%20%20%20var%20selection%20%3D%20document.commandDispatcher.focusedWindow.getSelection%28%29.toString%28%29%3B%0A%20%20%20%20%20var%20sel%20%3D%20%28%20sel%20%3D%3D%20undefined%20%29%20%3F%20selection%20%3A%20sel.toString%28%29%3B%0A%20%20%20%20%20sel%20%3D%20sel.replace%28/%5E%5Cs+%7C%5Cs+%24/g%2C%22%22%29%3B%20//%20%u0443%u0434%u0430%u043B%u0438%u0442%u044C%20%u043F%u0440%u043E%u0431%u0435%u043B%u044B%0A%20%20%20%20%20%20%0A%20%20%20%20%20//%20%u0435%u0441%u043B%u0438%20%u043F%u043E%u0440%u0442%20...%0A%20%20%20%20%20if%20%28%20sel.length%20%3C%205%20%29%20%7B%20%20%0A%20%20%20%20%20%20%20%20%20%20sel%20%3D%20sel.replace%28/%3A/g%2C%20%22%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20sel%20%3D%20+sel%3B%20%20//%20%u043F%u043E%u0440%u0442%20%u043A%u0430%u043A%20%u0447%u0438%u0441%u043B%u043E%0A%20%20%20%20%20%20%20%20%20%20var%20lab%20%3D%20%27%u043F%u043E%u0440%u0442%27%3B%0A%20%20%20%20%20%20%20%20%20%20var%20pref%20%3D%20%27network.proxy.http_port%27%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%0A%20%20%20%20%20//%20%u0435%u0441%u043B%u0438%20%u0430%u0434%u0440%u0435%u0441%20...%0A%20%20%20%20%20if%20%28%20sel.length%20%3E%204%20%26%26%20%21/%3A/.test%28sel%29%20%29%20%7B%20%20%0A%20%20%20%20%20%20%20%20%20%20var%20lab%20%3D%20%27%u0430%u0434%u0440%u0435%u0441%27%3B%0A%20%20%20%20%20%20%20%20%20%20var%20pref%20%3D%20%27network.proxy.http%27%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20%20%20%20%20%0A%20%20%20%20%20%0A%20%20%20%20%20//%20%u0435%u0441%u043B%u0438%20%u0430%u0434%u0440%u0435%u0441%20%u0438%20%u043F%u043E%u0440%u0442%20%u0447%u0435%u0440%u0435%u0437%20%22%3A%22%20...%20%20%20%20%0A%20%20%20%20%20if%20%28%20sel.length%20%3E%204%20%26%26%20/%3A/.test%28sel%29%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20var%20lab%20%3D%20%27%u0430%u0434%u0440%u0435%u0441%20%u0438%20%u043F%u043E%u0440%u0442%27%3B%0A%20%20%20%20%20%20%20%20%20%20array%20%3D%20sel.split%28%22%3A%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20array.forEach%28function%28sel%2C%20i%29%20%7B%20addNewProxy%28%20sel%2C%20i%20%29%20%7D%29%3B%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%7D%20%20%20%20%20%0A%20%20%20%20%20%0A%20%20%20%20%20Application.prefs.setValue%28%20pref%2C%20sel%20%29%3B%20//%20%u043F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%0A%20%20%20%20%20%0A%0A%20%20%20%20%20//%20%u0431%u044B%u0441%u0442%u0440%u0430%u044F%20%u0432%u0441%u043F%u043B%u044B%u0432%u0430%u044E%u0449%u0430%u044F%20%u043F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%0A%20%20%20%20%20if%20%28%20i%20%21%3D%3D%20undefined%20%7C%7C%20i%20%3D%3D%200%20%29%20return%3B%0A%20%20%20%20%20var%20alertSlide%20%3D%20Cc%5B%22@mozilla.org/embedcomp/window-watcher%3B1%22%5D.getService%28Ci.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%28%20null%2C%20%22chrome%3A//global/content/alerts/alert.xul%22%2C%20%22%22%2C%20%22chrome%2C%20titlebar%20%3D%200%2C%20popup%20%3D%201%22%2C%20null%29%3B%0A%20%20%20%20%20alertSlide.arguments%20%3D%20%5Bself.image%2C%20self.label%2C%20%22%u0423%u0441%u0442%u0430%u043D%u043E%u0432%u043B%u0435%u043D%20%22%20+%20lab%20+%20%22%20%u043F%u0440%u043E%u043A%u0441%u0438%3A%20%22%20+%20sel%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%202000%20%29%3B%20%20%20%20%20%0A%20%20%7D%3B%0A%20%20%20%0A%7D%29%28%29%3B%0A%20%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%22Proxy%20%5Cn%u041B%3A%20%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u043F%u0440%u043E%u043A%u0441%u0438%20%5CnM%3A%20%u041C%u0435%u043D%u044E%20%5Cn%u041F%3A%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%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

Отсутствует

 

№711210-11-2013 00:42:24

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3149
UA: Firefox 28.0

Re: Custom Buttons

bunda1 пишет

Вот можно попробовать всё добавляется через один пункт меню Добавить прокси

Всё работает, теперь очень удобно. Спасибо.
ps Вот бы ещё добавить, чтобы в тултипе к кнопке показывало установленные прокси и порт, как это сделано в той кнопке №4, чтобы уж её полностью заменить. Можешь?

Отсутствует

 

№711310-11-2013 00:47:42

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

Re: Custom Buttons

voqabuhe пишет

ps Вот бы ещё добавить, чтобы в тултипе к кнопке показывало установленные прокси и порт. Можешь?

Ну конечно могу, делаю.

Добавлено 10-11-2013 01:03:04
voqabuhe

Выделить код

Код:

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%3EProxy%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAQAAAAAIAAYOQAAWJ2kADh1fAAAEKAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAEBAQECAgICAgICAgICAgMBAQEAAAEEJBE4ULQ+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%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20Proxy%20%u043E%u0442%2009.11.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%20%20%20%20%20%0A%20%20%20%0A%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20cbu.setPrefs%28%22network.proxy.type%22%2C%20%28cbu.getPrefs%28%22network.proxy.type%22%29%20%3D%3D%201%20%29%20%3F%200%20%3A%201%20%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%0A%20%20%20if%20%28%20e.button%20%3D%3D%201%20%29%20menuPopup.showPopup%28%20self%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%20%0A%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%0A%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20cbu.getPrefs%28%22Proxy.connectionsInTab%22%29%20%3F%20openConnectionsInTab%28%29%3A%20openConnections%28%29%3B%0A%20%20%20%20%20%20%20%20%7D%20%0A%7D%3B%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%20about%3Aconfig%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%22Proxy.reset%22%29%20%29%20%7B%20%20%20%0A%20%20%20%20%20%5B%22Proxy.reset%22%2C%20%22Proxy.connectionsInTab%22%2C%20%22Proxy.inContextMenu%22%5D.forEach%28function%28%20pref%20%29%20%7B%20cbu.setPrefs%28%20pref%2C%20false%20%29%20%7D%29%3B%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.onmouseover%20%3D%20function%28%29%20%7B%0A%20%20%20%20%20var%20address%20%3D%20Application.prefs.getValue%28%22network.proxy.http%22%2C%200%29%3B%0A%20%20%20%20%20var%20port%20%3D%20Application.prefs.getValue%28%22network.proxy.http_port%22%2C%200%29%3B%0A%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%20this.tooltipText%20%3D%20%22Proxy%20%5Cn%u041B%3A%20%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u043F%u0440%u043E%u043A%u0441%u0438%20%5Cn%u0421%3A%20M%u0435%u043D%u044E%20%u043A%u043D%u043E%u043F%u043A%u0438%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%22%5Cn%u041F%3A%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%20%5Cn%5Cn%u0422%u0435%u043A%u0443%u0449%u0438%u0435%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%3A%20%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%20%20%20%20%20+%20%22%5Cn%u041F%u043E%u0440%u0442%3A%20%22+%20port%20+%20%22%5Cn%u0410%u0434%u0440%u0435%u0441%3A%20%22%20+%20address%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%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%7D%3B%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u043C%u0435%u043D%u044E%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20................................%0Avar%20array%20%3D%20%5B%0A%20%20%20%20%7B%20label%3A%20%22%u0414%u043E%u0431%u0430%u0432%u043B%u0435%u043D%u0438%u0435%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u0432%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043E%u043C%20%u043C%u0435%u043D%u044E%22%2C%20value%3A%20%27Proxy.inContextMenu%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u041E%u0442%u043A%u0440%u044B%u0432%u0430%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u043A%u0430%u043A%20%u0432%u043A%u043B%u0430%u0434%u043A%u0443%22%2C%20value%3A%20%27Proxy.connectionsInTab%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0430%u0442%u044C%20%u043D%u0430%20%u0440%u0435%u0436%u0438%u043C%20%27%u0411%u0435%u0437%20%u043F%u0440%u043E%u043A%u0441%u0438%27%20%u043F%u0440%u0438%20%u0437%u0430%u043A%u0440%u044B%u0442%u0438%u0438%20%u0431%u0440%u0430%u0443%u0437%u0435%u0440%u0430%20%22%2C%20value%3A%20%27Proxy.reset%27%20%7D%20%20%20%20%0A%5D%3B%0A%0Avar%20menuPopup%20%3D%20self.appendChild%28%20document.createElement%28%22menupopup%22%29%20%29%3B%0Aarray.forEach%28function%28%20m%20%29%20%7B%0A%20%20%20var%20mItem%20%3D%20document.createElement%28%22menuitem%22%29%3B%0A%20%20%20mItem.setAttribute%28%22label%22%2C%20m.label%29%3B%0A%20%20%20mItem.setAttribute%28%27type%27%2C%20%27checkbox%27%29%3B%0A%20%20%20mItem.setAttribute%28%27checked%27%2C%20cbu.getPrefs%28%20m.value%20%29%20%29%3B%0A%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%20menuPopup.appendChild%28%20mItem%20%29%3B%0A%7D%29%3B%0AmenuPopup.setAttribute%28%22onclick%22%2C%20%22event.stopPropagation%28%29%22%29%3B%0A%0A//%20%u0434%u043E%u0431%u0430%u0432%u0438%u0442%u044C%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%20clone%20%3D%20document.getElementById%28%22custombuttons-contextpopup%22%29.cloneNode%28true%29%3B%0Aclone.setAttribute%28%22onpopupshowing%22%2C%20%22document.popupNode%20%3D%20document.getElementById%28%27%22%20+%20_id%20+%20%22%27%29%22%29%3B%0Avar%20menu%20%3D%20menuPopup.appendChild%28%20document.createElement%28%22menu%22%29%20%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%0A%0A%0A//%20%u0424%u0443%u043D%u043A%u0446%u0438%u044F%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0435%u0442%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u0432%20%u043E%u043A%u043D%u0435%20................................%0Afunction%20openConnections%28%29%20%7B%0A%20%20%20var%20windows%20%3D%20Cc%5B%27@mozilla.org/appshell/window-mediator%3B1%27%5D.getService%28Ci.nsIWindowMediator%29.getEnumerator%28null%29%3B%0A%20%20%20while%28%20windows.hasMoreElements%28%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20win%20%3D%20windows.getNext%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20if%20%28%20win.name%20%3D%3D%20%27Proxy%27%29%20%7B%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20win.focus%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%7D%3B%20%20%20%0A%20%20%20var%20win%20%3D%20openDialog%28%22chrome%3A//browser/content/preferences/connection.xul%22%2C%20%22Proxy%22%2C%20%22centerscreen%22%29%3B%20%20%20%0A%0A%20%20%20//%20%u0434%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%20%22prefwindow%22%0A%20%20%20win.addEventListener%28%22load%22%2C%20function%20f%28e%29%20%7B%0A%20%20%20%20%20%20%20this.removeEventListener%28%22load%22%2C%20f%2C%20true%29%3B%20%0A%20%20%20%20%20%20%20e.target.documentElement.setAttribute%28%22type%22%2C%20%22prefwindow%22%29%3B%0A%20%20%20%7D%2C%20true%29%3B%0A%20%20%20%0A%20%20%20//%20%u0437%u0430%u043A%u0440%u044B%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u043F%u043E%20%u043A%u043B%u0438%u043A%u0443%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%0A%20%20%20gBrowser.addEventListener%28%22click%22%2C%20function%20c%28%29%20%7B%0A%20%20%20%20%20%20this.removeEventListener%28%22click%22%2C%20c%20%29%3B%0A%20%20%20%20%20%20try%20%7B%20win.close%28%29%20%7D%20catch%28e%29%20%7B%7D%3B%20%0A%20%20%20%7D%29%3B%0A%7D%3B%0A%0A%0A//%20%u0424%u0443%u043D%u043A%u0446%u0438%u044F%20%u043E%u0442%u043A%u0440%u044B%u0432%u0430%u0435%u0442%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u0432%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%20................................%0Afunction%20openConnectionsInTab%28%29%20%7B%20%0A%20%20%20var%20connections%20%3D%20gBrowser.getBrowserForTab%28%20gBrowser.selectedTab%20%3D%20gBrowser.addTab%28%22chrome%3A//browser/content/preferences/connection.xul%22%29%20%29%3B%20%0A%20%20%20%20%20%20%20%20%20%20%0A%20%20%20//%20o%u0431%u0440%u0430%u0431%u043E%u0442%u0447%u0438%u043A%20%u0436%u0434%u0435%u0442%20%u043F%u043E%u043A%u0430%20%u043E%u0442%u043A%u0440%u043E%u0435%u0442%u0441%u044F%20%u043F%u0440%u043E%u043A%u0441%u0438%2C%20%u0443%u0434%u0430%u043B%u044F%u0435%u0442%20%u0441%u0435%u0431%u044F%20%u0438%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0435%u0442%20%u0430%u0442%u0440%u0438%u0431%u0443%u0442%0A%20%20%20connections.addEventListener%28%22pageshow%22%2C%20function%20c%28e%29%20%7B%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20this.removeEventListener%28%20e.type%2C%20c%20%29%3B%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20e.originalTarget.documentElement.setAttribute%28%22type%22%2C%20%22prefwindow%22%29%3B%0A%20%20%20%7D%29%20%20%20%0A%7D%3B%0A%0A%0A//%20%u0423%u0441%u0442%u0430%u043D%u043E%u0432%u043B%u0438%u0432%u0430%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%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%u0432%20%27about%3Aconfig%27%20................................%0Avar%20%20s%20%3D%20%22network.proxy.type%22%3B%0Afunction%20toggleImage%28%29%20%7B%0A%20%20%20%20var%20icon%20%3D%20self.ownerDocument.getAnonymousElementByAttribute%28%20self%2C%20%22class%22%2C%20%22toolbarbutton-icon%22%29%3B%0A%20%20%20%20icon.src%20%3D%20%28%20cbu.getPrefs%28s%29%20%3D%3D%200%20%29%0A%20%20%20%20%3F%20self.image%0A%20%20%20%20%3A%20%27data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAQAAAAAIAA4GQAAnFmkAHQ5fAAQAKAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAEBAQECAgICAgICAgICAgMBAQEAAAQBJBFQOLQ+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%3D%27%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%0A%0A%0A//%20%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0430%u0442%u044C%20%u043D%u0430%20%u0440%u0435%u0436%u0438%u043C%20%27%u0411%u0435%u0437%20%u043F%u0440%u043E%u043A%u0441%u0438%27%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%20switchOffProxy%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%20data.toString%28%29%20%3D%3D%20%22shutdown%22%20%26%26%20cbu.getPrefs%28%22Proxy.reset%22%29%20%29%20cbu.setPrefs%28%22network.proxy.type%22%2C%200%29%3B%20%20%0A%20%20%20%20%7D%0A%7D%3B%0AServices.obs.addObserver%28%20switchOffProxy%2C%20%22quit-application%22%2C%20false%20%29%3B%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0435%u043C%20%u043C%u0435%u043D%u044E%20%u0434%u043B%u044F%20%u0434%u043E%u0431%u0430%u0432%u043B%u0435%u043D%u0438%u0435%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u0432%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043D%u043E%u043C%20%u043C%u0435%u043D%u044E%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20................................%0A%28function%20%28%29%20%7B%0A%20%20var%20contextMenu%20%3D%20document.getElementById%28%22contentAreaContextMenu%22%29%3B%20%20%0A%20%20%0A%20%20//%20%u0441%u043E%u0437%u0434%u0430%u0442%u044C%20%u043D%u043E%u0432%u044B%u0439%20%u043F%u0443%u043D%u043A%u0442%20%u043C%u0435%u043D%u044E%0A%20%20var%20menuitem%20%3D%20document.createElement%28%22menuitem%22%29%3B%20%20%20%20%20%20%0A%20%20menuitem.setAttribute%28%22label%22%2C%20%22%u0414%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u043F%u0440%u043E%u043A%u0441%u0438%22%29%3B%20%0A%20%20menuitem.setAttribute%28%22class%22%2C%20%22menuitem-iconic%22%29%3B%0A%20%20menuitem.setAttribute%28%22image%22%2C%20self.image%20%29%3B%0A%20%20addEventListener%28%22command%22%2C%20function%28e%29%20%7B%20addNewProxy%28%29%20%7D%2C%20false%2C%20menuitem%20%29%3B%0A%20%20%0A%20%20//%20%u0443%u0441%u0442%u0430%u043D%u0430%u0432%u043B%u0438%u0432%u0430%u0435%u043C%20%u0433%u0434%u0435%20%u043F%u043E%u043A%u0430%u0437%u044B%u0432%u0430%u0442%u044C%20%u043F%u0443%u043D%u043A%u0442%20%u043C%u0435%u043D%u044E%0A%20%20addEventListener%28%22popupshowing%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20menuitem.hidden%20%3D%20%21cbu.getPrefs%28%22Proxy.inContextMenu%22%29%20%7C%7C%20%21gContextMenu.isTextSelected%3B%20%0A%20%20%7D%2C%20false%2C%20contextMenu%20%29%3B%0A%20%20addDestructor%28function%28%29%20%7B%20contextMenu.removeChild%28%20menuitem%20%29%20%7D%29%3B%0A%20%20contextMenu.appendChild%28%20menuitem%20%29%3B%20//%20%u043A%u0430%u043A%20%u043F%u043E%u0441%u043B%u0435%u0434%u043D%u0438%u0439%20%u043F%u0443%u043D%u043A%u0442%20%u043C%u0435%u043D%u044E%0A%20%20%0A%20%20%0A%20%20//%20%u0434%u043E%u0431%u0430%u0432%u043B%u0435%u043D%u0438%u0435%20%u043F%u0440%u043E%u043A%u0441%u0438%0A%20%20function%20addNewProxy%28%20sel%2C%20i%20%29%20%7B%20%20%0A%20%20%20%20%20var%20selection%20%3D%20document.commandDispatcher.focusedWindow.getSelection%28%29.toString%28%29%3B%0A%20%20%20%20%20var%20sel%20%3D%20%28%20sel%20%3D%3D%20undefined%20%29%20%3F%20selection%20%3A%20sel.toString%28%29%3B%0A%20%20%20%20%20sel%20%3D%20sel.replace%28/%5E%5Cs+%7C%5Cs+%24/g%2C%22%22%29%3B%20//%20%u0443%u0434%u0430%u043B%u0438%u0442%u044C%20%u043F%u0440%u043E%u0431%u0435%u043B%u044B%0A%20%20%20%20%20%20%0A%20%20%20%20%20//%20%u0435%u0441%u043B%u0438%20%u043F%u043E%u0440%u0442%20...%0A%20%20%20%20%20if%20%28%20sel.length%20%3C%205%20%29%20%7B%20%20%0A%20%20%20%20%20%20%20%20%20%20sel%20%3D%20sel.replace%28/%3A/g%2C%20%22%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20sel%20%3D%20+sel%3B%20%20//%20%u043F%u043E%u0440%u0442%20%u043A%u0430%u043A%20%u0447%u0438%u0441%u043B%u043E%0A%20%20%20%20%20%20%20%20%20%20var%20lab%20%3D%20%27%u043F%u043E%u0440%u0442%27%3B%0A%20%20%20%20%20%20%20%20%20%20var%20pref%20%3D%20%27network.proxy.http_port%27%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%0A%20%20%20%20%20//%20%u0435%u0441%u043B%u0438%20%u0430%u0434%u0440%u0435%u0441%20...%0A%20%20%20%20%20if%20%28%20sel.length%20%3E%204%20%26%26%20%21/%3A/.test%28sel%29%20%29%20%7B%20%20%0A%20%20%20%20%20%20%20%20%20%20var%20lab%20%3D%20%27%u0430%u0434%u0440%u0435%u0441%27%3B%0A%20%20%20%20%20%20%20%20%20%20var%20pref%20%3D%20%27network.proxy.http%27%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%20%20%20%20%20%0A%20%20%20%20%20%0A%20%20%20%20%20//%20%u0435%u0441%u043B%u0438%20%u0430%u0434%u0440%u0435%u0441%20%u0438%20%u043F%u043E%u0440%u0442%20%u0447%u0435%u0440%u0435%u0437%20%22%3A%22%20...%20%20%20%20%0A%20%20%20%20%20if%20%28%20sel.length%20%3E%204%20%26%26%20/%3A/.test%28sel%29%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20var%20lab%20%3D%20%27%u0430%u0434%u0440%u0435%u0441%20%u0438%20%u043F%u043E%u0440%u0442%27%3B%0A%20%20%20%20%20%20%20%20%20%20var%20array%20%3D%20sel.split%28%22%3A%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20array.forEach%28function%28sel%2C%20i%29%20%7B%20addNewProxy%28%20sel%2C%20i%20%29%20%7D%29%3B%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%7D%20%20%20%20%20%0A%20%20%20%20%20%0A%20%20%20%20%20Application.prefs.setValue%28%20pref%2C%20sel%20%29%3B%20//%20%u043F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0438%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%20%20%20%20%20%0A%0A%20%20%20%20%20//%20%u0431%u044B%u0441%u0442%u0440%u0430%u044F%20%u0432%u0441%u043F%u043B%u044B%u0432%u0430%u044E%u0449%u0430%u044F%20%u043F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%0A%20%20%20%20%20if%20%28%20i%20%21%3D%3D%20undefined%20%7C%7C%20i%20%3D%3D%200%20%29%20return%3B%0A%20%20%20%20%20var%20alertSlide%20%3D%20Cc%5B%22@mozilla.org/embedcomp/window-watcher%3B1%22%5D.getService%28Ci.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%28%20null%2C%20%22chrome%3A//global/content/alerts/alert.xul%22%2C%20%22%22%2C%20%22chrome%2C%20titlebar%20%3D%200%2C%20popup%20%3D%201%22%2C%20null%29%3B%0A%20%20%20%20%20alertSlide.arguments%20%3D%20%5Bself.image%2C%20self.label%2C%20%22%u0423%u0441%u0442%u0430%u043D%u043E%u0432%u043B%u0435%u043D%20%22%20+%20lab%20+%20%22%20%u043F%u0440%u043E%u043A%u0441%u0438%3A%20%22%20+%20sel%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%202000%20%29%3B%20%20%20%20%20%0A%20%20%7D%3B%0A%20%20%20%0A%7D%29%28%29%3B%20%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отредактировано bunda1 (10-11-2013 01:03:04)

Отсутствует

 

№711410-11-2013 01:36:17

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: Firefox 24.0

Re: Custom Buttons

bunda1
Вот это классно, спасибо за кнопку.


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№711510-11-2013 01:53:23

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3149
UA: Firefox 28.0

Re: Custom Buttons

bunda1
Действительно классно, что появилась ещё одна замечательная кнопка. Спасибо.

Отсутствует

 

№711610-11-2013 02:44:01

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

Re: Custom Buttons

Вопрос к знающим людям, хочу рядом с выделенным текстом на странице показать подсказку с текстом, так будет правильно:

Выделить код

Код:

function showTooltip() {
   var tooltip = gBrowser.appendChild(document.createElement("tooltip"));
   tooltip.style.cssText = "font-weight: bold !important; color: red !important; font-size: 14px !important;";

   tooltip.label = "hhhhhhhhhhhhhh jjjjjj";
    
   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 ) }, 2500);
};
showTooltip();

И как в подсказку добавить иконку?

Отредактировано bunda1 (10-11-2013 03:54:34)

Отсутствует

 

№711710-11-2013 13:10:57

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

Re: Custom Buttons

Спасибо за отзывчивость, хотя не много не то, открывают подсказку у кнопки и я в этих xmlns кодах не разбираюсь.

Отсутствует

 

№711810-11-2013 15:29:13

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3149
UA: Firefox 28.0

Re: Custom Buttons

bunda1
Позволю себе напомнить №7433. Что ничего не получилось, или просто некогда? Ну очень хотелось бы такую кнопочку заполучить. :)

Отредактировано voqabuhe (10-11-2013 15:29:57)

Отсутствует

 

№711910-11-2013 15:32:34

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4338
UA: Firefox 25.0

Re: Custom Buttons

bunda1 пишет

хочу рядом с выделенным текстом на странице показать подсказку с текстом, так будет правильно:

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

bunda1 пишет

И как в подсказку добавить иконку?

Выделить код

Код:

var tooltip = document.createElement("tooltip");
    tooltip.setAttribute("align", "center");
    var label = document.createElement("label");
    label.setAttribute("value", "Some image:");
    tooltip.appendChild(label);
    var image = document.createElement("image");
    image.setAttribute("src", "http://forum.mozilla-russia.org/img/browsers/firefox35.png");
    tooltip.appendChild(image);
    gBrowser.appendChild(tooltip);

Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№712010-11-2013 15:47:47

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

Re: Custom Buttons

Infocatcher
Вот спасибо ты просто гений. А как иконку поставить перед текстом на подсказке?

Добавлено 10-11-2013 15:52:25
Сам разобрался, надо добавить tooltip.setAttribute("orient", "horizontal");

Выделить код

Код:

function showTooltip() {
   var tooltip = document.createElement("tooltip");
   tooltip.style.cssText = "color: red !important; font-weight: bold !important; font-size: 14px !important;";
   tooltip.setAttribute("align", "center");
   tooltip.setAttribute("orient", "horizontal");
   var label = document.createElement("label");
   label.setAttribute("value", "Some image:");
   tooltip.appendChild( label );
    
   var image = document.createElement("image");
   image.setAttribute("src", "http://forum.mozilla-russia.org/img/browsers/firefox35.png");
   tooltip.insertBefore( image, tooltip.lastChild );
   gBrowser.appendChild( tooltip );
    
   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 ) }, 2500);
};
showTooltip();

Отредактировано bunda1 (10-11-2013 15:52:25)

Отсутствует

 

№712110-11-2013 16:17:54

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

Re: Custom Buttons

voqabuhe пишет

bunda1
Позволю себе напомнить №7433. Что ничего не получилось, или просто некогда? Ну очень хотелось бы такую кнопочку заполучить. :)

А я думал что ты забил об этом :)
Ну вообще то пару раз пытался сделать но с наскока не получилось а потом времени не было. Сложность в получении закладки с боковой панели по клику. Попробую на следующей недели.

Отредактировано bunda1 (10-11-2013 16:18:11)

Отсутствует

 

№712210-11-2013 16:20:02

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4338
UA: Firefox 25.0

Re: Custom Buttons

bunda1 пишет

Сам разобрался

Ну да, разве что проще добавлять через appendChild() в нужном порядке. :)

Добавлено 10-11-2013 16:29:28

bunda1 пишет

Сложность в получении закладки с боковой панели по клику.

Вот пример:
https://github.com/Infocatcher/Right_Li … ks.js#L310

Выделить код

Код:

addEventListener("click", function(e) {
    var trg = e.target;
    if(trg.localName != "treechildren")
        return;
    var tree = trg.parentNode;
    var tbo = tree.treeBoxObject;
    var row = {}, column = {}, part = {};
    tbo.getCellAt(e.clientX, e.clientY, row, column, part);
    if(row.value == -1)
        return;
    var node = tree.view.nodeForTreeIndex(row.value);
    if(!PlacesUtils.nodeIsContainer(node))
        return;
    e.preventDefault();
    e.stopPropagation();
    alert(node.title);
}, true);

Отредактировано Infocatcher (10-11-2013 16:29:28)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№712310-11-2013 16:33:21

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

Re: Custom Buttons

Infocatcher пишет

Ну да, разве что проще добавлять через appendChild() в нужном порядке. :)

Да так лучше:

Выделить код

Код:

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", self.label );
    
   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 ) }, 1500);
};
showTooltip();

Добавлено 10-11-2013 16:34:11

Infocatcher пишет

Вот пример:

Еще спасибо, это просто праздник какой-то !

Отредактировано bunda1 (10-11-2013 16:46:29)

Отсутствует

 

№712410-11-2013 16:49:09

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: Firefox 25.0

Re: Custom Buttons

Ребята, а может кто сделать кнопку "Временно разрешить" вместо стандартной, просто эта блямба у меня убрана из адресной строки, а иногда нужна для включения плагина.
0662aec771a3t.jpg


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№712510-11-2013 17:10:12

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

Re: Custom Buttons

Отсутствует

 

Board footer

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