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

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

№7603-02-2017 10:35:00

IAmSelf
Участник
 
Группа: Members
Зарегистрирован: 03-02-2010
Сообщений: 28
UA: Firefox 51.0

Re: [CB]Proxy

[firefox]
Firefox 51.0.1 x64. Кнопка перестала работать - при нажатии не происходит ничего.


Брел, брел, брел...

Отсутствует

 

№7703-02-2017 11:05:08

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

Re: [CB]Proxy

IAmSelf пишет

[firefox]
Firefox 51.0.1 x64. Кнопка перестала работать - при нажатии не происходит ничего.

24-01-2017 15:55:57

Отсутствует

 

№7804-02-2017 00:56:52

IAmSelf
Участник
 
Группа: Members
Зарегистрирован: 03-02-2010
Сообщений: 28
UA: Firefox 51.0

Re: [CB]Proxy

bunda1 пишет
IAmSelf пишет

[firefox]
Firefox 51.0.1 x64. Кнопка перестала работать - при нажатии не происходит ничего.

24-01-2017 15:55:57

Спасибо!


Брел, брел, брел...

Отсутствует

 

№7904-02-2017 13:01:25

boris997
Участник
 
Группа: Members
Зарегистрирован: 25-03-2009
Сообщений: 91
UA: Firefox 51.0

Re: [CB]Proxy

я отключил xpinstall.signatures.required, перезагрузился, скачал файл, но опять-  не может быть установлено т.к. не было проверено Firefox 51.0.1 x64.

Отредактировано boris997 (04-02-2017 13:02:06)

Отсутствует

 

№8004-02-2017 13:33:14

IAmSelf
Участник
 
Группа: Members
Зарегистрирован: 03-02-2010
Сообщений: 28
UA: Firefox 51.0

Re: [CB]Proxy

boris997 пишет

я отключил xpinstall.signatures.required, перезагрузился, скачал файл, но опять-  не может быть установлено т.к. не было проверено Firefox 51.0.1 x64.

У меня еще раньше было сделано это:
https://forum.mozilla-russia.org/viewtopic.php?id=70326
так что все установилось без проблем. Попробуйте...


Брел, брел, брел...

Отсутствует

 

№8104-02-2017 13:48:26

boris997
Участник
 
Группа: Members
Зарегистрирован: 25-03-2009
Сообщений: 91
UA: Firefox 51.0

Re: [CB]Proxy

IAmSelf пишет
boris997 пишет

я отключил xpinstall.signatures.required, перезагрузился, скачал файл, но опять-  не может быть установлено т.к. не было проверено Firefox 51.0.1 x64.

У меня еще раньше было сделано это:
https://forum.mozilla-russia.org/viewtopic.php?id=70326
так что все установилось без проблем. Попробуйте...

спасибо-все ок

Отсутствует

 

№8222-04-2017 18:19:35

slalalavka
Участник
 
Группа: Members
Зарегистрирован: 22-04-2017
Сообщений: 4
UA: Firefox 48.0

Re: [CB]Proxy

Чудесная кнопка но не прописывает для https адреса. (network.proxy.ssl )
что бы применить для https приходится долгим нажатием на иконку вызвать меню и просто нажать ОК.

или это только у меня так?

Отсутствует

 

№8322-04-2017 18:49:27

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

Re: [CB]Proxy

slalalavka пишет

Чудесная кнопка но не прописывает для https адреса. (network.proxy.ssl )

А пример https адреса можно?

Отсутствует

 

№8422-04-2017 23:26:56

slalalavka
Участник
 
Группа: Members
Зарегистрирован: 22-04-2017
Сообщений: 4
UA: Firefox 48.0

Re: [CB]Proxy

bunda1 пишет

А пример https адреса можно?

ну хотя бы этот https://2ip.ru/privacy или любой https://
p.s юзаю firefox 47.0.1

Отредактировано slalalavka (08-05-2017 19:56:33)

Отсутствует

 

№8508-05-2017 19:54:52

slalalavka
Участник
 
Группа: Members
Зарегистрирован: 22-04-2017
Сообщений: 4
UA: Firefox 48.0

Re: [CB]Proxy

может кто то допилит под https ?

Отсутствует

 

№8624-05-2017 19:34:07

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

Re: [CB]Proxy

bunda1
кнопка перестала работать на ff53 и 52esr

Отсутствует

 

№8725-05-2017 00:51:41

IAmSelf
Участник
 
Группа: Members
Зарегистрирован: 03-02-2010
Сообщений: 28
UA: Firefox 53.0

Re: [CB]Proxy

Inko7 пишет

bunda1кнопка перестала работать на ff53 и 52esr

53.0.3 x64 - работает...


Брел, брел, брел...

Отсутствует

 

№8825-05-2017 08:52:00

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

Re: [CB]Proxy

IAmSelf пишет

53.0.3 x64 - работает...

странно
на 52.1.2esr и по ЛКМ и по ПКМ выскакивает меню кнопки
новых кнопок никаких не ставил
пробовал обновиться на custom_buttons-0.0.5.8.9-fixed4-signed.xpi - то же самое
консоли чисто
куда копать?

Отсутствует

 

№8925-05-2017 09:09:00

IAmSelf
Участник
 
Группа: Members
Зарегистрирован: 03-02-2010
Сообщений: 28
UA: Firefox 53.0

Re: [CB]Proxy

Честно, не знаю. Я просто юзер. Все, что могу посоветовать - обратиться в ЛС к bunda1


Брел, брел, брел...

Отсутствует

 

№9025-05-2017 14:47:57

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

Re: [CB]Proxy

Inko7 пишет

кнопка перестала работать на ff53 и 52esr

А какой вариант кнопки? У меня на w7х64 фф53х64 работает эта

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

Выделить код

Код:

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/ico%3Bbase64%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Dg4MPg4ODD4ODgw+Dg4MPg4ODD4ODgw+Dg4MPg4ODD4ODgwcnJyYeVlZUKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////wAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA/////////////////////8%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%2C%20%u043E%u0442%2010.10.2016.%0A%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%3De%3D%3E%20%7B%0A%20%20%20%0A%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....%0A%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29openMenuPopup%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%0A%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....%20%20%20%20%0A%20%20%20if%20%28%20e.button%20%3D%3D%201%20%29%20%0A%20%20%20%20%20%20%20%20cbu.getPrefs%28%22CB.Proxy.connectionsInTab%22%29%20%3F%20openConnectionsInTab%28%29%20%3A%20openConnections%28%29%3B%0A%7D%3B%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.onmouseover%20%3D%28%29%3D%3E%20%7B%0A%20%20%20var%20arr%20%3D%20%5B%22%u0411%u0435%u0437%20%u043F%u0440%u043E%u043A%u0441%u0438%22%2C%20%22%u0420%u0443%u0447%u043D%u0430%u044F%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%22%2C%20%22%u0410%u0432%u0442%u043E%u043C%u0430%u0442%u0438%u0447%u0435%u0441%u043A%u0430%u044F%20%u0447%u0435%u0440%u0435%u0437%20URL%22%2C%20%22%22%2C%20%22%u0410%u0432%u0442%u043E%u043C%u0430%u0442%u0438%u0447%u0435%u0441%u043A%u0430%u044F%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%22%2C%20%22%u0421%u0438%u0441%u0442%u0435%u043C%u043D%u0430%u044F%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%22%5D%3B%0A%20%20%20var%20str%20%3D%20arr.map%28%28m%2C%20i%29%3D%3E%20%28cbu.getPrefs%28%22network.proxy.type%22%29%20%3D%3D%20i%20%3F%20%22%u25CF%22%20%3A%20%22%20%20%22%29%20+%20m%29.filter%28m%3D%3E%20/%5CS/.test%28m%29%29.join%28%22%5Cn%22%29%3B%0A%20%20%20%20%20%0A%20%20%20this.tooltipText%20%3D%20%22Proxy%20+%22%20%0A%20%20%20%20%20%20+%20%22%5Cn%22%20+%20str%0A%20%20%20%20%20%20+%20%22%5Cn%5Cn%u041B%3A%20M%u0435%u043D%u044E%20%u043A%u043D%u043E%u043F%u043A%u0438%20%5Cn%u0421%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%0A%20%20%20%20%20%20+%20%22%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%22%20%0A%20%20%20%20%20%20+%20%22%5CnIP%3A%20%22%20+%20Services.prefs.getComplexValue%28%22network.proxy.http%22%2C%20Ci.nsISupportsString%29.data%0A%20%20%20%20%20%20+%20%22%5Cn%u041F%u043E%u0440%u0442%3A%20%22%20+%20cbu.getPrefs%28%22network.proxy.http_port%22%29%0A%20%20%20%20%20%20+%20%22%5CnURL%3A%20%22%20+%20Services.prefs.getComplexValue%28%22network.proxy.autoconfig_url%22%2C%20Ci.nsISupportsString%29.data%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%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%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%7B%20label%3A%20%22%u0411%u0435%u0437%20%u043F%u0440%u043E%u043A%u0441%u0438%22%2C%20value%3A%200%2C%20radio%3A%20%27%27%7D%2C%0A%20%20%20%7B%20label%3A%20%22%u0420%u0443%u0447%u043D%u0430%u044F%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%20%u0441%u0435%u0440%u0432%u0438%u0441%u0430%20%u043F%u0440%u043E%u043A%u0441%u0438%3A%22%2C%20value%3A%201%2C%20radio%3A%20%27%27%7D%2C%0A%20%20%20%7B%20label%3A%20%22URL%20%u0430%u0432%u0442%u043E%u043C%u0430%u0442%u0438%u0447%u0435%u0441%u043A%u043E%u0439%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u0441%u0435%u0440%u0432%u0438%u0441%u0430%20%u043F%u0440%u043E%u043A%u0441%u0438%22%2C%20value%3A%202%2C%20radio%3A%20%27%27%7D%2C%20%0A%20%20%20%7B%20label%3A%20%22%u0410%u0432%u0442%u043E%u043C%u0430%u0442%u0438%u0447%u0435%u0441%u043A%u0438%20%u043E%u043F%u0440%u0435%u0434%u0435%u043B%u044F%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%20%u0434%u043B%u044F%20%u044D%u0442%u043E%u0439%20%u0441%u0435%u0442%u0438%22%2C%20value%3A%204%2C%20radio%3A%20%27%27%7D%2C%0A%20%20%20%7B%20label%3A%20%22%u0418%u0441%u043F%u043E%u043B%u044C%u0437%u043E%u0432%u0430%u0442%u044C%20%u0441%u0438%u0441%u0442%u0435%u043C%u043D%u044B%u0435%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u043F%u0440%u043E%u043A%u0441%u0438%22%2C%20value%3A%205%2C%20radio%3A%20%27%27%7D%2C%20%0A%20%20%20%7B%20separator%3A%20%27%27%7D%2C%0A%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%27CB.Proxy.inContextMenu%27%2C%20checkbox%3A%20%27%27%7D%2C%0A%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%27CB.Proxy.connectionsInTab%27%2C%20checkbox%3A%20%27%27%7D%2C%0A%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%27CB.Proxy.reset%27%2C%20checkbox%3A%20%27%27%7D%0A%20%20%20%5D%3B%0Avar%20menuPopup%20%3D%20self.appendChild%28%20document.createElement%28%22menupopup%22%29%20%29%3B%0AmenuPopup.setAttribute%28%22onclick%22%2C%20%22event.stopPropagation%28%29%22%29%3B%0A%0Afunction%20openMenuPopup%28%29%20%7B%0A%20%20%20menuPopup.textContent%20%3D%20%22%22%3B%0A%20%20%0A%20%20%20array.forEach%28m%3D%3E%20%7B%0A%20%20%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%20%20%20var%20mItem%20%3D%20menuPopup.appendChild%28document.createElement%28%22menuitem%22%29%29%0A%20%20%20%20%20%20mItem.setAttribute%28%22label%22%2C%20m.label%29%3B%0A%0A%20%20%20%20%20%20if%20%28%20%22radio%22%20in%20m%20%29%20%7B%20%0A%20%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%22type%22%2C%20%22radio%22%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%27checked%27%2C%20cbu.getPrefs%28%22network.proxy.type%22%29%20%3D%3D%20m.value%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20mItem.onclick%20%3D%28%29%3D%3E%20cbu.setPrefs%28%22network.proxy.type%22%2C%20m.value%29%3B%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%7D%20%20%0A%20%20%20%20%20%20if%20%28%20%22checkbox%22%20in%20m%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%27type%27%2C%20%27checkbox%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20mItem.setAttribute%28%27checked%27%2C%20cbu.getPrefs%28m.value%29%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20mItem.onclick%20%3D%28%29%3D%3E%20cbu.setPrefs%28m.value%2C%20%21cbu.getPrefs%28m.value%29%29%3B%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%7D%29%3B%0A%20%20%20menuPopup.showPopup%28self%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%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...................%20%20%0Afunction%20openConnections%28%29%20%7B%0A%20%20%20self.win%20%26%26%20self.win.close%28%29%3B%0A%20%20%20self.win%20%3D%20openDialog%28%22chrome%3A//browser/content/preferences/connection.xul%22%2C%20%22Proxy%22%2C%20%22centerscreen%22%29%3B%0A%20%20%20%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%20self.win.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%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%29%3B%0A%20%20%20%20%20%20try%20%7B%20self.win.close%28%29%20%7D%20catch%28e%29%20%7B%7D%3B%20%0A%20%20%20%7D%2C%20true%29%3B%0A%7D%3B%0A%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%28e.type%2C%20c%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%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%20s%20%3D%20%22network.proxy.type%22%3B%0Afunction%20toggleImage%28%29%20%7B%0A%20%20%20var%20icon%20%3D%20self.ownerDocument.getAnonymousElementByAttribute%28self%2C%20%22class%22%2C%20%22toolbarbutton-icon%22%29%3B%0A%20%20%20switch%28%20cbu.getPrefs%28s%29%20%29%20%7B%0A%20%20%20%20%20%20case%200%3A%20icon.src%20%3D%20self.image%3B%20break%3B%20%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20case%201%3A%20icon.src%20%3D%20%27data%3Aimage/ico%3Bbase64%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zj48Pc4+TD3OPkw9zk5MPc5OTD3OTkw9zk5MPc4+TD2+TjwcHQ0oeCo6gKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////wAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA/////////////////////8%3D%27%3B%20break%3B%0A%20%20%20%20%20%20case%202%3A%20icon.src%20%3D%20%27data%3Aimage/ico%3Bbase64%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XKxMPFy8TDxcvEw8XLxMPFy8PDxcvEw8bLw8PFy8PDxMrCwa27q4d4lXQKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////wAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA/////////////////////8%3D%27%3B%20break%3B%0A%20%20%20%20%20%20case%204%3A%20icon.src%20%3D%20%27data%3Aimage/ico%3Bbase64%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bEysPGxMvDxsTLw8bEy8PFw8vDxsTLw8XEy8PFw8vDxMLKwbGru4eAdJUKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////wAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA/////////////////////8%3D%27%3B%20break%3B%0A%20%20%20%20%20%20case%205%3A%20icon.src%20%3D%20%27data%3Aimage/ico%3Bbase64%2CAAABAAEAICAAAAEAIACoEAAAFgAAACgAAAAgAAAAQAAAAAEAIAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAgAAAAKAAAADgAAABAAAAASAAAAFAAAABYAAAAWAAAAGAAAABoAAAAcAAAAHAAAAB4AAAAeAAAAHAAAABwAAAAaAAAAGAAAABYAAAAWAAAAFAAAABIAAAAQAAAADAAAAAoAAAAIAAAAAgAAAAAAAAAAAAAAALCEegS1jIM+z7izXs+5tGDOuLNgzrezYM23smLNuLJizbiyYsy3smLNuLNizLeyYsu2sWLLtrFiyrWwYsq1sGLKtK9iybOvYsmzrmLJtK9iybSvYsq0r2LKs69iyrOvYsq0r2DLtLBgzLayYM21sF60jII+sIR6BAAAAAAAAAAAsIR6MO7p6OX59/j/+ff4//n3+P/59/j/+ff3//n29//49/f/+fb2//n29//59vb/+fb2//j19v/39fT/9/T1//fz9P/38vL/9vHy//Xv8P/07u//8+3u//Lr7f/x6ev/7+jp//Dl5//u5Ob/7eLk/+bd3eWwhHowAAAAAAAAAADCo5xA9/b3//r4+f/69/j/+fb4//n3+P/59vb/+PX3//j19v/59PX/+PT2//f08//48/T/9/P0//fz8v/38vT/9/Hy//bw8P/17u//9Ozt//Pr7P/y6uv/8ejq//Hm6P/v5Ob/7+Hk/+3f4v/s3eD/7eLk/8Kim0AAAAAAAAAAAMWnoUL39vb/76aa//FwWf/vcFj/7W9Y/+xvV//qblf/6WxW/+drVf/la1X/42tU/+JpU//haFP/32dR/95nUf/cZlD/2mVP/9hkTv/WY07/1WJN/9NhTP/RX0v/z15K/81dSf/MW0j/ylpH/9OTi//t4+X/xaefQgAAAAAAAAAAxaegQPf19v/yg3D/+zYS//g1Ev/2NBH/9DQQ//EyEP/vMQ//7TAO/+s5Gf/oMAz/5i4K/+MsCv/iKgj/3yoI/90pB//aKAb/2CcF/9YoB//UKQj/0igI/88oCP/NKAj/yycH/8kmCP/HJgj/z3Zp/+3j5f/Fp6FAAAAAAAAAAADFp6BA9/X2//KHdP/8Phr/+TsY//c5Fv/1OBX/8TcU//A0Ev/uMhD/9qaX/+gzEP/mMAz/4ywK/+IqCP/fKgj/3SkH/9ooBv/YJwX/1iYG/9czFf/VNRf/0zUX/9A2GP/ONRf/zDQX/8szF//RfnL/7uPl/8WookAAAAAAAAAAAMaooED39fb/8ot6//xHJv/6RST/90Qj//VEIf/yQiD/8T8e/+9EJP/+9vT/72lQ/+c5F//kLwz/4ioI/98qCP/dKQf/2igG/9gnBf/VJQX/1S0O/9hDJ//WQyf/1EMn/9JCJ//QQif/zkIo/9OFev/u4+b/x6miQAAAAAAAAAAAxqihQPf19v/ykYD//FIz//pRMf/4UDD/9U4u//NMLP/xSiv/9IJt//78+//2rqD/6UQk/+U5GP/jNRT/5lk+/90pB//aKAb/2CcF/9UlBf/TJAT/1j8i/9lQN//WUTj/1VA4/9NROP/SUTj/1Y2C/+/k5v/HqaJAAAAAAAAAAADFqKI+9/X2//KXhv/8XT//+ls+//haPP/2WTr/9Fc5//NUN//6wrf/9q2g//zr5//qTzP/50st/+x0Xv/xpZf/3SkH/9ooBv/YJwX/1SUF/9MkBP/SJgb/2lY9/9pfSP/YX0n/115I/9ZeR//XlIr/7+Tn/8iqoz4AAAAAAAAAAMapoz739vb/8puN//1nTP/6Zkr/+GVJ//ZjR//1YUb/9GRJ//3z8f/walD/++Db/+9+aP/pWD3/9sK4//vp5v/dKwn/2igG/9gnBf/VJQX/0yQE/9EkA//SMhT/3WxX/9ttWP/abVj/2W1Y/9qbk//v5ef/yKulPgAAAAAAAAAAx6qjPvf29//yoZP//HFY//twV//5b1X/925U//VsUv/3loT/+9fQ//BoTv/2sKP/9rit/+tqUf/98/H/+tzX/+RbQP/aKAb/2CcF/9UlBf/TJAT/0SQD/88jAv/WTTP/33to/917af/ce2n/3KKb//Dl5//Iq6U+AAAAAAAAAADIq6M8+Pf3//Kxpv/+7er//uzp//7s6f/6rZ//9ndf//vLwv/3rJ//8XJa//KIdP/86+j/8p2N//jSy//ukYD/+NTN//Gwo//wr6P/76+j/+6uo//urqL/7a2i/+yvo//z0Mr/89HL/+agk//dqaP/8OXn/8mspjwAAAAAAAAAAMmspTz49/f/8q6i//2Vgv/7lIH//K2e//3h3P/3hG///vTz//WKd//yfWj/8Xxm//zo5P/75+P/86ud/+ZZP//odF7/53Nd/+VzXf/kcV3/4nFc/+FxW//fcFv/3m9a/91yXv/stqz/56OX/+Cwq//w5ej/yq2mPAAAAAAAAAAAyKymPPj3+P/zsqf//ZF9//yQfP/6kXz//vXz//q3qv/84t3/9Yl2//SIdP/yh3P/+MK4//78/P/vjHn/6GtT/90pB//aKAb/2CcF/9UlBf/TJAT/0SQD/88jAv/MIgL/ySAB/9RROf/opZn/4bez//Dm6f/LraY8AAAAAAAAAADJrKc8+ff4//O3rf/9nIr//JuJ//qaiP/819D//vf2//rCuP/2lIL/9JOB//OSgP/zpJX/+uDb/++OfP/ujHn/3jUU/9ooBv/YJwX/1SUF/9MkBP/RJAP/zyMC/8wiAv/JIAH/xx8A/9+CcP/jv7v/8ebp/8qwqDwAAAAAAAAAAMquqDr5+Pj/8720//2nl//8pZX/+6ST//u9sf/+/v7/+Kqc//afj//1no7/9J2N//Oci//0s6j/8ZmJ/++Yh//lXUP/2igG/9gnBf/VJQX/0yQE/9EkA//PIwL/zCIC/8kgAf/HHwD/yCoN/+Czrf/x5un/y6+pOgAAAAAAAAAAy6+oOvn4+f/zwrr//bGi//ywov/7rqH/+q+h//3m4v/4q53/+Kqb//apm//1qJr/9KaY//Oml//ypJb/8aOU/+yOff/aKAb/2CcF/9UlBf/TJAT/0SQD/88jAv/MIgL/ySAB/8cfAP/FHwD/znRn//Ln6f/Nr6k6AAAAAAAAAADLsKg6+vj5//TIwf/9u7D//Lqu//u6rf/6uaz/+sC1//m2qf/4tan/97Sn//aypv/1sqX/9LGk//Svov/zrqH/8a2h/95DJv/YJwX/1SUF/9MkBP/RJAP/zyMC/8wiAv/JIAH/xx8A/8UfAP/OcmX/8efp/82vqjoAAAAAAAAAAMuxqjj6+fn/9M7I//3GvP/9xbr//MS5//vDuP/7wrf/+sG2//m/tf/4v7T/976z//e9sv/1vLH/9bqv//S5rv/zuK3/6Hpl/9gnBf/VJQX/0yQE/9EkA//PIwL/zCIC/8kgAf/HHwD/xR8A/85yZf/x5un/zLGrOAAAAAAAAAAAzbGrOPr5+v/01M///dHJ//3QyP/8z8b//M7F//vNxP/6zMT/+svC//nKwf/4ycD/+Mi///fHvv/2xr3/9sW8//XDu//ytqr/2CoJ/9UlBf/TJAT/0SQD/88jAv/MIgL/ySAB/8cfAP/FHwD/znJl//Hm6f/Msqo4AAAAAAAAAADOsKs4+/n6//HX0//10Mn/9c/J//TPyf/0z8f/887I//PNx//zzMb/8svF//HLxP/xy8T/8MvE//DKw//vycP/78nC/+7Iwf/bcl//01ZA/9FVP//PVD7/zVI9/8tRPP/JUDv/x086/8ZNOf/RjIT/8OXo/8ywqTgAAAAAAAAAALqVjC76+Pj7+vj5//r3+P/59vj/+ff4//n29v/49ff/+PX2//n09f/49Pb/9/Tz//jz9P/38/T/9/Py//fy9P/38fL/9vHw//Xv7//07u7/9Ovs//Pq6//y6ev/8ebo/+/l5v/w4eX/7eDj/+3d4f/w5+n7upSMLgAAAAAAAAAAsIR6CtnFwIfu5eTB7+blw+7m5MPt5eTD7eTjw+zk48Ps4+LD6+Lhw+ri4cPq4eDD6eHgw+ng38Po4N7D6N/ew+fe3cPm3tzD5t3bw+Xc28Pl3NvD5tzbw+bc28Pm3NvD5tzbw+fb28Pm3NvD5trZwdbBvYewhHoKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////////////////////////////////wAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA/////////////////////8%3D%27%3B%20break%3B%0A%20%20%20%20%20%20default%3Aicon.src%20%3D%20self.image%3B%20%0A%20%20%20%7D%0A%7D%3B%20%20%0AtoggleImage%28%29%3B%0AgPrefService.addObserver%28s%2C%20toggleImage%2C%20false%29%3B%0AaddDestructor%28%28%29%3D%3E%20gPrefService.removeObserver%28s%2C%20toggleImage%29%20%29%3B%0A%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%20%3D%3D%20%22shutdown%22%20%26%26%20cbu.getPrefs%28%22CB.Proxy.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%28switchOffProxy%2C%20%22quit-application%22%2C%20false%29%3B%0A%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%28%28contextMenu%29%3D%3E%20%7B%0A%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%29%3B%0A%20%20menuitem.onclick%20%3D%28%29%3D%3E%20addNewProxy%28%29%3B%0A%20%20contextMenu.appendChild%28menuitem%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%20addDestructor%28%28%29%3D%3E%20menuitem.remove%28%29%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%20%0A%20%20addEventListener%28%22popupshowing%22%2C%20%28%29%3D%3E%7B%0A%20%20%20%20%20menuitem.hidden%20%3D%20%21cbu.getPrefs%28%22CB.Proxy.inContextMenu%22%29%20%7C%7C%20%21gContextMenu.isContentSelected%3B%20//%20%21gContextMenu.isTextSelected%3B%0A%20%20%7D%2C%20false%2C%20contextMenu%29%3B%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%28sel%29%20%7B%20%20%0A%20%20%20%20%20var%20selection%20%3D%20gBrowser.contentDocument.defaultView.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%20%22%22%29%3B%20//%20%u0443%u0434%u0430%u043B%u0438%u0442%u044C%20%u043F%u0440%u043E%u0431%u0435%u043B%u044B%2C%20%u0441%u043B%u0435%u0432%u0430%20%u0438%20%u0441%u043F%u0440%u0430%u0432%u0430%20%u043E%u0442%20%u0441%u0442%u0440%u043E%u043A%u0438%0A%20%20%20%20%20sel%20%3D%20sel.replace%28/%5Cs+/g%2C%22%3A%22%29%3B%20//%20%u0437%u0430%u043C%u0435%u043D%u0438%u0442%u044C%20%u043F%u0440%u043E%u0431%u0435%u043B%u044B%20%u0432%u043D%u0443%u0442%u0440%u0438%20%u0441%u0442%u0440%u043E%u043A%u0438%0A%0A%20%20%20%20%20//%20%u0435%u0441%u043B%u0438%20%u0442%u043E%u043B%u044C%u043A%u043E%20%u043F%u043E%u0440%u0442%20...%0A%20%20%20%20%20if%20%28%20sel.length%20%3C%206%20%26%26%20isFinite%28sel%29%20%29%20%7B%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%20var%20lab%20%3D%20%27%u043F%u043E%u0440%u0442%27%3B%0A%20%20%20%20%20%20%20%20%20%20cbu.setPrefs%28%22network.proxy.http_port%22%2C%20+sel%29%3B%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%7D%0A%20%20%20%20%20%0A%20%20%20%20%20//%20%u0435%u0441%u043B%u0438%20%u0442%u043E%u043B%u044C%u043A%u043E%20%u0430%u0434%u0440%u0435%u0441%20...%0A%20%20%20%20%20if%20%28%20sel.length%20%3E%205%20%26%26%20%21/%3A/.test%28sel%29%20%26%26%20sel.split%28%22.%22%29.length%20%3D%3D%204%20%29%20%7B%20%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%20cbu.setPrefs%28%22network.proxy.http%22%2C%20convertFromUnicode%28%22UTF-8%22%2C%20sel%29%29%3B%20%20%0A%20%20%20%20%20%20%20%20%20%20%7D%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...%20%20%20%20%0A%20%20%20%20%20if%20%28%20sel.length%20%3E%205%20%26%26%20/%3A/.test%28sel%29%20%26%26%20sel.split%28%22%3A%22%29.length%20%3D%3D%202%20%26%26%20sel.split%28%22.%22%29.length%20%3D%3D%204%20%29%20%7B%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%20%20%0A%20%20%20%20%20%20%20%20%20%20array.forEach%28%28str%29%3D%3E%20addNewProxy%28str%29%20%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%0A%20%20%20%20%20if%20%28%20lab%20%3D%3D%20undefined%20%29%20return%3B%0A%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%u0440%u044F%u0434%u043E%u043C%20%u0441%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u043C%20%u0442%u0435%u043A%u0441%u0442%u043E%u043C%20...%20%20%20%20%20%0A%20%20%20%20%20function%20showTooltip%28%29%20%7B%0A%20%20%20%20%20%20%20%20var%20tooltip%20%3D%20gBrowser.appendChild%28%20document.createElement%28%22tooltip%22%29%20%29%3B%0A%20%20%20%20%20%20%20%20tooltip.style.cssText%20%3D%20%22color%3A%20red%20%21important%3B%20font-weight%3A%20bold%20%21important%3B%20font-size%3A%2014px%20%21important%3B%20-moz-box-orient%3A%20horizontal%3B%20text-align%3A%20center%3B%22%3B%0A%20%20%20%0A%20%20%20%20%20%20%20%20var%20image%20%3D%20tooltip.appendChild%28%20document.createElement%28%22image%22%29%20%29%3B%0A%20%20%20%20%20%20%20%20image.setAttribute%28%22src%22%2C%20self.image%29%3B%0A%20%20%20%0A%20%20%20%20%20%20%20%20var%20label%20%3D%20tooltip.appendChild%28%20document.createElement%28%22label%22%29%29%3B%0A%20%20%20%20%20%20%20%20label.setAttribute%28%22value%22%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%29%3B%0A%0A%20%20%20%20%20%20%20%20var%20focused%20%3D%20document.commandDispatcher.focusedWindow%3B%0A%20%20%20%20%20%20%20%20var%20selection%20%3D%20focused.content.document.getSelection%28%29.getRangeAt%280%29.getBoundingClientRect%28%29%3B%0A%20%20%20%20%20%20%20%20var%20posX%20%3D%20focused.mozInnerScreenX%20+%20selection.left%3B%0A%20%20%20%20%20%20%20%20var%20posY%20%3D%20focused.mozInnerScreenY%20+%20selection.bottom%20-%205%3B%20%20%20%0A%0A%20%20%20%20%20%20%20%20tooltip.showPopup%28gBrowser%2C%20posX%2C%20posY%29%3B%0A%20%20%20%20%20%20%20%20setTimeout%28%28%29%3D%3E%20gBrowser.removeChild%28tooltip%29%2C%203000%29%3B%0A%20%20%20%20%20%7D%3B%0A%20%20%20%20%20showTooltip%28%29%3B%20%20%20%20%0A%20%20%7D%3B%0A%20%20%20%0A%7D%29%28document.getElementById%28%22contentAreaContextMenu%22%29%29%3B%20%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

Отредактировано Ultima2m (25-05-2017 14:48:49)

Отсутствует

 

№9125-05-2017 20:54:33

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

Re: [CB]Proxy

Ultima2m
ё-маё, что-то я туплю, на версию сразу не глянул...
имею "// Proxy, от 25.02.2016."
поставил из первого поста "// Proxy, от 20.08.2016." - всё работает!!!
сорри за беспокойство, всем спасибо

Отсутствует

 

№9218-09-2017 20:58:52

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 596
UA: Firefox 43.0

Re: [CB]Proxy

bunda1
А возможно сделать упрощенную версию кнопки Proxy?

Оставить только:
    1. Левый клик по кнопке: Переключать
        a. "Без прокси" ("network.proxy.type", 0)
        b. "URL автоматической настройки сервиса прокси" ("network.proxy.type", 2).
    2. Длинный левый клик по кнопке: Открыть настройки прокси в окне.
    3. Чтобы при закрытии браузера автоматом переключалось на режим "Без прокси".
    4. Показывалась соответствующая иконка кнопки при старте баузера или при переключении "С прокси" - "Без прокси".

А всё остальное убрать.


«The Truth Is Out There»

Отсутствует

 

№9318-09-2017 23:40:28

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 596
UA: Firefox 43.0

Re: [CB]Proxy

unter_officer пишет

А возможно сделать упрощенную версию кнопки Proxy?
Оставить только:
    1. Левый клик по кнопке: Переключать
        a. "Без прокси" ("network.proxy.type", 0)
        b. "URL автоматической настройки сервиса прокси" ("network.proxy.type", 2).
    2. Длинный левый клик по кнопке: Открыть настройки прокси в окне.
    3. Чтобы при закрытии браузера автоматом переключалось на режим "Без прокси".
    4. Показывалась соответствующая иконка кнопки при старте баузера или при переключении "С прокси" - "Без прокси".
А всё остальное убрать.

Отбой.
Сам сделал.

Отредактировано unter_officer (18-09-2017 23:42:02)


«The Truth Is Out There»

Отсутствует

 

№9407-10-2017 23:48:35

slalalavka
Участник
 
Группа: Members
Зарегистрирован: 22-04-2017
Сообщений: 4
UA: Firefox 48.0

Re: [CB]Proxy

уважаемый bunda1 подпилите под https пожалуста. а то приходится делать долгий клик по кнопке после открывается окно настроек и просто нажать ОК
и тогда всё работает

Отсутствует

 

№9504-05-2018 09:10:54

AlexSi
Участник
 
Группа: Members
Зарегистрирован: 23-11-2017
Сообщений: 3
UA: Firefox 56.0

Re: [CB]Proxy

сижу до сих пор на 56 версии FF. Решил поэкспериментировал с дополнениями на 59 версии, переходить можно :) В том числе Custom Buttons поставил. То что  нужно из кнопок поставил, а вот Прокси не хочет работать. А очень нужно. Ибо каждый раз лезть в настройки лень. Есть ли рабочая кнопка под FF59+ ?

Отсутствует

 

№9608-05-2018 19:48:56

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

Re: [CB]Proxy

AlexSi пишет

Есть ли рабочая кнопка под FF59+ ?

Proxy

Отсутствует

 

№9708-05-2018 20:10:14

AlexSi
Участник
 
Группа: Members
Зарегистрирован: 23-11-2017
Сообщений: 3
UA: Firefox 56.0

Re: [CB]Proxy

bunda1, спасибо, рабаотает Как я так внимательно смотрел что даты не увидел правки :(

Отредактировано AlexSi (08-05-2018 20:10:52)

Отсутствует

 

№9808-05-2018 20:48:33

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

Re: [CB]Proxy

AlexSi пишет

bunda1, спасибо, рабаотает Как я так внимательно смотрел что даты не увидел правки :(

Я только сегодня выложил исправленную версию :)

Отсутствует

 

№9912-05-2018 23:58:50

adidharma
 
 
Группа: Members
Зарегистрирован: 15-08-2011
Сообщений: 754
UA: Firefox 59.0

Re: [CB]Proxy

bunda1
А можете подправить этот вариант (c 3-мя переключениями): №50 :blush:

Добавлено:
bunda1
Огромное спасибо! :beer:

Отредактировано adidharma (15-05-2018 15:59:30)


pcxFirefox - лучшая сборка Лисы!

Отсутствует

 

№10015-05-2018 09:26:23

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

Re: [CB]Proxy

adidharma пишет

bunda1
А можете подправить этот вариант (c 3-мя переключениями): №50 :blush:

Выделить код

Код:

// Proxy, от 15.05.2018.


// Настройка функций кликов мыши для кнопки ...................
this.onmousedown =e=> {
   
   this.onmouseup =e=> {                  // левый клик
        if ( e.button ) return;
        clearTimeout(self.timer);           

        switch( cbu.getPrefs("network.proxy.type") ) {
           case 0:  var data = 1; break;            
           case 1:  var data = 2; break; 
           case 2:  var data = 0; break;
           default: var data = 0; 
        }
        cbu.setPrefs("network.proxy.type", data);  
   }

   if ( e.button == 0 )                  // длинный левый клик
        self.timer = setTimeout(()=>{     
           self.onmouseup = '';
           cbu.getPrefs("CB.Proxy.connectionsInTab") ? openConnectionsInTab() : openConnections();
        }, 500);
   
   if ( e.button == 2 )                  // правый клик
        menuPopup.showPopup(self, -1, -1, "popup", "bottomleft", "topleft");
};
this.oncontextmenu = e => e.detail == 2 && !menuPopup.hidePopup()
     || e.ctrlKey || !!menuPopup.openPopup(this, "after_start");



// Подсказка для кнопки ...................
this.onmouseover =()=> {
   this.tooltipText = "Proxy \nЛ: Переключить прокси \nДЛ: Открыть настройки прокси"
                    + "\nП: Mеню кнопки \nДП: CB меню \n\nТекущие настройки прокси: " 
                    + "\nIP: " + cbu.getPrefs("network.proxy.http")
                    + "\nПорт: "+ cbu.getPrefs("network.proxy.http_port");                                                    
};



// Создать меню для кнопки ...................
var array = [
   { label: "Добавление прокси в контекстом меню", value: 'CB.Proxy.inContextMenu' },
   { label: "Открывать настройки прокси как вкладку", value: 'CB.Proxy.connectionsInTab' },
   { label: "Переключать на режим 'Без прокси' при закрытии браузера ", value: 'CB.Proxy.reset' }    
];

var menuPopup = document.getElementById('mainPopupSet').appendChild(document.createElement("menupopup"));
array.forEach((m)=> {
   var mItem = document.createElement("menuitem");
   mItem.setAttribute("label", m.label);
   mItem.setAttribute('type', 'checkbox');
   mItem.setAttribute('checked', cbu.getPrefs(m.value) );
   mItem.onclick =()=> cbu.setPrefs(m.value, !cbu.getPrefs(m.value));  
   menuPopup.appendChild(mItem);
});
addDestructor(()=> menuPopup.remove() );


// Функция открывает настройки прокси в окне ...................  
function openConnections() {
   self.win && self.win.close();
   self.win = openDialog("chrome://browser/content/preferences/connection.xul", "Proxy", "centerscreen");
   
   // добавить атрибут "prefwindow"
   self.win.addEventListener("load", function f(e) {
       this.removeEventListener("load", f, true); 
       e.target.documentElement.setAttribute("type", "prefwindow");
   }, true);

   // закрыть настройки прокси по клику на странице 
   gBrowser.addEventListener("click", function c() {
      this.removeEventListener("click", c);
      try { self.win.close() } catch(e) {}; 
   }, true);
};



// Функция открывает настройки прокси в вкладке ...................
function openConnectionsInTab() { 
   var connections = gBrowser.getBrowserForTab( gBrowser.selectedTab = gBrowser.addTab("chrome://browser/content/preferences/connection.xul") ); 
          
   // oбработчик ждет пока откроется прокси, удаляет себя и добавляет атрибут
   connections.addEventListener("pageshow", function c(e) {         
      this.removeEventListener(e.type, c);         
      e.originalTarget.documentElement.setAttribute("type", "prefwindow");
   })   
};



// Установливать нужную иконку кнопки при старте баузера или при изменениях в 'about:config' ...................
var s = "network.proxy.type";
function toggleImage() {
   var icon = self.ownerDocument.getAnonymousElementByAttribute(self, "class", "toolbarbutton-icon");
   switch( cbu.getPrefs(s) ) {
      case 0: icon.src = self.image; break;          
      case 1: icon.src = '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='; break;
      case 2: icon.src = 'data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAQAAAAAIAAcHQAAYGGkAEBBfAAEBKAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAABAQEAAgICAAICAgACAgMBAQEAAAEBJAA6OrQAf3/8ALCw/gCiov8AXl7tABkZewAAAAsAAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAEBAAAAAAMAOTm7AIOD/wCjo/0A1tb9AOHh/gCcnP4AY2P/ABISZwAAAAAAAAAAAAEBAQAAAAAAGBgTACgoLwAmJjEAJiYnADIyXgBWVv8Adnb8AJ2d/gCxsf8Aycn/AJeX+wBycv8ASkrGAAACAAABAQMABwcbAAAADwBfX34A+fn/AOHh/ADj4/8AoaH/AFJS/gB1df8Aq6v/ALm5/wDT0/8Ap6f+AHNz/wBeXu0AFRUdAAAAAAABAQEAAAABAAUFEQCjo7YAzs72ANnZ/wCfn/4AY2P/AHl5/wCzs/8A5ub/ALu7/wCcnP4AcHD/AFNT7AAVFRwAICAmAHd3mQB6eqIAdXWcAHl5nwClpeAAyMj/AK2t/gB9ff8An5//ANXV/wDh4f8A1tb/AJ6e+gB0dP8AUFC7AAEGAABcXH4A////AP39/AD///8A////AP///wD///8A////ALOz/wCnp/8A4eH/AObm/wDPz/4ArKz/AI2N/AAhIT8AAAAAAFxcfwDd3f8Aa2v4AGpq+wBycvwAeHj+AHt7/wB/f/8Ac3P/AHNz/wCiov8AwMD+ALS0/wCEhOUAKSlFAAAAAAABAQIAXl5/ANjY/wBGRvwARkb/AFJS/wBaWv8AX1//AF9f/wBfX/8AWVn/AFRU/wBRUfsAvr7/AGNjiAAAAAAABAQGAAAAAABeXoAA2tr/AFtb/ABeXv8AbGz/AHV1/wB6ev8Ae3v/AHd3/wBxcf8Aamr/AFtb+wDS0v8AbW2JAAAAAAADAwQAAAAAAF5egADa2v8AZGT8AGlp/wB5ef8AhYX/AI2N/wCTk/8AlJT/AJKS/wCPj/8AfX37AM/P/wBqaogAAAAAAAMDBAAAAAAAXl6AANra/wBycvwAf3//AJOT/wClpf8AsLD/ALa2/wC1tf8Ar6//AKqq/wCTk/sA0ND/AGpqiAAAAAAAAwMEAAAAAABeXn8A2dn/AJGR/ACnp/8At7f/AMXF/wDQ0P8A09P/ANHR/wDLy/8AyMj/AK2t+wDR0f8AaWmHAAAAAAADAwQAAAAAAF5efwDY2P8AkpL5AKWl/ACurvwAuLj8AL+//ADCwvwAwMD8AL29/AC8vPwAo6P4ANDQ/wBqaokAAAAAAAMDBAAAAAAAV1d3APf3/wDa2vwA3d3/AOHh/wDk5P8A5ub/AOTk/wDh4f8A39//ANra/wDT0/sA+fn/AGNjfwAAAAAAAwMEAAAAAAAWFhoAV1d6AF9fgQBgYIAAYWGAAGFhgABiYoAAYmKAAGFhgABhYYAAYGCAAF5egABbW4AAGhoeAAAAAAABAQEAAAAA/oOAQeEAgEH6AIBBoACAQQAAAEGAAABBAACAQQAAgEEAAQBBAAKAQQACgEEAAoBBAAKAQQACgEEAAoBBAAKAQQACgEE='; break;
      default:icon.src = self.image; 
   }
};  
toggleImage();
Services.prefs.addObserver(s, toggleImage, false);
addDestructor(()=> Services.prefs.removeObserver(s, toggleImage));


// Переключать на режим 'Без прокси' при закрытии браузера если это разрешено в 'about:config' ...................
var toggleButton = {
   observe:(subject, topic, data)=> {
      cbu.getPrefs("CB.Proxy.reset") && data == "shutdown" && cbu.setPrefs("network.proxy.type", 0);  
    }
};
Services.obs.addObserver(toggleButton, "quit-application", false);


// Создаем меню для добавление прокси в контекстном меню выделенного текста на странице ...................
var contextMenu = document.getElementById("contentAreaContextMenu");
var menuitem = document.createElement("menuitem");      
menuitem.setAttribute("label", "Добавить прокси"); 
menuitem.setAttribute("class", "menuitem-iconic");
menuitem.setAttribute("image", self.image);
menuitem.onclick =()=> addNewProxy();
contextMenu.appendChild(menuitem); // как последний пункт меню
addDestructor(()=> menuitem.remove());
  
// устанавливаем где показывать пункт меню 
addEventListener("popupshowing", ()=> {
   menuitem.hidden = !cbu.getPrefs("CB.Proxy.inContextMenu") || !gContextMenu.isContentSelected; // !gContextMenu.isTextSelected;
}, false, contextMenu);
  
  
// добавление прокси ...................
function addNewProxy(sel) {  
   var selection = gBrowser.contentDocument.defaultView.getSelection().toString();
   var sel = ( sel == undefined ) ? selection : sel.toString();
   sel = sel.replace(/^\s+|\s+$/g, ""); // удалить пробелы, слева и справа от строки
   sel = sel.replace(/\s+/g,":"); // заменить пробелы внутри строки

   // если только порт ...
   if ( sel.length < 6 && isFinite(sel) ) { 
        sel = sel.replace(/:/g, "");
        var lab = 'порт';
        cbu.setPrefs("network.proxy.http_port", +sel);                    
        }
     
   // если только адрес ...
   if ( sel.length > 5 && !/:/.test(sel) && sel.split(".").length == 4 ) {   
        var lab = 'адрес';
        cbu.setPrefs("network.proxy.http", convertFromUnicode("UTF-8", sel));  
        }   
     
   // если адрес и порт ...    
   if ( sel.length > 5 && /:/.test(sel) && sel.split(":").length == 2 && sel.split(".").length == 4 ) {
        var lab = 'адрес и порт';
        var array = sel.split(":");  
        array.forEach((str)=> addNewProxy(str) );          
        }     

   if ( lab == undefined ) 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.content.document.getSelection().getRangeAt(0).getBoundingClientRect();
      var posX = focused.mozInnerScreenX + selection.left;
      var posY = focused.mozInnerScreenY + selection.bottom - 5;   

      tooltip.showPopup(gBrowser, posX, posY);
      setTimeout(()=> gBrowser.removeChild(tooltip), 3000);
   };
   showTooltip();    
};

  
// Конвертировать текст в юникод .............  
function convertFromUnicode(charset, str) {
   var converter = Cc["@mozilla.org/intl/scriptableunicodeconverter"].createInstance(Ci.nsIScriptableUnicodeConverter);
   converter.charset = charset;
   str = converter.ConvertFromUnicode(str);
   return str + converter.Finish();
};

Отсутствует

 

Board footer

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