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

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№1205115-08-2017 23:05:22

yup
Участник
 
Группа: Members
Зарегистрирован: 15-04-2016
Сообщений: 1086
UA: Seamonkey 2.40

Re: Custom Buttons

LittleMontana пишет:

Честно говоря не знаю, в правильную ли ветку форума пишу

Нет, это вопрос явно в тему по скриптам Grasemonkey.

LittleMontana пишет:

Жму на любую из ссылок - идет перенаправление такого рода, приходится дополнительные действия совершать.

Странно это. Клацаю на той страничке по любой ссылке - перехожу сразу на страничку с произведением.

Отсутствует

 

№1205216-08-2017 11:40:49

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

Re: Custom Buttons

yup пишет:

Странно это. Клацаю на той страничке по любой ссылке - перехожу сразу на страничку с произведением.

У меня не так, и с чем это может быть связанно - я хз. 
Спасибо за ответ, пойду в ту ветку напишу.

Отсутствует

 

№1205316-08-2017 18:27:06

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 145
UA: Firefox 38.0

Re: Custom Buttons

Добрый день. Есть код кнопки "Открыть видео в PotPlayer" в контекстном меню, открывает видео из Ютуба в PotPlayer из контекстного меню. Код работает нормально ,но есть маленькая "хотелочка". Нормально открывается в PotPlayer если курсором встать на текст (ссылку) к видео. Но если курсором встать на само видео (куртинку) то всегда получаем ошибку "Ошибка воспроизведения - перегружен сервер или ошибка ввода адреса". Можно исправить , чтобы открывалось в PotPlayer и с ссылки и с картинки из контекстного меню. Заранее  спасибо.

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

Выделить код

Код:

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

(()=> {,
   var menuitem = document.createElement("menuitem");       
   var contextMenu = document.getElementById("contentAreaContextMenu");

   menuitem.id = "open-in-pot";
   menuitem.setAttribute("label", "Отправить в PotPlayer");      
   menuitem.setAttribute("class", "menuitem-iconic");
   menuitem.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDoAABSCAABFVgAADqXAAAXb9daH5AAAAE1SURBVHjalNG9S5tRGIbxX8TJVYP/REEdndzsWHB9JwXBvUOXKg4iOEhBKIhYUETXii7V1SEqCh6ymCUQP1DERRFFJT0d8jbE0jeJ93aeB67r5jm5GCPoWzeGT9jESkjUFi2SawBcozed72A8JM7fA4g55Lu4eQT3+Iwfzdq8AXzoZu0jGyUWTniutm7zBjCQZ2W4tqjcM1kg3DZvkwmA35G1U76HepvdtM1ZW4C/Kd8xtU+xoU1ILLcNgGpkqchiEUQMhcRe2wDYLvO1UH+OhMTPtgB3L8we8qtSOw3m8SUkYkvA3iXTB9w+gRJGQ6LQ8ogPr8wdsVWuW79hMiSeMr+xP8/qMIUrpve5fvy/NRPQ2UF/D8c3RKqpdepfaxbgBH3p/BRjWdYswCAmcIGZZtbG/BkAHtLE4ZXQlc8AAAAASUVORK5CYII=");
   document.getElementById("context-sep-open").parentNode.insertBefore( menuitem, document.getElementById("context-sep-open") );

   // где показывать пункт в конт. меню: на ссылках, на html5 аудио/видео -->
   addEventListener("popupshowing", ()=> menuitem.hidden = !(gContextMenu.onLink || gContextMenu.onVideo || gContextMenu.onAudio ), false, contextMenu );
   addDestructor( ()=> contextMenu.removeChild(menuitem) );
     
   addEventListener("click", function(e) {
      var link = gContextMenu.mediaURL || gContextMenu.getLinkURL();
      var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
      var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
      //file.initWithPath("C:\\Program Files (x86)\\PotPlayer\\PotPlayerMini.exe"); //путь к плееру на свой меняйте
      file.initWithPath("D:\\WorkSoft\\WorkSoftPortable\\PotPlayer_1.6.54133_Stable_x86_Portable_Rus\\PotPlayerMiniXP.exe"); //путь к плееру на свой меняйте
      //file.initWithPath("C:\\Program Files\\Media Player Classic - Home Cinema\\mpc-hc.exe"); //путь к плееру на свой меняйте
      process.init(file);
      if (e.button == 0) { //ЛКМ по пункту - открыть
         process.run(false, [link], 1);
      };
      if (e.button == 2) { //ПКМ по пункту - добавить в плейлист
         process.run(false, [link, '/add, '], 2); // "/add" - эта комманда исключительно для Pot'а, ищите параметры запуска из ком.строки для вашего плеера
      };
   }, false, menuitem );
})();

Отредактировано Duche (16-08-2017 18:57:20)

Отсутствует

 

№1205416-08-2017 18:58:10

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

Re: Custom Buttons

Duche
Есть кнопка Открыть видео в PotPlayer

Отсутствует

 

№1205516-08-2017 20:57:05

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 145
UA: Firefox 38.0

Re: Custom Buttons

oleg.sgh пишет:

Есть кнопка Открыть видео в PotPlayer

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

Отсутствует

 

№1205616-08-2017 21:21:34

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

Re: Custom Buttons

Duche
Не знаю как у вас будет, у меня работает 100% Путь только свой пропишите.

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

Выделить код

Код:

//Открыть в PotPlayer...

if ( this.hasAttribute("initialized") ) return;

Open("PotPlayer", "C:\\Program Files\\DAUM\\PotPlayer\\PotPlayerMini.exe", [""]);

//----------------------------------------------------------------------------------------------
function Open(name, prog, param, image){
   var menuitem = document.createElement("menuitem");
   var contextMenu = document.getElementById("contentAreaContextMenu");
   menuitem.id = "open-in";
   menuitem.setAttribute("label", name);
   //menuitem.setAttribute("class", "menuitem-iconic");
   //menuitem.setAttribute("image", image);
   document.getElementById("context-sep-open").parentNode.insertBefore( menuitem, document.getElementById("context-sep-open") );
   addEventListener("popupshowing", ()=> menuitem.hidden = !gContextMenu.onLink, false, contextMenu );
   addDestructor( ()=> contextMenu.removeChild(menuitem));
   addEventListener("command", function(e) {
   if ( e.button ) return;
      var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
      file.initWithPath(prog);
      var process = Cc["@mozilla.org/process/util;1"].createInstance(Ci.nsIProcess);
      process.init(file);
      if (!gContextMenu.onLink) {process.run(false, [param, content.location.href], 2);}
      else {process.run(false, [param, gContextMenu.getLinkURL()], 2);};}, false, menuitem );};
      

Отредактировано villa7 (16-08-2017 21:24:36)


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

Отсутствует

 

№1205716-08-2017 22:03:30

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 145
UA: Firefox 38.0

Re: Custom Buttons

villa7

Спасибо.Работает отличено. Только добавил свой кусочек кода с иконкой PotPlayer и обернул код в анонимную функцию (()=> { тут код })();

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

Выделить код

Код:

menuitem.setAttribute("label", "Открыть в PotPlayer");      
   menuitem.setAttribute("class", "menuitem-iconic");
   menuitem.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDoAABSCAABFVgAADqXAAAXb9daH5AAAAE1SURBVHjalNG9S5tRGIbxX8TJVYP/REEdndzsWHB9JwXBvUOXKg4iOEhBKIhYUETXii7V1SEqCh6ymCUQP1DERRFFJT0d8jbE0jeJ93aeB67r5jm5GCPoWzeGT9jESkjUFi2SawBcozed72A8JM7fA4g55Lu4eQT3+Iwfzdq8AXzoZu0jGyUWTniutm7zBjCQZ2W4tqjcM1kg3DZvkwmA35G1U76HepvdtM1ZW4C/Kd8xtU+xoU1ILLcNgGpkqchiEUQMhcRe2wDYLvO1UH+OhMTPtgB3L8we8qtSOw3m8SUkYkvA3iXTB9w+gRJGQ6LQ8ogPr8wdsVWuW79hMiSeMr+xP8/qMIUrpve5fvy/NRPQ2UF/D8c3RKqpdepfaxbgBH3p/BRjWdYswCAmcIGZZtbG/BkAHtLE4ZXQlc8AAAAASUVORK5CYII=");
   document.getElementById("context-sep-open").parentNode.insertBefore( menuitem, document.getElementById("context-sep-open") );

Отредактировано Duche (16-08-2017 22:10:18)

Отсутствует

 

№1205817-08-2017 01:00:20

oleg953
Участник
 
Группа: Members
Откуда: Ростов где Дон
Зарегистрирован: 07-05-2014
Сообщений: 555
UA: Firefox 56.0

Re: Custom Buttons

в 55.0.2 перестала работать эта кнопка.Может кто поправит?

Отсутствует

 

№1205917-08-2017 06:04:55

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

Re: Custom Buttons

Dumby пишет:

Если будет работать, то ждём когда отвалится.

Ну вот, дождался. В Nightly приземлилось https://bugzil.la/1390106. :usch:
Лиса даже запускаться нормально отказывается.

Подправил.
Ну, собственно, только закомментировал три строки в tcbbutton.xul
Уж не знаю как там с обратной совместимостью,
но на FF 3.0.5 установилось без проблем.

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

Выделить код

Код:

<overlay id="custombuttons-profile-overlay-script"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

    <!--
    <script type="application/x-javascript;version=1.8" src="chrome://custombuttons/content/cbbuttonloader.js"/>
    <script type="application/x-javascript;version=1.7" src="chrome://custombuttons/content/cbbuttonloader.js"/>
    <script type="application/x-javascript;version=1.6" src="chrome://custombuttons/content/cbbuttonloader.js"/>
    -->
    <script type="application/x-javascript" src="chrome://custombuttons/content/cbbuttonloader.js"/>

</overlay>

Отсутствует

 

№1206017-08-2017 23:21:40

Ferguss114
Участник
 
Группа: Members
Зарегистрирован: 31-03-2012
Сообщений: 200
UA: Chrome 16.0

Re: Custom Buttons

У меня был добавлен в  одну из кнопок кусочек кода, как я понимаю, отсюда:  https://forum.mozilla-russia.org/viewto … 37&p=1
Он показывал во всплывающей подсказке состояние кэша. А больше мне ничего и не надо.

Кнопка та потерялась, а с ней и код. Можно подсказать мне, какой именно код надо взять, чтоб получить только tooltip с состоянием кэша?

Отсутствует

 

№1206120-08-2017 11:22:53

tom911
Участник
 
Группа: Members
Зарегистрирован: 20-05-2011
Сообщений: 159
UA: Firefox 55.0

Re: Custom Buttons

Кто-нибудь может починить кнопочку  https://forum.mozilla-russia.org/viewtopic.php?id=69984, а то в 55 версии не работает.

Отсутствует

 

№1206220-08-2017 13:19:15

Gladius333
Забанен
 
Группа: Members
Зарегистрирован: 11-02-2017
Сообщений: 92
UA: Chrome 51.0

Re: Custom Buttons

Уже ненадо, если кому надо вот моя кнопка которую выбрал для перевода.
"Translate" добавил иконку к переводу, остальное как в оригинале.

Выделить код

Код:

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%3ETranslate%20%5BFix%21%5D%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAACXBIWXMAAAsSAAALEgHS3X78AAADe0lEQVR42p2T/U/VVRzHX98H7r0EXkYPWpY8WlviQ+NBoCLEomTOTLCBi5nWMrRZKxb0Qw/MVbhaarXBFgtqmcZmubkyyjlwNBUwyx/EuiyMEgTS273cB+733u/9fjr1J3TOztlnO+d83u/35/05bGgdb7p/25dC0eO9MjXniFbVPCM6SSiq65FVDb1CxY4BeaP7sqx55qSUN50RI/Wm1W2dbQ9xoKOTRMQP1a/MygNNQ1K+9Yisa5kRSpuGZfdb/eKbdmS1iinYckRqnuqWDw6eleKGb0R3AmNcn/2d4nty8fvH0CqfvyhJgUxjhpKVmUzMmTSuzePV7t8wFCM9FhjH8l9l0u/n4arlrMkX9n32A9a1awSDU2h3P/qJGGLw1Uf11O/qIO64+fjNOlre/pppK4aWVfKS2Ok34FWX8vM9oPDG/ogRQSc1Hkerbp0UkTSFN0t49jIpegDLk01Geo6Kozu1ihd9YibjvLYjn32fn6elsYi9XQMEWYImgrFwRX1bMmmxvSaXw99OYAeuYuhupgKqovEoWvGTfaKJm/UPLqY4x03QSWd/zxAiLgwtjrFo2aY2KxFlZtyHJyWFdY/kcvToOWzbRlfQFGw4JLW7DkrH4R+loPaA1GzvlhPDk3LXpg9laW2nmFZsCpeZQe4dXhJ/TxNW8/TQBZx5HcMRtJyK1yVp6mRlpnDLjSb+gM34rKUOUxXMFbS1zRNiJx1MXUMSgsuIcltGkNKypaSmp7B44QJu9ugEgmH6L4Y5dyGGFVMJxETTQLvvuRGxU1SUdCtVqoWWedm6MZv9XScZ/StTFTNMY2UOFeVLeOfTM4xeMRFNOWJY6I6imbO8ri0xb4M4YIVJM0OUF2aR4fEw+tMIdihEdt6tiMtDX98YiYSJY1tYVkTliGCG4yFQekjEcJSMEV+CbS29ZEiE9ZWr2NJQyLH+Edrf/Z44WYgRQkvauHSX8kI1y4rNh5ShioDaPBJl5Z1pbN54L3Mxm19GL+E23FRXlZBzu5eOnkGOnfoVCyVDLcUZ044oBqqz0GzKyhaxp/Ux9rQf58Twn1i6rS4ZfHH8Z15+tpLSkjy+G7xEcD78H1vDMTGtaEjpi2HLPAOD19mrHjz9RDkv7K7G55skZgneBWmcPjtK+/tdRFW/S9KLSwlKKs+1fz/3+VPvdfI/RmFl885/ALs4p5F1dTlxAAAAAElFTkSuQmCC%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20Translate%20%u043E%u0442%2027.02.2017.%20...............%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%20if%20%28%20e.button%20%3D%3D%200%20%29%20%7B%0A%20%20%20%20%20%20%20%20var%20sel%20%3D%20getSelect%28%29%3B%0A%20%20%20%20%20%20%20%20sel%20%3F%20translateText%28sel%29%20%3A%20translatePage%28%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20if%20%28%20e.button%20%3D%3D%201%20%29%0A%20%20%20%20%20%20%20%20translateText%28gClipboard.read%28%29%2C%20true%29%3B%0A%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%0A%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20menu.showPopup%28self%2C%20-1%2C%20-1%2C%20%22popup%22%2C%20%22bottomleft%22%2C%20%22topleft%22%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%7D%3B%0A%0A%0Avar%20background%20%3D%20%27white%27%2C%20fontSize%20%3D%20%27medium%27%3B%20//%20%u0444%u043E%u043D%20%u0438%20%u0440%u0430%u0437%u043C%u0435%u0440%20%u0448%u0440%u0438%u0444%u0442%u0430%20%u043E%u043A%u043E%u0448%u043A%u0430%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0430%0Avar%20winWidth%20%3D%200.4%2C%20winHeight%20%3D%200.4%3B%20%20%20%20%20%20%20%20%20%20//%20%u0448%u0438%u0440%u0438%u043D%u0430%20%u0438%20%u0432%u044B%u0441%u043E%u0442%u0430%20%u043E%u043A%u043E%u0448%u043A%u0430%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0430%20%u043E%u0442%u043D%u043E%u0441%u0438%u0442%u0435%u043B%u044C%u043D%u043E%20%u0440%u0430%u0437%u043C%u0435%u0440%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%0A%0A%0A//%20%u0421%u043E%u0437%u0434%u0430%u0442%u044C%20%u043C%u0435%u043D%u044E%20...............%0Avar%20array%20%3D%20%5B%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u0432%20%u043C%u0430%u043B%u0435%u043D%u044C%u043A%u043E%u043C%20%u043E%u043A%u043E%u0448%u043A%u0435%22%2C%20checkbox%3A%20%27%27%2C%20value%3A%20%27Translate.textInPopup%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u0432%20%u0434%u0432%u043E%u0439%u043D%u044B%u043C%20%u043F%u0440%u0430%u0432%u044B%u043C%20%u043A%u043B%u0438%u043A%u043E%u043C%22%2C%20checkbox%3A%20%27%27%2C%20value%3A%20%27Translate.textWithDoubleRightClick%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0432%20%u043D%u043E%u0432%u043E%u0439%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%20%u0441%u0440%u0430%u0437%u0443%20%u0441%u043F%u0440%u0430%u0432%u0430%22%2C%20checkbox%3A%20%27%27%2C%20value%3A%20%27Translate.nextPage%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u0438%u0437%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043D%u043E%u0433%u043E%20%u043C%u0435%u043D%u044E%22%2C%20checkbox%3A%20%27%27%2C%20value%3A%20%27Translate.textFromContextMenu%27%20%7D%2C%0A%20%20%20%20%7B%20separator%3A%20%27%27%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u0423%u0434%u0430%u043B%u044F%u0442%u044C%20%u043F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0438%20%u0432%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0430%u0445%22%2C%20checkbox%3A%20%27%27%2C%20value%3A%20%27Translate.noTooltipForTranslate%27%2C%20func%3A%20%27%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u0423%u0434%u0430%u043B%u044F%u0442%u044C%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0443%u043F%u0440%u0430%u0432%u043B%u0435%u043D%u0438%u044F%20%u0432%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20Googl%u0435%22%2C%20checkbox%3A%20%27%27%2C%20value%3A%20%27Translate.removeGoogleTranslatorHeader%27%2C%20func%3A%20%27%27%20%7D%2C%0A%20%20%20%20%7B%20separator%3A%20%27%27%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0432%20%u043E%u0431%u044B%u0447%u043D%u043E%u043C%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20Google%22%2C%20radio%3A%20%27%27%2C%20value%3A%20%27google%27%20%7D%2C%0A%20%20%20%20%7B%20label%3A%20%22%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0441%20%u0437%u0430%u043C%u0435%u043D%u043E%u0439%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u0432%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20Google%22%2C%20radio%3A%20%27%27%2C%20value%3A%20%27googleBookmarklet%27%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%5D%3B%0Avar%20menu%20%3D%20self.appendChild%28%20document.createElement%28%22menupopup%22%29%20%29%3B%0Aarray.forEach%28%28m%29%3D%3E%20%7B%0A%20%20%20if%20%28%20%22separator%22%20in%20m%20%29%20%7B%20menu.appendChild%28%20document.createElement%28%22menuseparator%22%29%20%29%3B%20return%20%7D%3B%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%0A%20%20%20if%20%28%20%22radio%22%20in%20m%20%29%20%7B%0A%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%20mItem.setAttribute%28%27checked%27%2C%20cbu.getPrefs%28%22Translate.pageIn%22%29%20%3D%3D%20m.value%20%29%3B%0A%20%20%20%20%20%20%20%20mItem.onclick%20%3D%28%29%3D%3E%20cbu.setPrefs%28%22Translate.pageIn%22%2C%20m.value%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20if%20%28%20%22checkbox%22%20in%20m%20%29%20%7B%0A%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%20mItem.setAttribute%28%27checked%27%2C%20cbu.getPrefs%28m.value%29%20%29%3B%0A%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%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20if%20%28%20%22func%22%20in%20m%20%29%20mItem.addEventListener%28%22command%22%2C%20%28%29%3D%3E%20toggleGoogleTranslatorStyle%28%29%29%3B%0A%0A%20%20%20menu.appendChild%28mItem%29%3B%0A%7D%29%3B%0Amenu.setAttribute%28%22onclick%22%2C%20%22event.stopPropagation%28%29%22%29%3B%0A%0A%0A//%20%u041F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u0437%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0438%u043B%u0438%20false%20...............%0Afunction%20getSelect%28%29%20%7B%0A%20%20%20var%20sel%20%3D%20gBrowser.contentDocument.defaultView.getSelection%28%29%3B%0A%20%20%20return%20%28sel%20%3D%3D%20%27%27%29%20%3F%20false%20%3A%20sel.toString%28%29%3B%0A%7D%3B%0A%0A%0A//%20%u0423%u0434%u0430%u043B%u0438%u0442%u044C%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0443%u043F%u0440%u0430%u0432%u043B%u0435%u043D%u0438%u044F%20%u0432%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20Googl%u0435%20%u0438%20%u043F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0438%20%u0432%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0430%u0445%20...............%0Afunction%20toggleGoogleTranslatorStyle%28arg%29%20%7B%0A%20%20%20var%20sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%3B%0A%20%20%20try%20%7B%20sss.unregisterSheet%28%20self.uri%2C%200%29%20%7D%20catch%28e%29%20%7B%7D%3B%0A%0A%20%20%20if%20%28%20cbu.getPrefs%28%22Translate.removeGoogleTranslatorHeader%22%29%20%29%20%7B%20%20//%20%u043F%u0430%u043D%u0435%u043B%u044C%20%u0443%u043F%u0440%u0430%u0432%u043B%u0435%u043D%u0438%u044F%0A%20%20%20%20%20%20%20%20var%20removeHeader%20%3D%20%27%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20@-moz-document%20domain%28%22translate.google.com%22%29%20%7B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23gb%2C%20%23gt-bbar%2C%20%23gt-c%3Anot%28%5Bclass%3D%22g-section%22%5D%29%20%7B%20display%3A%20none%20%21important%3B%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%23contentframe%20%7B%20top%3A%200%20%21important%3B%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%27%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20if%20%28%20cbu.getPrefs%28%22Translate.noTooltipForTranslate%22%29%20%29%20%7B%20%20//%20%u043F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0438%20%u0432%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0430%u0445%0A%20%20%20%20%20%20%20%20var%20noPopup%20%3D%20%27%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20/*Microsoft*/%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20DIV%5Btranslate%3D%22no%22%5D%20%7B%20display%3A%20none%20%21important%3B%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20*%5Blang%3D%22ru%22%5D%20%7B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20black%20%21important%3B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20transparent%20%21important%3B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20/*Google*/%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20@-moz-document%20domain%28%22translate.google.com%22%29%20%7B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.jfk-tooltip%20%7B%20display%3A%20none%20%21important%3B%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20@-moz-document%20regexp%28%22%5Ehttps%3F%3A//translate%5C.google%5C..*%22%29%20%7B/**/%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20@-moz-document%20domain%28%22translate.googleusercontent.com%22%29%20%7B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20span%5Bonmouseout%5D%5Bonmouseover%5D%5Bstyle%5D%20%7B%20background-color%3A%20transparent%20%21important%3B%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20.gmnoprint%20%7B%20display%3A%20none%20%21important%3B%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20.goog-text-highlight%20%7B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20transparent%20%21important%3B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20border%3A%20none%20%21important%3B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%3A%20none%20%21important%3B%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20.goog-tooltip.skiptranslate%20%7B%20display%3A%20none%20%21important%3B%20%7D%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%27%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20self.css%20%3D%20removeHeader%20+%20noPopup%3B%0A%0A%20%20%20if%20%28%20%21%21self.css%20%29%20%7B%0A%20%20%20%20%20%20%20%20self.uri%20%3D%20makeURI%28%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28self.css%29%29%3B%0A%20%20%20%20%20%20%20%20sss.loadAndRegisterSheet%28self.uri%2C%200%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20arg%20%26%26%20addDestructor%28%28%29%3D%3E%20sss.unregisterSheet%28self.uri%2C%200%29%20%29%3B%0A%7D%3B%0AtoggleGoogleTranslatorStyle%28true%29%3B%0A%0A%0A//%20%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20...............%0Afunction%20translatePage%28%29%20%7B%0A%20%20%20var%20translator%20%3D%20cbu.getPrefs%28%22Translate.pageIn%22%29%3B%0A%0A%20%20%20//%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0432%20%u043E%u0431%u044B%u0447%u043D%u043E%u043C%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20Google%20%u0432%20%u043D%u043E%u0432%u043E%u0439%20%u0430%u043A%u0442%u0438%u0432%u043D%u043E%u0439%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%20%u0438%u043B%u0438%20%u0442%u0435%u043A%u0443%u0449%u0435%u0439%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%0A%20%20%20if%20%28%20translator%20%3D%3D%20%22google%22%20%29%20%7B%0A%20%20%20%20%20%20%20%20var%20url%20%3D%20%22http%3A//translate.google.com/translate%3Fu%3D%22%20+%20content.location%20+%20%22%26hl%3Dru%26ie%3DUTF-8%26sl%3Dauto%26tl%3Dru%22%3B%0A%20%20%20%20%20%20%20%20cbu.getPrefs%28%22Translate.nextPage%22%29%0A%20%20%20%20%20%20%20%20%3F%20gBrowser.moveTabTo%28gBrowser.selectedTab%20%3D%20gBrowser.addTab%28url%29%2C%20gBrowser.mCurrentTab._tPos%20+%201%29%0A%20%20%20%20%20%20%20%20%3A%20loadURI%28url%29%3B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20//%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u044B%20%u0441%20%u0437%u0430%u043C%u0435%u043D%u043E%u0439%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%u0432%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20Microsoft%20%u0438%u043B%u0438%20Google%0A%20%20%20if%20%28%20cbu.getPrefs%28%22Translate.nextPage%22%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20gBrowser.getBrowserForTab%28gBrowser.selectedTab%20%3D%20gBrowser.duplicateTab%28gBrowser.mCurrentTab%29%29%0A%20%20%20%20%20%20%20%20%20%20%20.addEventListener%28%22pageshow%22%2C%20function%20c%28e%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this.removeEventListener%28e.type%2C%20c%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20runBukmarklet%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20else%20runBukmarklet%28%29%3B%0A%0A%20%20%20//%20%u0437%u0430%u043F%u0443%u0441%u0442%u0438%u0442%u044C%20%u0431%u0443%u043A%u043C%u0430%u0440%u043A%u043B%u0435%u0442%20%u0434%u043B%u044F%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0430%0A%20%20%20function%20runBukmarklet%28%29%20%7B%0A%20%20%20%20%20%20cbu.setPrefs%28%22security.mixed_content.block_active_content%22%2C%20false%29%3B%0A%0A%20%20%20%20%20%20content.document.location%20%3D%20%22javascript%3A%7Bvar%20d%3Ddocument%3B%20var%20b%3Dd.body%3B%20var%20o%3Dd.createElement%28%27script%27%29%3Bo.setAttribute%28%27src%27%2C%27http%3A//translate.google.com/translate_a/element.js%3Fcb%3DgoogleTranslateElementInit%26hl%3Dru%27%29%3Bo.setAttribute%28%27type%27%2C%27text/javascript%27%29%3Bb.appendChild%28o%29%3B%20var%20v%3Db.insertBefore%28d.createElement%28%27div%27%29%2Cb.firstChild%29%3Bv.id%3D%27google_translate_element%27%3Bv.style.display%3D%27none%27%3B%20var%20p%3Dd.createElement%28%27scri%27+%27pt%27%29%3Bp.text%3D%27function%2520googleTranslateElementInit%28%29%7Bvar%2520tElem%2520%3D%2520new%2520google.translate.TranslateElement%28%7BpageLanguage%3A%2522%2522%7D%2C%2522google_translate_element%2522%29%3BsetTimeout%28function%28%29%2520%7B%2520tElem.showBanner%28true%29%3B%2520%7D%2C100%29%3B%7D%27%3Bp.setAttribute%28%27type%27%2C%27text/javascript%27%29%3Bb.appendChild%28p%29%3B%7Dvoid%25200%22%3B%0A%20%20%20%7D%0A%7D%3B%0A%0A%0A//%20%u041E%u0431%u0440%u0430%u0431%u043E%u0442%u0447%u0438%u043A%20%u0441%u043B%u0435%u0434%u0438%u0442%20%u0437%u0430%20%u0434%u0432%u043E%u0439%u043D%u044B%u043C%20%u043F%u0440%u0430%u0432%u044B%u043C%20%u043A%u043B%u0438%u043A%u043E%u043C%20%u043C%u044B%u0448%u0438%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%20%u0438%20%u0437%u0430%u043F%u0443%u0441%u043A%u0430%u0435%u0442%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%20...............%0AaddEventListener%28%22dblclick%22%2C%20e%3D%3E%20%7B%0A%20%20%20if%20%28%20e.button%20%26%26%20cbu.getPrefs%28%22Translate.textWithDoubleRightClick%22%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20e.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20document.getElementById%28%22contentAreaContextMenu%22%29.hidePopup%28%29%3B%0A%0A%20%20%20%20%20%20%20%20translateText%28getSelect%28%29%29%3B%0A%20%20%20%20%20%20%20%20%7D%0A%7D%2C%20false%2C%20gBrowser%29%3B%0A%0A%0A//%20%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%20%u0438%u0437%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043D%u043E%u0433%u043E%20%u043C%u0435%u043D%u044E%20...............%0Avar%20contextMenu%20%3D%20document.getElementById%28%22contentAreaContextMenu%22%29%3B%0Avar%20mItem%20%3D%20contextMenu.insertBefore%28document.createElement%28%22menuitem%22%29%2C%20contextMenu.children%5B1%5D%29%3B%0AmItem.setAttribute%28%22label%22%2C%20%22%u041F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%22%29%3B%0AmItem.setAttribute%28%22image%22%2C%20%22data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAABnRSTlMAAAAAAABupgeRAAABBUlEQVR4Ac2RMU4DMRREB2MqihQpAkUaqnAduuQw4Sx03CGcJYIiDYqQ0lCsZ77535ZFcgAkRuPvV7zd/dLiz3N1PFb8hmRckrfELZrF9ONQ1B6Yz0MyM7S0O6zGkVprh/3+Kw/JzkHSpRpJKZkpr9fYbOx0cjVsCbWG31oHBM9mtt0q73ZcrdLhAMlYQKkUI22aqsNo8HKZAMQhvVaKSHWj2Q2aPU3mJQFY7nuHyvYFduP83WF3AJRfcPNYnr/Lp1G1uK4m9sno1LaUbnX/htf8BNzoneUD5NhjvLCMhURQSQ93QCZwXYjFwg3I0NZKrvoknQPMIHkt/jRAQKMeG2yX89/mB4EJbKbZxIhFAAAAAElFTkSuQmCC%22%29%3B%0AmItem.onclick%20%3D%28%29%3D%3E%20translateText%28getSelect%28%29%29%3B%0AaddEventListener%28%22popupshowing%22%2C%20%28%29%3D%3E%20%7B%0A%20%20%20mItem.hidden%20%3D%20%21cbu.getPrefs%28%22Translate.textFromContextMenu%22%29%20%7C%7C%20%21gContextMenu.isTextSelected%3B%0A%7D%2C%20false%2C%20contextMenu%29%3B%0AaddDestructor%28%28%29%3D%3E%20mItem.remove%28%29%29%3B%0A%0A%0A//%20%u041F%u0435%u0440%u0435%u0432%u0435%u0441%u0442%u0438%20%u0442%u0435%u043A%u0441%u0442%20%u0432%20Google%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20%u0432%20%u043D%u043E%u0432%u043E%u0439%20%u0432%u043A%u043B%u0430%u0434%u043A%u0435%20%u0441%u0440%u0430%u0437%u0443%20%u0441%u043F%u0440%u0430%u0432%u0430%20%u0438%u043B%u0438%20%u0432%20%u043C%u0430%u043B%u0435%u043D%u044C%u043A%u043E%u043C%20%u043E%u043A%u043E%u0448%u043A%u0435%20...............%0Afunction%20translateText%28text%2C%20clipboard%29%20%7B%0A%20%20%20if%20%28%20text%20%3D%3D%20false%20%29%20return%3B%0A%0A%20%20%20//%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%20%u0432%20Google%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0447%u0438%u043A%u0435%20%u0442%u0435%u043A%u0441%u0442%u0430%0A%20%20%20if%20%28%20%21cbu.getPrefs%28%22Translate.textInPopup%22%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20var%20url%20%3D%20%22http%3A//translate.google.com/translate_t%3Fhl%3Dru%23auto%7Cru%7C%22%20+%20text%3B%0A%20%20%20%20%20%20%20%20gBrowser.moveTabTo%28gBrowser.selectedTab%20%3D%20gBrowser.addTab%28url%29%2C%20gBrowser.mCurrentTab._tPos%20+%201%29%3B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%0A%20%20%20var%20beg%20%3D%20%22http%3A//translate.google.com/translate_t%3Fprev%3Dhp%26hl%3Dru%26js%3Dy%26text%3D%22%3B%0A%20%20%20var%20end%20%3D%20%22%26file%3D%26sl%3Dauto%26tl%3Dru%26history_state0%3D%23%22%3B%0A%20%20%20var%20url%20%3D%20beg%20+%20text%20+%20end%3B%0A%0A%20%20%20var%20req%20%3D%20new%20XMLHttpRequest%28%29%3B%0A%20%20%20req.open%28%22GET%22%2C%20url%2C%20true%29%3B%0A%0A%20%20%20req.onload%20%3D%28%29%3D%3E%20%7B%0A%20%20%20%20%20%20%20var%20res%20%3D%20req.responseText%3B%0A%20%20%20%20%20%20%20var%20suHTML%20%3D%20Cc%5B%22@mozilla.org/feed-unescapehtml%3B1%22%5D.getService%28Ci.nsIScriptableUnescapeHTML%29%3B%0A%20%20%20%20%20%20%20var%20doc%20%3D%20document.implementation.createHTMLDocument%28%22%22%29%3B%0A%20%20%20%20%20%20%20doc.body.appendChild%28suHTML.parseFragment%28res%2C%20false%2C%20null%2C%20doc.body%29%29%3B%0A%0A%20%20%20%20%20%20%20var%20ruHTML%20%3D%20doc.getElementById%28%22result_box%22%29.innerHTML%3B%0A%20%20%20%20%20%20%20var%20dataURL%20%3D%20%27data%3Atext/html%3Bcharset%3Dutf-8%2C%20%3Chtml%20contenteditable/%3E%3Ctitle%3ETranslate%3C/title%3E%27%0A%20%20%20%20%20%20%20dataURL%20+%3D%20%27%3Cstyle%3Ebody%20%7B%20background-color%3A%20%27+%20background%20+%27%3B%20font-size%3A%20%27+%20fontSize%20+%27%20%7D%3C/style%3E%27%3B%0A%20%20%20%20%20%20%20dataURL%20+%3D%20ruHTML%20+%20%27%3C/body%3E%3C/html%3E%27%3B%0A%0A%20%20%20%20%20%20%20var%20width%20%3D%20%280%29%20%7C%7C%20winWidth%20*%20gBrowser.boxObject.width%3B%20%0A%20%20%20%20%20%20%20var%20height%20%3D%20%280%29%20%7C%7C%20winHeight%20*%20gBrowser.boxObject.height%3B%0A%0A%20%20%20%20%20%20%20//%20%u043F%u043E%u043B%u0443%u0447%u0438%u0442%u044C%20%u043A%u043E%u043E%u0440%u0434%u0438%u043D%u0430%u0442%u044B%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u0438%u043B%u0438%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u043E%u0433%u043E%20%u0442%u0435%u043A%u0441%u0442%u0430%0A%20%20%20%20%20%20%20if%20%28%20clipboard%20%26%26%20cbu.getPrefs%28%22Translate.textInPopup%22%29%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20bcr%20%3D%20self.getBoundingClientRect%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20posX%20%3D%20bcr.left%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20posY%20%3D%20bcr.bottom%20+%205%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20else%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20bcr%20%3D%20gBrowser.contentDocument.defaultView.getSelection%28%29.getRangeAt%280%29.getBoundingClientRect%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20posX%20%3D%20window.content.mozInnerScreenX%20+%20bcr.left%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20posY%20%3D%20window.content.mozInnerScreenY%20+%20bcr.bottom%20+%205%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20var%20deltaX%20%3D%20posX%20+%20width%20-%20%28fullScreen%20%3F%20screen.width%20%3A%20screen.availWidth%29%3B%0A%20%20%20%20%20%20%20if%20%28deltaX%20%3E%200%29%20posX%20-%3D%20deltaX%3B%0A%20%20%20%20%20%20%20var%20deltaY%20%3D%20posY%20+%20height%20-%20%28fullScreen%20%3F%20screen.height%20%3A%20screen.availHeight%29%3B%0A%20%20%20%20%20%20%20if%20%28deltaY%20%3E%200%29%20posY%20-%3D%20deltaY%3B%0A%0A%20%20%20%20%20%20%20var%20win%20%3D%20window.openDialog%28dataURL%2C%20%22%22%2C%20%22outerWidth%3D%22+width+%22%2C%20outerHeight%3D%22+height+%22%2C%20screenX%3D%22+posX+%22%2C%20screenY%3D%22+posY+%22%2C%20status%3Dno%2C%20scrollbars%3Dyes%2C%20resizable%3Dyes%22%29%3B%0A%20%20%20%20%20%20%20win.focus%28%29%3B%0A%0A%20%20%20%20%20%20%20//%20%u0437%u0430%u043A%u0440%u044B%u0432%u0430%u0442%u044C%20%u043E%u043A%u043E%u0448%u043A%u043E%20%u043F%u0435%u0440%u0435%u0432%u043E%u0434%u0430%20%u043A%u043B%u0438%u043A%u043E%u043C%20%u043D%u0430%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0435%0A%20%20%20%20%20%20%20gBrowser.addEventListener%28%22click%22%2C%20function%20c%28%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20this.removeEventListener%28%22click%22%2C%20c%29%3B%0A%20%20%20%20%20%20%20%20%20%20win%20%26%26%20win.close%28%29%3B%0A%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%7D%3B%0A%20%20%20req.channel.loadFlags%20%7C%3D%20req.channel.LOAD_FROM_CACHE%3B%0A%20%20%20req.send%28null%29%0A%7D%3B%0A%0A%0A//%20%u041F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%20%u0443%20%u043A%u043D%u043E%u043F%u043A%u0438%20...............%0Athis.tooltipText%20%3D%20%22Translate%20%5Cn%u041B%3A%20%u041F%u0435%u0440%u0435%u0432%u0435%u0441%u0442%u0438%20%u0441%u0442%u0440%u0430%u043D%u0438%u0446%u0443%20/%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u043D%u044B%u0439%20%u0442%u0435%u043A%u0441%u0442%20%5Cn%u0421%3A%20%u041F%u0435%u0440%u0435%u0432%u0435%u0441%u0442%u0438%20%u0442%u0435%u043A%u0441%u0442%20%u0438%u0437%20%u0431%u0443%u0444%u0435%u0440%u0430%20%u043E%u0431%u043C%u0435%u043D%u0430%20%5Cn%u041F%3A%20%u041C%u0435%u043D%u044E%20%5Cn%u0414%u041F%3A%20CB%20%u043C%u0435%u043D%u044E%22%3B%0A%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отредактировано Gladius333 (23-08-2017 00:34:56)

Отсутствует

 

№1206320-08-2017 20:48:40

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

Re: Custom Buttons

Ferguss114 пишет:

Кнопка та потерялась, а с ней и код. Можно подсказать мне, какой именно код надо взять, чтоб получить только tooltip с состоянием кэша?

:/

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u041E%u0447%u0438%u0441%u0442%u0438%u0442%u044C%20%u043A%u044D%u0448%20%u0438%20%u0443%u0434%u0430%u043B%u0438%u0442%u044C%20%u0444%u043B%u044D%u0448%20%u043A%u0443%u043A%u0438%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAExEAAAEAIAB4BQAAFgAAACgAAAATAAAAIgAAAAEAIAAAAAAAUAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMDAwAAAAAAAQEBCxMTEyElJSU/KywrWC4sLWUzMzNrPDs8a0NEQ2MsLCxKDg0PKgABAA8AAAAAAgICAAAAAAAAAAAAAAAAAQAAAAIZGhoHQ0NDUGJiYqZxcXHVcXFx6XNzc/STlJT2t7e2+NDP0Pjb3dz11tbY67GwsNtsbWy0JyYnYQICAg8CAgICAAAAAgICAgUAAAAAJykpJ5CRkM64t7f/q6ut/7m5uf/Lx8b/19bW/9nY2P7a2dz+4d/g/+rq6P/r7Or/1NTU/3V1ddkKCwo+AQEBAQEBAQQCAgIDAAABARMTEhdubmy/rq6w/snIyfbj4+H94uXn/d/l7f3W2+X9xc3R/a20u/2oqKr9paWi96Wmpf5ubW3NFRMTNgAAAA4BAQEJAQIBAQICAgUAAQUBhY6UpuDi5f7b2Nj609ng/rfB1v+ssc3/wcja/6qyx/99hqL/iZOr/rW4vfrZ2Nf+io2VuQQHDiICAgETAQEBBgIDBAIDAgEDAQoSAau8wq3/////4Oft+tzm7v7d4On/q6zJ/0tLoP9cXKb/tbXM/9Hb5v7f5/H6/////7K6wrYBDRkNAwEABQICAQECAwQCAQIBAggNEQest7+4+v7+/8rY6Pnf5u7++/r6/6OmzP9kZa//aGmu/8rN4//7+vv/3Obr+Pn9/f+/wsK7ChIWDAIBAQECAwMDAwQEBAEBAQINFhgPprXAvPb////K1OT5vcDX/6SlzP+Bg7z/5ebu/7S11P9+gbv/l5jE/7G60fj1/P7/w8TIwBYYIRcAAQEBBAQEBAQEBQQCAAAAESIsGbTGzMH5////5u70+dTW6P+Dg7//gIC//8PD3f+gocr/OTyf/3J0t/+/xd349P7//73EzsYgIy8hAAAAAAQEBAQEBAUEAAAAABoiLSLAyszH+f///9/q9vj0+Pz/2Nfp/7e32P+9vtz/ubvX/25vtP+/weD/5/D1+Pb////AytHLJSw3KwAAAAAEBAUFBAQFBQAAAAAgKzQrvsvOyvb+/v/I2e/42ef3//L19v/p6Ov//vv7//Hy8v/Jydv/1ODu/97r9Pj9/v//zdHY0C44RjgAAAAABAUFBQQFBQUAAAAAKzpJN8TV2dD4/v7/1Oj++NDq///Q6P7/4PH//+Pw/v/U5fb/xt3z/8Tc9f/X5/f4//7//9PX29c3QktFAAAAAAUFBQUEBQUFAAAAADE5Rj7G09rT8Pr7/8PV6fi60eX/q8ff/63G4P+uxt//s8vl/7PN6//F2fD/0N/r+Pr8/P/W3+TaP09aSwAAAAAFBQUFBAUFBQAAAAA4PUhRqrW/3bK6wP57gIn2cXeD/nh+gv2Rlpf9rrKz/crNz/3c4eT94uft/tDU2/bX2dr+tL3F4kJNWl0AAAAABAUGBgMDAwYAAAAAX15jfq+vsvqjpqb/mJ2f/qmyt/+vvMP+u8nT/8jT3f/R3Ob/2OTs/97l7P/N0dX+wsLE/62usP5WV1uLAAAAAAIDBAUDAwMEAAAAAEdGRkqJiYi6mZma57CztO/Q1tr20tni98PL1vettb/3maGs94uSnfeIjpL3iY2M8ZycnOmZmJfDTUtMVgAAAAACAgIDAAAAAAAAAAAEBAUBDxEQEickJCtAODtEVlFTW2RjZGljYl9yXVxadVdWVHNRUFNqR0RHXT03NkcpJyctFBUWEwgHCAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis._handleClick%20%3D%28%29%3D%3E%20%7B%0A%20%20%20//%20%u043E%u0447%u0438%u0441%u0442%u0438%u0442%u044C%20%u043A%u044D%u0448%20....%0A%20%20%20try%20%7B%20%0A%20%20%20%20%20%20%20Services.cache.evictEntries%281%29%3B%0A%20%20%20%20%20%20%20Services.cache.evictEntries%282%29%3B%0A%20%20%20%20%20%20%20%7D%20%0A%20%20%20catch%28e%29%20%7B%20Services.cache2.clear%28%29%20%7D%3B%0A%0A%20%20%20//%20%u0423%u0434%u0430%u043B%u0438%u0442%u044C%20Flash%20%u043A%u0443%u043A%u0438%u0441%u044B%20....%0A%20%20%20var%20dir%20%3D%20Services.dirsvc.get%28%27Home%27%2C%20Ci.nsIFile%29%3B%0A%20%20%20dir.append%28%22Application%20Data%22%29%3B%0A%20%20%20dir.append%28%22Macromedia%22%29%3B%0A%20%20%20dir.exists%28%29%20%26%26%20dir.remove%28true%29%3B%0A%20%20%20%21dir.exists%28%29%20%26%26%20dir.create%28Ci.nsIFile.DIRECTORY_TYPE%2C%200777%29%3B%0A%0A%20%20%20//%20%u0412%u0441%u043F%u043B%u044B%u0432%u0430%u044E%u0449%u0435%u0435%20%u0441%u043E%u043E%u0431%u0449%u0435%u043D%u0438%u0435%20....%0A%20%20%20var%20alert%20%3D%20Cc%5B%22@mozilla.org/alerts-service%3B1%22%5D.getService%28Ci.nsIAlertsService%29%0A%20%20%20.showAlertNotification%28self.image%2C%20self.label%2C%20%27%u041E%u0447%u0438%u0441%u0442%u0438%u043B%20%u043A%u0435%u0448%20%u0438%20%u0443%u0434%u0430%u043B%u0438%u043B%20Flash%20%u043A%u0443%u043A%u0438%u0441%u0438%27%29%3B%0A%7D%3B%0A%0A%0A//%20%u0412%u0441%u043F%u043B%u044B%u0432%u0430%u044E%u0449%u0430%u044F%20%u043F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%20%u0443%20%u0441%u0447%u0451%u0442%u0447%u0438%u043A%u0430%20%u043E%u0442%u043E%u0431%u0440%u0430%u0436%u0430%u0435%u0442%20%u0437%u0430%u043F%u043E%u043B%u043D%u0435%u043D%u0438%u0435%20%u0434%u0438%u0441%u043A%u043E%u0432%u043E%u0433%u043E%20%u043A%u0435%u0448%u0430%20..............%0Avar%20data%20%3D%20%7B%0A%20%20%20%20memory%3A%20%22Memory%20Cache%3A%20%20%22%2C%0A%20%20%20%20disk%3A%20%22Disk%20Cache%3A%20%20%22%2C%0A%20%20%20%20offline%3A%20%22Offline%20Cache%3A%20%20%22%0A%7D%3B%20%20%20%0Afunction%20getSize%28size%29%20%7B%0A%20%20%20if%20%28%21size%29%20return%20size%20%3D%3D%3D%200%20%3F%20%220%22%20%3A%20%22%3F%22%3B%0A%20%20%20for%28var%20count%20%3D%20-1%3B%20size%20%3E%3D%201024%3B%20size%20/%3D%201024%2C%20count++%29%3B%0A%20%20%20return%20size.toFixed%282%29.replace%28/0+%24/%2C%20%22%22%29.replace%28/%5C.%24/%2C%20%22%22%29%20+%20%22%20%22%20+%20%28%22KMGT%22%5Bcount%5D%20%7C%7C%20%22%22%29%20+%20%22B%22%3B%0A%7D%0Afunction%20setInf%28tot%2C%20max%2C%20type%2C%20i%29%20%7B%0A%20%20%20var%20inf%20%3D%20getSize%28tot%29%20+%20%22%20/%20%22%20+%20getSize%28max%29%3B%0A%20%20%20var%20key%20%3D%20%22browser.cache.%22%20+%20type%20+%20%22.enable%22%3B%0A%20%20%20if%20%28%21Services.prefs.getBoolPref%28key%29%29%20inf%20+%3D%20%22%20%28disabled%29%22%3B%0A%20%20%20self.tooltipText%20%3D%20self.tooltipText.replace%28zws%28i%29%2C%20inf%29%3B%0A%7D%0Afunction%20zws%28ind%29%20%22%5Cu200B%5Cu200B%5Cu200B%22.slice%280%2C%20++ind%29%3B%0A%0Avar%20types%20%3D%20Object.keys%28data%29%3B%0Avar%20ttt%20%3D%20types.map%28function%28key%2C%20i%29%20data%5Bkey%5D%20+%20zws%28i%29%29.join%28%22%5Cn%22%29%3B%0A%20%20%20%0Avar%20context%20%3D%20Cu.import%28%22resource%3A//gre/modules/LoadContextInfo.jsm%22%2C%20%7B%7D%29.LoadContextInfo.default%3B%0Aself.onmouseenter%20%3D%20function%28%29%20%7B%0A%20%20%20self.tooltipText%20%3D%20%22%u041B%3A%20%u041E%u0447%u0438%u0441%u0442%u0438%u0442%u044C%20%u043A%u044D%u0448%20%u0438%20%u0443%u0434%u0430%u043B%u0438%u0442%u044C%20Flash-%u043A%u0443%u043A%u0438%5Cn%22%20+%20ttt%3B%0A%20%20%20try%20%7B%0A%20%20%20%20%20%20%20var%20entries%20%3D%20%7B%7D%3B%0A%20%20%20%20%20%20%20Services.cache.visitEntries%28%7B%0A%20%20%20%20%20%20%20visitDevice%3A%20function%28device%2C%20info%29%20entries%5Bdevice%5D%20%3D%20info%2C%0A%20%20%20%20%20%20%20visitEntry%3A%20function%28%29%20%7B%7D%0A%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20types.forEach%28function%28type%2C%20i%29%20%7B%0A%20%20%20%20%20%20var%20info%20%3D%20entries%5Btype%5D%3B%0A%20%20%20%20%20%20setInf%28info%20%26%26%20info.totalSize%2C%20info%20%26%26%20info.maximumSize%2C%20type%2C%20i%29%0A%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%7D%20%0A%20%20%20catch%28ex%29%20%7B%0A%20%20%20%20%20%20%20Services.cache2%20%26%26%20types.forEach%28function%28type%2C%20i%29%20%7B%0A%20%20%20%20%20%20%20var%20func%20%3D%20function%28aEntryCount%2C%20aConsumption%2C%20aCapacity%2C%20aDiskDirectory%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20setInf%28aConsumption%2C%20aCapacity%2C%20type%2C%20i%29%3B%0A%20%20%20%20%20%20%20var%20storage%20%3D%20Services.cache2%5B%28type%20%3D%3D%20%22offline%22%20%3F%20%22app%22%20%3A%20type%29%20+%20%22CacheStorage%22%5D%28context%2C%20null%29%3B%0A%20%20%20%20%20%20%20try%20%7B%20storage.asyncVisitStorage%28%7BonCacheStorageInfo%3A%20func%7D%2C%20false%29%20%7D%20catch%28ex%29%20%7B%7D%3B%0A%20%20%20%20%20%20%20%7D%29%3B%0A%20%20%20%20%20%20%20%7D%0A%7D%3B%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отсутствует

 

№1206420-08-2017 22:06:51

tom911
Участник
 
Группа: Members
Зарегистрирован: 20-05-2011
Сообщений: 159
UA: Firefox 55.0

Re: Custom Buttons

bunda1
Приветствую, уважаемый bunda1! Вылечите кнопочку https://forum.mozilla-russia.org/viewtopic.php?id=69984 , пожалуйста :)

Отсутствует

 

№1206521-08-2017 12:06:21

Ferguss114
Участник
 
Группа: Members
Зарегистрирован: 31-03-2012
Сообщений: 200
UA: Firefox 37.0

Re: Custom Buttons

bunda1 пишет:

Ferguss114 пишет:

Кнопка та потерялась, а с ней и код. Можно подсказать мне, какой именно код надо взять, чтоб получить только tooltip с состоянием кэша?

:/

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D............custombutton%3E

Спасибо, bunda1! :)

Отсутствует

 

№1206623-08-2017 02:10:10

Rag
Участник
 
Группа: Members
Зарегистрирован: 06-03-2017
Сообщений: 216
UA: Firefox 55.0

Re: Custom Buttons

Приветствую всех.
Может ли кто нибудь сделать кнопку типа Переключить JavaScript для сайтов толька чтоб по умолчанию она отключала JavaScript а по нажатию на кнопку включала, с занесением разрешённых сайтов в список,с последующей перезагрузкой страницы и изменением иконки.

Отсутствует

 

№1206723-08-2017 19:50:09

Retif
Участник
 
Группа: Members
Зарегистрирован: 14-09-2014
Сообщений: 54
UA: Firefox 55.0

Re: Custom Buttons

В Firefox 55 перестала работать кнопка для выделения текста в ссылке, подскажите плиз, может в ней поправить что?

Выделить код

Код:

var listener = {
 handleEvent: function(event) {
  content.removeEventListener(event.type, this, false);

  switch(event.type) {
   case "dragstart":
    if(event.view.top != content)
     return;
    event.preventDefault();

    var utils = document.commandDispatcher.focusedWindow.
    QueryInterface(Components.interfaces.nsIInterfaceRequestor).
    getInterface(Components.interfaces.nsIDOMWindowUtils);

    utils.sendMouseEvent("mousedown", event.clientX, event.clientY, event.button, 1, utils.MODIFIER_ALT);

    this.target = event.target;
    content.addEventListener("click", this, false);
    content.addEventListener("mouseup", this, false);
    break;
   case "mouseup":
    if(event.target != this.target)
     content.removeEventListener("click", this, false);
    break;
   case "click":
    event.preventDefault();
    break;
  }
 }
}

addEventListener("dragstart", listener, true);

Отредактировано Retif (23-08-2017 19:50:35)

Отсутствует

 

№1206824-08-2017 18:11:06

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 150
UA: Firefox 52.0

Re: Custom Buttons

Retif
Alt зажимайте и выделяйте что хотите, без всяких кнопок.

Отсутствует

 

№1206924-08-2017 19:20:15

Retif
Участник
 
Группа: Members
Зарегистрирован: 14-09-2014
Сообщений: 54
UA: Firefox 55.0

Re: Custom Buttons

_zt, спасибо, кэп. Но в предыдущих версиях фаерфокса я выделял с кнопкой без всякого альта.

Отсутствует

 

№1207024-08-2017 20:10:48

mokujin
Участник
 
Группа: Members
Зарегистрирован: 17-02-2017
Сообщений: 291
UA: Firefox 32.0

Re: Custom Buttons

Retif
скрипт GM самый лучший, самый безглюковый (в CB не будет работать, не отменяет клик на ссылке. хз. как поправить. а в GM отлично.)

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

Выделить код

Код:

// ==UserScript==
// @name                  Link selection like Opera
// @include         *.*
// @grant       none
// @run-at         document-start
// ==/UserScript==

// Удалить мусорные параметры из адресной строки бравзера.
(function utmRemove() {
    if (/[?&]utm_/.test(location.search) && history.replaceState){
        history.replaceState(null,'', location.href.replace(/[?&]utm_.*/,''));
    }
})();

// Выделение ссылок
(function olls() {
function OPLLS() {
  this.init.apply(this, arguments);
}
OPLLS.prototype = {
  handleEvent: function (e) {
    switch (e.type) {
    case 'mouseup':
      if (!getSelection() .toString()) break;
//      console.log('mouseup');
      var t = e.target;
      while (t.nodeName != 'A' && t.nodeName != 'HTML') t = t.parentNode;
      if (!t.href) {
//        console.log('uninit');
        this.uninit();
      }
      break;
    case 'click':
      if (!getSelection() .toString()) {
//        console.log('clicked and uninit');
        this.uninit();
        break;
      }
      e.preventDefault();
      e.stopPropagation();
//      console.log('selected and uninit');
      this.uninit();
    }
  },
  init: function (e) {
    var t = e.target;
    if (t.nodeName == 'IMG') return ;
    while (t.nodeName != 'A' && t.nodeName != 'HTML') t = t.parentNode;
    if (!t.href) return ;
    t.draggable = false;
//    console.log('OK');
    document.addEventListener('mouseup', this, true);
    document.addEventListener('click', this, true);
  },
  uninit: function () {
    document.removeEventListener('mouseup', this, true);
    document.removeEventListener('click', this, true);
  }
}
document.addEventListener('mousedown', function (e) {
  if (e.button != 0 || e.ctrlKey || e.altKey || e.shiftKey) return ;
  new OPLLS(e);
}, false);
})();

Отсутствует

 

№1207124-08-2017 22:08:02

Gladius333
Забанен
 
Группа: Members
Зарегистрирован: 11-02-2017
Сообщений: 92
UA: Firefox 52.0

Re: Custom Buttons

Rag пишет:

Приветствую всех.
Может ли кто нибудь сделать кнопку типа Переключить JavaScript для сайтов толька чтоб по умолчанию она отключала JavaScript а по нажатию на кнопку включала, с занесением разрешённых сайтов в список,с последующей перезагрузкой страницы и изменением иконки.

Вкл/Выкл javascript, about:config=javascript.enabled.
П.С там много чего намешано, пока еще не разобрался.

Выделить код

Код:

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%3EQuick%20toggle%20for%20about%3Aconfig%20preferences%20%5BFix%21%5D%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB6klEQVQ4jZWTv2tUQRDHv8ntd28GLLQQfwS5VkuDSgRF/wlRiIiCQQQhhZ1VII1/wDUWkkLTBAsbC0FJYZGQ3NuZRcHYW6UQEQzoeXkW791xXh5CptodZr8z85kd4BBWRJwDgB5wyoCjh3mLbfK8C/ddW11XJlduNgYaeTFpvJWA0+P+BBx3Cf2sLEy5m4WrS8A0AGANaBUSrgKAKzdcY5k0PF4HJGm47NK6nSUMXOIXAEgSrrnG0oU/AGDKNb6qHe9c+Ms1lqbxqws/uoTfWVp3ksRll/DTJM6bcMWEn1KbDysBCW+zsnSNpWssTbg3PNf3uw7MuHDgym8uoW8aX496SxKXs7J0iTsFObcGRBfey8rShP1EXthSnDHhShJ0vM0H1uYiAKBSHWZqLYyDc+H7sSpeNlMX9l1jWWebEAgjgSxcbRRYB46YhCcVxH9bqDP3nbyUBB0XPk+Cjgnvj1qoqohvJqDtTUBdcGAmSzgIEQBM2R0fY/U41GPkwNpcTBKfmnDPNN4w4TOX+NnbfAQAWAKmXcMVAMgaNqrM1UfqkbMmrXkT/nGJO1XF4Xod8/0Ak4KcKzTe3AROjPs/AMdM2M8atk25a8IXAKYawTZZj5jNEvZN2TVldg3Ny/RfkYizALAFnByu819tzvCRWXKqTwAAAABJRU5ErkJggg%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B//%20%u0411%u044B%u0441%u0442%u0440%u043E%u0435%20%u043F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u0435%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432%20about%3Aconfig%20%u043E%u0442%2024.07.2016%0Athis._handleClick%3D%28%29%3D%3EmenuPopup.openPopup%28this%2C%22after_start%22%29%3Bvar%20menuPopup%3Dself.appendChild%28document.createElement%28%22menupopup%22%29%29%3BmenuPopup.id%3D%27quick-aboutconfig-menupopup%27%3B%0A%0A//%20%u0418%u0437%u043C%u0435%u043D%u0438%u0442%u044C%20%u0438%u043A%u043E%u043D%u043A%u0443%20%u043F%u0440%u0438%20%u043D%u0435%u0441%u043E%u043E%u0442%u0432%u0435%u0442%u0441%u0442%u0432%u0438%u0435%20%u043B%u044E%u0431%u043E%u0433%u043E%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u0430%20%u043F%u043E%u043B%u044C%u0437%u043E%u0432%u0430%u0442%u0435%u043B%u044C%u0441%u043A%u043E%u043C%u0443%20%u043F%u0440%u0435%u0434%u043F%u043E%u0447%u0442%u0435%u043D%u0438%u044E%20%28%u0441%u043C.%20%u043D%u0438%u0436%u0435%29%0A//%20%u0418%u043A%u043E%u043D%u043A%u0430%20%u043C%u0435%u043D%u044F%u0435%u0442%u0441%u044F%20%u0442%u043E%u043B%u044C%u043A%u043E%20%u043F%u0440%u0438%20%u0438%u0437%u043C%u0435%u043D%u0435%u0438%u0438%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432%20%u0447%u0435%u0440%u0435%u0437%20%u043C%u0435%u043D%u044E%20%u043A%u043D%u043E%u043F%u043A%u0438%2C%20%u043B%u0438%u0431%u043E%20%u043F%u043E%u0441%u043B%u0435%20%u0435%u0433%u043E%20%u043E%u0442%u043A%u0440%u044B%u0442%u0438%u044F.%0Avar%20s%3D%27CB.hasNotUserChoice%27%3Bfunction%20toggleImage%28%29%7Bvar%20val%3Dcustombuttons.getPrefs%28s%29%3Bself.image%3Dval%0A%3F%20%27data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB6klEQVQ4jZWTv2tUQRDHv8ntd28GLLQQfwS5VkuDSgRF/wlRiIiCQQQhhZ1VII1/wDUWkkLTBAsbC0FJYZGQ3NuZRcHYW6UQEQzoeXkW791xXh5CptodZr8z85kd4BBWRJwDgB5wyoCjh3mLbfK8C/ddW11XJlduNgYaeTFpvJWA0+P+BBx3Cf2sLEy5m4WrS8A0AGANaBUSrgKAKzdcY5k0PF4HJGm47NK6nSUMXOIXAEgSrrnG0oU/AGDKNb6qHe9c+Ms1lqbxqws/uoTfWVp3ksRll/DTJM6bcMWEn1KbDysBCW+zsnSNpWssTbg3PNf3uw7MuHDgym8uoW8aX496SxKXs7J0iTsFObcGRBfey8rShP1EXthSnDHhShJ0vM0H1uYiAKBSHWZqLYyDc+H7sSpeNlMX9l1jWWebEAgjgSxcbRRYB46YhCcVxH9bqDP3nbyUBB0XPk+Cjgnvj1qoqohvJqDtTUBdcGAmSzgIEQBM2R0fY/U41GPkwNpcTBKfmnDPNN4w4TOX+NnbfAQAWAKmXcMVAMgaNqrM1UfqkbMmrXkT/nGJO1XF4Xod8/0Ak4KcKzTe3AROjPs/AMdM2M8atk25a8IXAKYawTZZj5jNEvZN2TVldg3Ny/RfkYizALAFnByu819tzvCRWXKqTwAAAABJRU5ErkJggg%3D%3D%27%0A%3A%20%27data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAACXBIWXMAAABnAAAAZwHVKNQmAAADGGlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjaY2BgnuDo4uTKJMDAUFBUUuQe5BgZERmlwH6egY2BmYGBgYGBITG5uMAxIMCHgYGBIS8/L5UBA3y7xsDIwMDAcFnX0cXJlYE0wJpcUFTCwMBwgIGBwSgltTiZgYHhCwMDQ3p5SUEJAwNjDAMDg0hSdkEJAwNjAQMDg0h2SJAzAwNjCwMDE09JakUJAwMDg3N+QWVRZnpGiYKhpaWlgmNKflKqQnBlcUlqbrGCZ15yflFBflFiSWoKAwMD1A4GBgYGXpf8EgX3xMw8BUMDVQYqg4jIKAX08EGIIUByaVEZhMXIwMDAoM2Qw7CDkY8xi/EskynTYmYR5i4WFpZGVibWNjYetmnsyuybOVw5bnIWcHFyLeV24n7E08KrwXuOr4xfnv+0QIWguuANoS5hO+EvIqtFU8TkxW6Jz5AIlxSXvCE1RzpBRk3mrexWuXp5LwUxhSeKm5SalENU1FR+qp5TW6JerRGsqaPFpvVIe5/ObN0qvSh9KwMZg3+Gj4yOG68xmWxaZZZs7mNhbqlkxWf12/qlzQ3bE3Y77Vc7zHWc6NTqXOVS4JruFuce7hHg6eXl6u3oY+dr7WfpbxFgEWgRZBlsHWIX6hTmFu4dERgZHhUfnR5TEFsZ1xzflzArcVnS5uSDKedT76W9S/+XKZClmG2S454bnZef31owq3Bj0YniByU/ygTLtStcKxOqaqpn1GytvVT3oYG/Ua/Jrzm/ZULrprYr7d87pbvsu5N7OnvX9V3t/zNRZZLP5JIp86aemPZphuxMz1mlsxfOOT/3z3ztBVELOxftXPxqqfQyn+V1KzaufLJaYo3P2sZ129a/2ai0KXLzxC0ntjFut9pRvHPtrhd7lPbG7Zu1/9pB4UOBh/uPnD3Gc9z7RPfJM6d5zvidnXDu0gXRixGX5lx+cFXlWtb19Te+3rK53Xzn1D2h+9EPljx8+9j8SePTM8/FXyS9XPfq9xuPt1PfPf5g+LHh0/kv8l/zv+3/IfAz6deWP2x/I/6t/v8fAATCIM0IpJTRAAAAIGNIUk0AAHolAACAgwAA+f8AAIDoAABSCAABFVgAADqXAAAXb9daH5AAAAEOSURBVHjabJGtS0MBFMXPJojBMMPwC1nV6FCZoGj/ZVGYiIJDBOEFm3XFP2DFIAu6ZrAYBM0OREEUnN20ICI40OfbsTzYB48b7oF74J4PWUnDjMU4GSv5PEubCo/UuwjMs8FEjLOEPNCkRloWAyxb3GEOGWKRTSLeLFYwXyLFBeaGH8w7z/yyRZlvilR5YV+kuMYY04r3NpNEfBByaYksZUyDAoPsYELmmKJKjj0CS0QYU4rl3WLMeceRCBMItW7CMEd9LxbIcUqOXQJLFld9Iks9Ii0qPTYjAo5pscYJrxzIIs1SV1B5ivzRsFjFfHaiLrDOaIxHCLmnyRmp5LLytKnw1FNWH2XaYoyM9T8AOvnw3YUOg90AAAAASUVORK5CYII%3D%27%3B%7D%3B%0AtoggleImage%28%29%3BServices.prefs.addObserver%28s%2CtoggleImage%2Cfalse%29%3BaddDestructor%28%28%29%3D%3EServices.prefs.removeObserver%28s%2CtoggleImage%29%29%3B%0A%0A//%20nodeName%3A%20menuitem%20-%20%u0434%u043B%u044F%20%u043B%u043E%u0433%u0438%u0447%u0435%u0441%u043A%u0438%u0445%28boolean%29%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432%2C%20menu%20-%20%u0434%u043B%u044F%20%u0446%u0435%u043B%u044B%u0445%28integer%29%20%u0438%20%u0441%u0442%u0440%u043E%u043A%u043E%u0432%u044B%u0445%28string%29.%20menuseparator%20-%20%u0434%u043B%u044F%20%u0440%u0430%u0437%u0434%u0435%u043B%u0438%u0442%u0435%u043B%u044F.%0A//%20pref%20-%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%20about%3Aconfig.%0A//%20%u041F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u044B%20%u0438%u043C%u0435%u044E%u0449%u0438%u0435%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u044F%20%u043E%u0442%u043B%u0438%u0447%u043D%u044B%u0435%20%u043E%u0442%20%u0434%u0435%u0444%u043E%u043B%u0442%u043D%u044B%u0445%20-%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u044B%20%u0436%u0438%u0440%u043D%u044B%u043C%20%u0441%u0442%u0438%u043B%u0435%u043C%20%u0442%u0435%u043A%u0441%u0442%u0430.%0A//%20restart%20%28%u0437%u0430%u0434%u0430%u0432%u0430%u0442%u044C%20%u0441%20%u043F%u0443%u0441%u0442%u044B%u043C%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%u043C.%20%u0442.%u0435.%2C%20restart%3A%20%22%22%29%20-%20%u0434%u043E%u0431%u0430%u0432%u043B%u044F%u0435%u0442%20%u0432%u043E%u0437%u043C%u043E%u0436%u043D%u043E%u0441%u0442%u044C%20%u043F%u0435%u0440%u0435%u0437%u0430%u043F%u0443%u0441%u043A%u0430%20%u0431%u0440%u0430%u0443%u0437%u0435%u0440%u0430%0A//%20%28%u0441%20%u043F%u043E%u0434%u0442%u0432%u0435%u0440%u0436%u0434%u0435%u043D%u0438%u0435%u043C%20%u0432%20%u0434%u0438%u0430%u043B%u043E%u0433%u043E%u0432%u043E%u043C%20%u043E%u043A%u043D%u0435%29%20%u043F%u043E%u0441%u043B%u0435%20%u0438%u0437%u043C%u0435%u043D%u0435%u043D%u0438%u044F%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u0430.%0A//%20key%20-%20%u0437%u0430%u0434%u0430%u0435%u0442%20accesskey%20-%20%u043A%u043B%u0430%u0432%u0438%u0448%u0438%20%u0434%u043B%u044F%20%u0431%u044B%u0441%u0442%u0440%u043E%u0439%20%u043D%u0430%u0432%u0438%u0433%u0430%u0446%u0438%u0438%20%u043F%u043E%20%u043C%u0435%u043D%u044E.%0A//%20userChoice%20-%20%u0437%u0430%u0434%u0430%u0435%u0442%20%u043F%u0440%u0435%u0434%u043F%u043E%u0447%u0438%u0442%u0430%u0435%u043C%u043E%u0435%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%20%u0438%20%u0435%u0441%u043B%u0438%20%u0442%u0435%u043A%u0443%u0449%u0435%u0435%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%20%u0441%20%u043D%u0438%u043C%20%u043D%u0435%20%u0441%u043E%u0432%u043F%u0430%u0434%u0430%u0435%u0442%2C%20%u043F%u0443%u043D%u043A%u0442%20%u043C%u0435%u043D%u044E/%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u0435%20%u043C%u0435%u043D%u044E%20%u043F%u043E%u043C%u0435%u0447%u0430%u044E%u0442%u0441%u044F%20%u043A%u0440%u0430%u0441%u043D%u044B%u043C%20%u0446%u0432%u0435%u0442%u043E%u043C.%0A//%20%u0422%u0430%u043A%u0436%u0435%20%u043C%u043E%u0436%u043D%u043E%20%u0443%u0441%u0442%u0430%u043D%u043E%u0432%u0438%u0442%u044C%20%u043F%u0440%u0435%u0434%u0443%u043F%u0440%u0435%u0436%u0434%u0430%u044E%u0449%u0443%u044E%20%u0438%u043A%u043E%u043D%u043A%u0443%20%u0434%u043B%u044F%20%u0442%u0430%u043A%u0438%u0445%20%u043F%u0443%u043D%u043A%u0442%u043E%u0432.%20%u0421%u043C.%20%u0441%u0442%u0438%u043B%u044C%20%u0432%20%u043F%u043E%u0441%u0442%u0435%20%u043A%u043A%u043D%u043E%u043F%u043A%u0438.%0A//%20%u0410%20%u0442%u0430%u043A%u0436%u0435%20%u043C%u0435%u043D%u044F%u0435%u0442%u0441%u044F%20%u0438%u043A%u043E%u043D%u043A%u0430%20%u0441%u0430%u043C%u043E%u0439%20%u043A%u043D%u043E%u043F%u043A%u0438%20%28%u0441%u043C.%20%u0432%u044B%u0448%u0435%29.%0A//%20strValues%20-%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u044F%20%u0438%20%u043E%u0442%u043E%u0431%u0440%u0430%u0436%u0430%u0435%u043C%u043E%u0435%20%u0432%20%u043C%u0435%u043D%u044E%20%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u0435%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u044F.%20%u0417%u0430%u0434%u0430%u0432%u0430%u0442%u044C%20%u0434%u043B%u044F%20%u0446%u0435%u043B%u044B%u0445%28integer%29%20%u0438%20%u0441%u0442%u0440%u043E%u043A%u043E%u0432%u044B%u0445%28string%29%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432.%0A//%20%u0417%u0430%u0434%u0430%u0435%u0442%u0441%u044F%20%u0432%20%u0432%u0438%u0434%u0435%3A%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%2C%2C%2C%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u0435%2C%2C%2Caccesskey%7C%7C%7C%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u04352%2C%2C%2C%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u04352%2C%2C%2Caccesskey2%7C%7C%7C%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u04353%2C%2C%2C%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u04353%20%u0438%20%u0442.%u0434.%20%28accesskey%20-%20%u0437%u0430%u0434%u0430%u0435%u0442%u0441%u044F%20%u043E%u043F%u0446%u0438%u043E%u043D%u0430%u043B%u044C%u043D%u043E%29%0A//%20%u041F%u043E%u043B%u043D%u043E%u0435%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%20%u043E%u0442%u043E%u0431%u0440%u0430%u0436%u0430%u0435%u0442%u0441%u044F%20%u0432%20%u043F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%u0445%2C%20%u043F%u0440%u0438%20%u043D%u0430%u0432%u0435%u0434%u0435%u043D%u0438%u0438%20%u043D%u0430%20%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u0435%20%u043F%u043E%u0434%u043C%u0435%u043D%u044E/%u043F%u0443%u043D%u043A%u0442%20%u043F%u043E%u0434%u043C%u0435%u043D%u044E.%0A//%20%u0414%u043B%u044F%20%u043B%u043E%u0433%u0438%u0447%u0435%u0441%u043A%u0438%u0445%28boolean%29%20-%20%u043E%u0442%u043E%u0431%u0440%u0430%u0436%u0430%u0435%u0442%u0441%u044F%20%u0441%u0440%u0430%u0437%u0443%20%u043F%u043E%u0441%u043B%u0435%20%u0441%u0430%u043C%u043E%u0433%u043E%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u0430%20%28%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%20true%20-%20%u0442%u0430%u043A%u0436%u0435%20%u0441%u0442%u0430%u0432%u0438%u0442%20%u0433%u0430%u043B%u043E%u0447%u043A%u0443%20%u0434%u043B%u044F%20%u043D%u0435%u0433%u043E%29.%0A//%20%u041B%u041A%u041C%20%u043F%u043E%20%u043F%u0443%u043D%u043A%u0442%u0430%u043C%20%u043C%u0435%u043D%u044E%20-%20%u043F%u0435%u0440%u043A%u043B%u044E%u0447%u0430%u0435%u0442%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u044F%20%u0434%u043B%u044F%20%u043B%u043E%u0433%u0438%u0447%u0435%u0441%u043A%u0438%u0445%28boolean%29%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432%2C%0A//%20%u043B%u044E%u0431%u0430%u044F%20%u043A%u043D%u043E%u043F%u043A%u0430%20%u043F%u043E%20%u043F%u0443%u043D%u043A%u0442%u0430%u043C%20%u0432%20%u0441%u0443%u0431%u043C%u0435%u043D%u044E%20-%20%u0437%u0430%u0434%u0430%u0435%u0442%20%u044D%u0442%u043E%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%20%u0434%u043B%u044F%20%u0446%u0435%u043B%u044B%u0445%28integer%29%20%u0438%20%u0441%u0442%u0440%u043E%u043A%u043E%u0432%u044B%u0445%28string%29%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432.%0A//%20%u041F%u041A%u041C%20%u043F%u043E%20%u043F%u0443%u043D%u043A%u0442%u0430%u043C%20%u043C%u0435%u043D%u044E%20%u0438%20%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u044E%20%u0441%u0443%u0431%u043C%u0435%u043D%u044E%20-%20%u0441%u0431%u0440%u0430%u0441%u044B%u0432%u0430%u0435%u0442%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u0430%20%u0432%20%u0434%u0435%u0444%u043E%u043B%u0442%u043D%u043E%u0435.%0A//%20%u041A%u043B%u0430%u0432%u0438%u0430%u0442%u0443%u0440%u0430%3A%20Enter%20-%20%u043F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u0435%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u0430.%0A//%20%u0421%u043F%u0435%u0446%u043A%u043B%u0430%u0432%u0438%u0448%u0430%20%u0432%u044B%u0437%u043E%u0432%u0430%20%u043A%u043E%u043D%u0442%u0435%u043A%u0441%u0442%u043D%u043E%u0433%u043E%20%u043C%u0435%u043D%u044E%20/%20Shift+Enter%20-%20%u0441%u0431%u0440%u043E%u0441%20%u0432%20%u0434%u0435%u0444%u043E%u043B%u0442%u043D%u043E%u0435%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435.%0A//%20Alt%20+%20M%20-%20%u043E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043C%u0435%u043D%u044E%20%u043A%u043D%u043E%u043F%u043A%u0438.%20%28%u0421%u043E%u0447%u0435%u0442%u0430%u043D%u0438%u0435%20%u043C%u043E%u0436%u043D%u043E%20%u0441%u043C%u0435%u043D%u0438%u0442%u044C%20%u043D%u0430%20%u0441%u0432%u043E%u0435.%20%u0421%u043C.%20%u0432%20%u043A%u043E%u043D%u0446%u0435%20%u043A%u043E%u0434%u0430%29%0A%5B%20%7BnodeName%3A%22menuitem%22%2C%20name%3A%22%u041E%u0442%u043A%u043B.%20%u0434%u0438%u0441%u043A%u043E%u0432%u043E%u0433%u043E%20%u043A%u044D%u0448%u0430%22%2C%20pref%3A%22browser.cache.disk.enable%22%2C%20userChoice%3A%22false%22%7D%2C%0A%20%20%7BnodeName%3A%22menuitem%22%2C%20name%3A%22%u041E%u0442%u043A%u043B.%20%u043A%u044D%u0448%u0430%20%u0432%20%u043E%u043F%u0435%u0440%u0430%u0442%u0438%u0432%u043D%u043E%u0439%20%u043F%u0430%u043C%u044F%u0442%u0438%22%2C%20pref%3A%22browser.cache.memory.enable%22%2C%20userChoice%3A%22false%22%7D%2C%0A%20%20%7BnodeName%3A%22menuseparator%22%7D%2C%0A%20%20%7BnodeName%3A%22menu%22%2C%20name%3A%22Back-story-cash%20%5BTessssttt%5D%22%2C%20pref%3A%22browser.sessionhistory.max_total_viewers%22%2C%20strValues%3A%220%2C%2C%2C0%22%7D%2C%0A%20%20%7BnodeName%3A%22menu%22%2C%20pref%3A%22image.animation_mode%22%2C%20key%3A%27i%27%2C%20userChoice%3A%22none%22%2C%20strValues%3A%22normal%2C%2C%2C%u0410%u043D%u0438%u043C%u0430%u0446%u0438%u044F%20%u043A%u0430%u0440%u0442%u0438%u043D%u043E%u043A%20%u0432%u043A%u043B.%2C%2C%2C%7C%7C%7Cnone%2C%2C%2C%u0410%u043D%u0438%u043C%u0430%u0446%u0438%u044F%20%u043A%u0430%u0440%u0442%u0438%u043D%u043E%u043A%20%u0432%u044B%u043A%u043B.%2C%2C%2C%22%7D%2C%0A%20%20%7BnodeName%3A%22menu%22%2C%20pref%3A%22network.cookie.cookieBehavior%22%2C%20key%3A%27k%27%2C%20userChoice%3A%221%22%2C%20strValues%3A%222%2C%2C%2C%u041D%u0435%20%u043F%u0440%u0438%u043D%u0438%u043C%u0430%u0442%u044C%20%u043A%u0443%u043A%u0438%20%u0441%20%u0441%u0430%u0439%u0442%u043E%u0432%2C%2C%2C%7C%7C%7C0%2C%2C%2C%u041F%u0440%u0438%u043D%u0438%u043C%u0430%u0442%u044C%20%u043A%u0443%u043A%u0438%20%u0441%u043E%20%u0441%u0442%u043E%u0440%u043E%u043D%u043D%u0438%u0445%20%u0441%u0430%u0439%u0442%u043E%u0432%20%u0432%u0441%u0435%u0433%u0434%u0430%2C%2C%2C%7C%7C%7C3%2C%2C%2C%u041F%u0440%u0438%u043D%u0438%u043C%u0430%u0442%u044C%20%u043A%u0443%u043A%u0438%20%u0441%u043E%20%u0441%u0442%u043E%u0440%u043E%u043D%u043D%u0438%u0445%20%u043F%u043E%u0441%u0435%u0449%u0451%u043D%u043D%u044B%u0445%20%u0441%u0430%u0439%u0442%u043E%u0432%2C%2C%2C%7C%7C%7C1%2C%2C%2C%u041F%u0440%u0438%u043D%u0438%u043C%u0430%u0442%u044C%20%u043A%u0443%u043A%u0438%20%u0441%u043E%20%u0441%u0442%u043E%u0440%u043E%u043D%u043D%u0438%u0445%20%u0441%u0430%u0439%u0442%u043E%u0432%20%u043D%u0438%u043A%u043E%u0433%u0434%u0430%2C%2C%2C%22%7D%2C%0A%20%20%7BnodeName%3A%22menuseparator%22%7D%2C%0A%20%20%7BnodeName%3A%22menuitem%22%2C%20name%3A%22%u041E%u0442%u043A%u043B.%20%u043B%u043E%u043A%u0430%u043B%u044C%u043D%u043E%u0433%u043E%20%u0445%u0440%u0430%u043D%u0438%u043B%u0438%u0449%u0430%20DB%22%2C%20pref%3A%22dom.indexedDB.enabled%22%2C%20key%3A%27d%27%7D%2C%0A%20%20%7BnodeName%3A%22menuitem%22%2C%20name%3A%22%u041E%u0442%u043A%u043B.%20%u043B%u043E%u043A%u0430%u043B%u044C%u043D%u043E%u0433%u043E%20%u0445%u0440%u0430%u043D%u0438%u043B%u0438%u0449%u0430%22%2C%20pref%3A%22dom.storage.enabled%22%2C%20key%3A%27s%27%7D%2C%0A%20%20%7BnodeName%3A%22menuseparator%22%7D%2C%0A//%7BnodeName%3A%22menuitem%22%2C%20name%3A%22%u041E%u0442%u043A%u043B.%20%u0438%u043D%u0444%u0443%20%u043D%u0430%u0447%u0430%u043B%u043E/%u043A%u043E%u043D%u0435%u0446%20%u0437%u0430%u0433%u0440%u0443%u0437%u043A%u0438%20%u0441%u0442%u0440%22%2C%20pref%3A%22dom.enable_performance%22%2C%20userChoice%3A%22false%22%7D%2C%0A%20%20%7BnodeName%3A%22menu%22%2C%20name%3A%22%u0412%u043A%u043B/%u0412%u044B%u043A%u043B%20Referer%22%2C%20pref%3A%22network.http.sendRefererHeader%22%2C%20strValues%3A%220%2C%2C%2C0%22%7D%2C%0A%20%20%7BnodeName%3A%22menuitem%22%2C%20name%3A%22%u0412%20%u043A%u0430%u0447%u0435%u0441%u0442%u0432%u0435%20%u0440%u0435%u0444%u0435%u0440%u0435%u0440%u0430%20%u043A%u043E%u0440%u0435%u043D%u044C%20%u0441%u0430%u0439%u0442%u0430%22%2C%20pref%3A%22network.http.referer.spoofSource%22%2C%20userChoice%3A%22true%22%7D%2C%0A%20%20%7BnodeName%3A%22menu%22%2C%20name%3A%22referer.trimmingPolicy%22%2C%20pref%3A%22network.http.referer.trimmingPolicy%22%2C%20strValues%3A%222%2C%2C%2C2%22%7D%2C%0A%20%20%7BnodeName%3A%22menuseparator%22%7D%2C%0A%20%20%7BnodeName%3A%22menuitem%22%2C%20name%3A%22%u0412%u043A%u043B/%u0412%u044B%u043A%u043B%20javascript%22%2C%20pref%3A%22javascript.enabled%22%2C%20key%3A%27j%27%2C%20userChoice%3A%22true%22%7D%2C%0A%20%20%7BnodeName%3A%22menuseparator%22%7D%2C%0A%20%20%7BnodeName%3A%22menuitem%22%2C%20pref%3A%22dom.workers.enabled%22%2C%20key%3A%27w%27%2C%20userChoice%3A%22false%22%7D%2C%0A%20%20%7BnodeName%3A%22menuitem%22%2C%20pref%3A%20%22media.autoplay.enabled%22%2C%20key%3A%27m%27%2C%20userChoice%3A%22false%22%7D%2C%0A%20%20%7BnodeName%3A%22menuitem%22%2C%20name%3A%22Punycode%20%u0430%u0440%u0440%u04CF%u0435.com%7Cxn--80ak6aa92e.com%22%2C%20pref%3A%22network.IDN_show_punycode%22%7D%2C//%5B%u0430%u0440%u0440%u04CF%u0435.com%7Cxn--80ak6aa92e.com%5D%20true%3Doff%0A%20%20%7BnodeName%3A%22menuitem%22%2C%20pref%3A%22xpinstall.signatures.required%22%7D%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//Check%20is%20compatibility%0A//%7BnodeName%3A%22menuitem%22%2C%20pref%3A%22browser.bookmarks.autoExportHTML%22%7D%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//BookmarksHtml%20%5Bfalse%3Dplaces.sqlite%5D%0A%20%20%7BnodeName%3A%22menuitem%22%2C%20pref%3A%22media.peerconnection.enabled%22%7D%2C%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20//WebRTC%20false%3Doff%21%0A%20%20%7BnodeName%3A%22menuseparator%22%7D%2C%0A%20%20%7BnodeName%3A%22menu%22%2C%20name%3A%22User%20Agent%22%2C%20pref%3A%22general.useragent.override%22%2C%20key%3A%27u%27%2C%20userChoice%3A%22Mozilla/5.0%20%28X11%3B%20U%3B%20Linux%20x86_64%3B%20rv%3A48.0%29%20Gecko/20100101%20Firefox/48.0%22%2C%20strValues%3A%22Mozilla/5.0%20%28X11%3B%20U%3B%20Linux%20x86_64%3B%20rv%3A48.0%29%20Gecko/20100101%20Firefox/48.0%2C%2C%2CFirefox48/Linux%7C%7C%7CMozilla/5.0%20%28X11%3B%20Linux%20x86_64%29%20AppleWebKit/537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome/57.0.2987.133%20Safari/537.36%2C%2C%2CChrome%2057/Linux%7C%7C%7CMozilla/5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_11_6%29%20AppleWebKit/537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome/57.0.2987.133%20Safari/537.36%2C%2C%2CChrome%2057/MacOSX%7C%7C%7CMozilla/5.0%20%28Macintosh%3B%20Intel%20Mac%20OS%20X%2010_12_4%29%20AppleWebKit/603.1.30%20%28KHTML%2C%20like%20Gecko%29%20Version/10.1%20Safari/603.1.30%2C%2C%2CSafari%20Generic/MacOSX%7C%7C%7CMozilla/5.0%20%28Windows%20NT%206.1%3B%20WOW64%3B%20rv%3A45.0%29%20Gecko/20100101%20Firefox/45.0%2C%2C%2CFirefox45/W7%7C%7C%7CMozilla/5.0%20%28Windows%20NT%206.1%29%20AppleWebKit/537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome/41.0.2228.0%20Safari/537.36%2C%2C%2CChrome41/W7%7C%7C%7CMozilla/5.0%20%28Windows%20NT%206.1%3B%20WOW64%29%20AppleWebKit/537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome/57.0.2987.133%20Safari/537.36%2C%2C%2CChrome57/W7%7C%7C%7COpera/9.80%20%28Windows%20NT%206.2%3B%20Win64%3B%20x64%29%20Presto/2.12%20Version/12.16%2C%2C%2COpera12/W8%7C%7C%7CMozilla/5.0%20%28Windows%20NT%2010.0%3B%20Win64%3B%20x64%29%20AppleWebKit/537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome/57.0.2987.133%20Safari/537.36%2C%2C%2CChrome57/W10%7C%7C%7CMozilla/5.0%20%28compatible%3B%20Googlebot/2.1%3B%20+http%3A//www.google.com/bot.html%29%2C%2C%2CGoogleBot%7C%7C%7CMozilla/5.0%20%28compatible%3B%20YandexBot/3.0%3B%20+http%3A//yandex.com/bots%29%2C%2C%2CYandexBot%7C%7C%7CMozilla/5.0%20%28compatible%3B%20Yahoo%21%20Slurp%3B%20http%3A//help.yahoo.com/help/us/ysearch/slurp%29%2C%2C%2CYahooBot%7C%7C%7CMozilla/5.0%20%28compatible%3B%20bingbot/2.0%3B%20+http%3A//www.bing.com/bingbot.htm%29%2C%2C%2CBingBot%7C%7C%7CDuckDuck%20bot/1.0%3B%20%28+http%3A//duckduckgo.com/duckduckbot.html%29%2C%2C%2CDuckDuckBot%7C%7C%7CMozilla/5.0%20%28compatible%3B%20Baiduspider/2.0%3B%20+http%3A//www.baidu.com/search/spider.html%29%2C%2C%2CBaiduspiderBot%7C%7C%7Cia_archiver%20%28+http%3A//www.alexa.com/site/help/webmasters%3B%20crawler@alexa.com%29%2C%2C%2CAlexaCrawlerBot%7C%7C%7CMozilla/5.0%20%28Linux%3B%20Android%205.1.1%3B%20SM-G928X%20Build/LMY47X%29%20AppleWebKit/537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome/47.0.2526.83%20Mobile%20Safari/537.36%2C%2C%2CSamsung%20Galaxy%20S6%20Edge%20Plus%7C%7C%7CMozilla/5.0%20%28Windows%20Phone%2010.0%3B%20Android%204.2.1%3B%20Microsoft%3B%20Lumia%20950%29%20AppleWebKit/537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome/46.0.2486.0%20Mobile%20Safari/537.36%20Edge/13.10586%2C%2C%2CMicrosoft%20Lumia%20950%7C%7C%7CMozilla/5.0%20%28Windows%20Phone%2010.0%3B%20Android%204.2.1%3B%20Xbox%3B%20Xbox%20One%29%20AppleWebKit/537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome/46.0.2486.0%20Mobile%20Safari/537.36%20Edge/13.10586%2C%2C%2CXbox%20One%7C%7C%7CMozilla/5.0%20%28PlayStation%204%203.11%29%20AppleWebKit/537.73%20%28KHTML%2C%20like%20Gecko%29%2C%2C%2CPlaystation%204%7C%7C%7C%2C%2C%2C%u041F%u0443%u0441%u0442%u043E%u0435%20%u0437%u043D%u0430%u0447%u0435%u043D%u0438%u0435%22%7D%2C%0A//%7BnodeName%3A%22menu%22%2C%20pref%3A%22general.useragent.locale%22%2C%20key%3A%27l%27%2C%20restart%3A%22%22%2C%20strValues%3A%22en-US%2C%2C%2CEnglish%2C%2C%2Ce%7C%7C%7Cru%2C%2C%2C%u0420%u0443%u0441%u0441%u043A%u0438%u0439%2C%2C%2Cr%22%7D%2C%0A%20%20%7BnodeName%3A%22menu%22%2C%20name%3A%22language%22%2C%20pref%3A%22intl.accept_languages%22%2C%20strValues%3A%22en-US%2C%20en%3Bq%3D0.5%2C%2C%2Cen-US%2C%20en%3Bq%3D0.5%2C%2C%2Ce%7C%7C%7Cen-US%2C%20en%2C%20ru-RU%2C%20ru%2C%2C%2Cen-US%2C%20en%2C%20ru-RU%2C%20ru%2C%2C%2Cr%22%7D%2C%0A%20%20%7BnodeName%3A%22menu%22%2C%20name%3A%22Platform%20Win32/Win64%22%2C%20pref%3A%22general.platform.override%22%2C%20strValues%3A%22Win32%2C%2C%2CWin32%2C%2C%2C%7C%7C%7CWin64%2C%2C%2CWin64%2C%2C%2C%22%7D%2C%0A//%7BnodeName%3A%22menu%22%2C%20pref%3A%22browser.display.document_color_use%22%2C%20key%3A%27c%27%2C%20userChoice%3A%220%22%2C%20strValues%3A%220%2C%2C%2CAutomatic%2C%2C%2C0%7C%7C%7C1%2C%2C%2CAlways%2C%2C%2C1%7C%7C%7C2%2C%2C%2CNever%2C%2C%2C2%22%7D%2C%0A//%7BnodeName%3A%22menu%22%2C%20pref%3A%22CB.TEST%22%2C%20key%3A%27t%27%2C%20userChoice%3A%22C%3A%5C%5CDownloads%5C%5CTEST1%22%2C%20strValues%3A%22C%3A%5C%5CDownloads%5C%5CTEST1%2C%2C%2CTEST1%2C%2C%2C1%7C%7C%7CC%3A%5C%5CDownloads%5C%5CTEST2%2C%2C%2CTEST2%2C%2C%2C2%22%7D%0A%5D.forEach%28function%28m%29%7Bvar%20mItem%3Ddocument.createElement%28m.nodeName%29%3Bvar%20browserRestart%3D%27%27%3B%0Aif%20%28%22restart%22%20in%20m%29%20browserRestart%3D%27%20if%20%28custombuttons.confirmBox%28null%2C%20%22Restart%3F%22%2C%20%22Yes%22%2C%20%22Cancel%22%29%29%20Services.startup.quit%28Services.startup.eAttemptQuit%20%7C%20Services.startup.eRestart%29%3B%27%3B%0Aif%20%28%22name%22%20in%20m%29%20mItem.setAttribute%28%27name%27%2Cm.name%29%3Bif%20%28%22pref%22%20in%20m%29%20%7BmItem.setAttribute%28%27closemenu%27%2C%27none%27%29%3B%0AmItem.setAttribute%28%27oncontextmenu%27%2C%27event.preventDefault%28%29%3Bcustombuttons.clearPrefs%28%22%27+m.pref+%27%22%29%3B%27+browserRestart%29%3B%7D%0Aif%20%28%22key%22%20in%20m%29%20mItem.setAttribute%28%27accesskey%27%2C%20m.key%29%3Bif%20%28m.nodeName%3D%3D%3D%22menuitem%22%29%20%7BmItem.setAttribute%28%27type%27%2C%27checkbox%27%29%3B%0AmItem.setAttribute%28%27oncommand%27%2C%27custombuttons.setPrefs%28%22%27+m.pref+%27%22%2C%21custombuttons.getPrefs%28%22%27+m.pref+%27%22%29%29%3Bif%20%28event.shiftKey%20%26%26%20event.keyCode%3D%3Devent.DOM_VK_RETURN%29%7Bevent.preventDefault%28%29%3Bcustombuttons.clearPrefs%28%22%27+m.pref+%27%22%29%7D%3B%27+browserRestart%29%3B%7D%0Aif%20%28m.nodeName%3D%3D%3D%22menu%22%29%7BmItem.setAttribute%28%27class%27%2C%27menu-iconic%27%29%3B%0A%0Avar%20subMenu%3DmItem.appendChild%28document.createElement%28%22menupopup%22%29%29%3B%0A%0Afor%20%28var%20value%20of%20m.strValues.split%28%27%7C%7C%7C%27%29%29%7Bvar%20submItem%3Ddocument.createElement%28%22menuitem%22%29%3Bvar%20smVal%3Dvalue.split%28%27%2C%2C%2C%27%29%5B0%5D%3B%0Avar%20smValConv%3DconvertFromUnicode%28%22UTF-8%22%2CsmVal%29%3Bvar%20smName%3Dvalue.split%28%27%2C%2C%2C%27%29%5B1%5D%3Bvar%20key%3Dvalue.split%28%27%2C%2C%2C%27%29%5B2%5D%3B%0A%0Akey%20%26%26%20submItem.setAttribute%28%27accesskey%27%2Ckey%29%3BsubmItem.setAttribute%28%27type%27%2C%27radio%27%29%3BsubmItem.setAttribute%28%27label%27%2CsmName%29%3BsubmItem.setAttribute%28%27tooltiptext%27%2CsmVal%29%3BsubmItem.setAttribute%28%27closemenu%27%2C%27none%27%29%3B%0AsubmItem.setAttribute%28%27oncommand%27%2C%27try%7Bcustombuttons.setPrefs%28%22%27+m.pref+%27%22%2C%22%27+smValConv.replace%28/%5C%5C/g%2C%27%5C%5C%5C%5C%27%29+%27%22%29%7Dcatch%28e%29%7BServices.prefs.setIntPref%28%22%27+m.pref+%27%22%2C%22%27+smValConv+%27%22%29%7D%3B%27+browserRestart%29%3B%0AsubMenu.appendChild%28submItem%29%3B%7D%7D%0A%0AmenuPopup.appendChild%28mItem%29%3B%0A%0A%20%20//%20%u041B%u0438%u0441%u0442%u0435%u043D%u0435%u0440%u044B%20%u043E%u0442%u0441%u043B%u0435%u0436%u0438%u0432%u0430%u044E%u0449%u0438%u0435%20%u043F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u0435%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432%0A%20%20//%20%u0438%20%u0443%u0441%u0442%u0430%u043D%u0430%u0432%u043B%u0438%u0432%u0430%u044E%u0449%u0438%u0435%20%u0441%u043E%u043E%u0442%u0432%u0435%u0442%u0441%u0442%u0432%u0443%u044E%u0449%u0438%u0435%20%u043D%u0430%u0437%u0432%u0430%u043D%u0438%u044F%20%u0438%20%u0447%u0435%u043A%u0431%u043E%u043A%u0441%u044B%20%u0434%u043B%u044F%20%u043F%u0443%u043D%u043A%u0442%u043E%u0432%20%u043C%u0435%u043D%u044E%20%u043F%u0440%u0438%20%u043E%u0442%u043A%u0440%u044B%u0442%u0438%u0438%20%u043C%u0435%u043D%u044E%20%u0438%20%u043A%u043B%u0438%u043A%u0430%u0445%0A%20%20for%20%28var%20type%20of%20%5B%27command%27%2C%27popupshowing%27%2C%27contextmenu%27%5D%29%7BaddEventListener%28type%2C%28e%29%3D%3E%7BsetTimeout%28%28%29%3D%3E%7Bif%20%28%22pref%22%20in%20m%29%7Bvar%20val%2Cdef%3B%0A%20%20%20def%3DServices.prefs.prefHasUserValue%28m.pref%29%3B%0A%20%20%20try%20%7Bval%3DServices.prefs.getComplexValue%28m.pref%2CCi.nsISupportsString%29.data%3B%7D%20catch%28e%29%20%7B%0A%20%20%20if%20%28Services.prefs.getPrefType%28m.pref%29%3D%3D64%29%20val%3Dcustombuttons.getPrefs%28m.pref%29.toString%28%29%3Belse%20val%3Dcustombuttons.getPrefs%28m.pref%29%3B%7D%0A%20%20%20def%20%3F%20mItem.style.setProperty%28%27font-weight%27%2C%20%27bold%27%2C%20%27important%27%29%20%3A%20mItem.style.removeProperty%28%27font-weight%27%29%3B%7D%0A%0A%20%20%20%20%20if%20%28m.nodeName%3D%3D%3D%27menuitem%27%29%7BmItem.setAttribute%28%27checked%27%2Cval%29%3BmItem.label%3D%28mItem.hasAttribute%28%27name%27%29%20%3F%20mItem.getAttribute%28%27name%27%29%20%3A%20m.pref%29+%27%20-%20%22%27+val+%27%22%27%3B%0A%20%20%20%20%20if%20%28%22userChoice%22%20in%20m%29%7Btry%20%7Bvar%20usrChc%3D%28val.toString%28%29%3D%3D%3Dm.userChoice%29%7D%20catch%28e%29%20%7BusrChc%3Dfalse%7D%3B%0A%0A%20%20%20%20%20mItem.setAttribute%28%27user-choice%27%2CusrChc%29%3BusrChc%20%3F%20mItem.style.removeProperty%28%27color%27%29%20%3A%20mItem.style.setProperty%28%27color%27%2C%27orangered%27%2C%27important%27%29%3B%7D%7D%0A%20%20%20%20%20if%20%28subMenu%29%7Bfor%20%28var%20smitem%20of%20subMenu.getElementsByTagName%28%27menuitem%27%29%29%20%7Bvar%20smval%3Dsmitem.getAttribute%28%27tooltiptext%27%29%3Bsmitem.setAttribute%28%27checked%27%2C%28val%3D%3D%3Dsmval%29%20%3F%20true%20%3A%20false%29%3B%7D%7D%0A%20%20%20%20%20if%20%28m.nodeName%3D%3D%3D%22menu%22%29%20%7Bvar%20vname%3B%0A%20%20%20%20%20try%20%7Bvname%3DsubMenu.getElementsByAttribute%28%27checked%27%2C%27true%27%29%5B0%5D.getAttribute%28%27label%27%29%3B%7D%20catch%28e%29%20%7Bif%20%28%21Services.prefs.prefHasUserValue%28m.pref%29%29%20vname%3D%27Default%27%3Belse%20vname%3D%27Other%27%3B%7D%0A%0A%20%20%20%20%20mItem.setAttribute%28%27label%27%2C%28mItem.hasAttribute%28%27name%27%29%20%3F%20mItem.getAttribute%28%27name%27%29%20%3A%20m.pref%29+%27%20-%20%22%27+vname+%27%22%27%29%3B%0A%20%20%20%20%20mItem.setAttribute%28%27tooltiptext%27%2Cval%20%7C%7C%20%27This%20preferences%20has%20null%20value%20or%20does%20not%20exist.%27%29%3B%0A%0A%20%20%20%20%20if%20%28%22userChoice%22%20in%20m%29%20%7Bvar%20smUsrChc%3D%28val%3D%3D%3Dm.userChoice.toString%28%29%29%3BmItem.setAttribute%28%27user-choice%27%2CsmUsrChc%29%3B%0A%20%20%20%20%20smUsrChc%20%3F%20mItem.style.removeProperty%28%27color%27%29%20%3A%20mItem.style.setProperty%28%27color%27%2C%27orangered%27%2C%27important%27%29%3B%7D%7D%0A%0A%20%20%20%20%20if%20%28%22userChoice%22%20in%20m%29%20%7Bvar%20hasNotUserChoice%3DmenuPopup.getElementsByAttribute%28%27user-choice%27%2C%27false%27%29%5B0%5D%3Bcustombuttons.setPrefs%28s%2ChasNotUserChoice%20%3F%20true%20%3A%20false%29%3B%7D%7D%2C%200%29%7D%2Cfalse%2CmenuPopup%29%7D%7D%29%3B%0A%0A//%20%u041B%u0438%u0441%u0442%u0435%u043D%u0435%u0440%20%u043F%u043E%u0437%u0432%u043E%u043B%u044F%u044E%u0449%u0438%u0439%20%u0441%u0431%u0440%u043E%u0441%20%u043F%u0430%u0440%u0430%u043C%u0435%u0442%u0440%u043E%u0432%20%u0441%20%u0441%u0443%u0431%u043C%u0435%u043D%u044E%20%u043F%u043E%20Shift%20+%20Enter%0A//%20%u0417%u0430%20%u043A%u043E%u0434%20%u0441%u043F%u0430%u0441%u0438%u0431%u043E%20Dumby%0AaddEventListener%28%22popupshown%22%2C%7BhandleEvent%3A%20function%28e%29%7Bthis%5Be.type%5D%28e%29%3B%7D%2C%0Apopupshown%3A%20function%28e%29%20%7Bif%20%28e.target%21%3DmenuPopup%29%20return%3BmenuPopup.addEventListener%28%22popuphidden%22%2C%20this%2C%20false%29%3Bwindow.addEventListener%28%22keydown%22%2C%20this%2C%20true%29%3B%7D%2C%0Apopuphidden%3A%20function%28e%29%20%7Bif%20%28e.target%21%3DmenuPopup%29%20return%3BmenuPopup.removeEventListener%28%22popuphidden%22%2C%20this%2C%20false%29%3Bwindow.removeEventListener%28%22keydown%22%2C%20this%2C%20true%29%3B%7D%2C%0Apopupshowing%3A%20function%28e%29%20%7Be.target.parentNode.removeEventListener%28%22popupshowing%22%2C%20this%2C%20false%29%3Be.preventDefault%28%29%3B%7D%2Cget%20old%28%29%20%7Bdelete%20this.old%3B%0Athis.e%20%3D%20new%20MouseEvent%28%22contextmenu%22%2C%20%7B%7D%29%3Breturn%20this.old%3DparseInt%28Services.appinfo.platformVersion%29%20%3C%2025%3B%7D%2Cget%20prop%28%29%20%7Bdelete%20this.prop%3B%0Aif%20%28%22key%22%20in%20KeyboardEvent.prototype%29%20this.prop%20%3D%20%22key%22%2C%20this.val%3D%22Enter%22%3Belse%20this.prop%20%3D%20%22keyCode%22%2C%20this.val%3DKeyboardEvent.DOM_VK_RETURN%3Breturn%20this.prop%3B%7D%2C%0Akeydown%3A%20function%28e%29%20%7Bif%20%28%21e.shiftKey%20%7C%7C%20e.ctrlKey%20%7C%7C%20e.altKey%20%7C%7C%20e%5Bthis.prop%5D%20%21%3D%20this.val%29%20return%3Bvar%20target%3DmenuPopup.querySelector%28%22menu%5B_moz-menuactive%5D%3Anot%28%5Bopen%5D%29%22%29%3B%0Aif%20%28%21target%29%20return%3Bthis.old%20%3F%20target.addEventListener%28%22popupshowing%22%2C%20this%2C%20false%29%20%3A%20e.stopPropagation%28%29%3Btarget.dispatchEvent%28this.e%29%3BmenuPopup.dispatchEvent%28this.e%29%3B%7D%7D%2C%20false%2C%20menuPopup%29%3B%0A%0A//%20%u041E%u0442%u043A%u0440%u044B%u0442%u044C%20%u043C%u0435%u043D%u044E%20%u043A%u043D%u043E%u043F%u043A%u0438%20%u043F%u043E%20%u0441%u043E%u0447%u0435%u0442%u0430%u043D%u0438%u044E%20%u043A%u043B%u0430%u0432%u0438%u0448%20Alt%20+%20M%20%28%u043D%u0435%20%u0437%u0430%u0432%u0438%u0441%u0438%u0442%20%u043E%u0442%20%u0442%u0435%u043A%u0443%u0449%u0435%u0439%20%u0440%u0430%u0441%u043A%u043B%u0430%u0434%u043A%u0438%20%u043A%u043B%u0430%u0432%u0438%u0430%u0442%u0443%u0440%u044B%29%0A//%20%u041F%u043E%u0441%u043C%u043E%u0442%u0440%u0435%u0442%u044C%20%u043A%u043E%u0434%u044B%20%u043A%u043B%u0430%u0432%u0438%u0448%20%u043C%u043E%u0436%u043D%u043E%20%u0437%u0434%u0435%u0441%u044C%3A%20https%3A//developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode%23Constants_for_keyCode_value%0AaddEventListener%28%27keyup%27%2C%28e%29%3D%3E%7Bif%20%28e.altKey%20%26%26%20%21e.shiftKey%20%26%26%20%21e.ctrlKey%20%26%26%20e.keyCode%3D%3D77%29%7Be.preventDefault%28%29%3Be.stopPropagation%28%29%3B%0AmenuPopup.showPopup%28this%2C-1%2C-1%2C%22popup%22%2C%22bottomleft%22%2C%22topleft%22%29%3B%7D%7D%2Cfalse%2Cwindow%29%3B%0A//%20%u041A%u043E%u043D%u0432%u0435%u0440%u0442%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0442%u0435%u043A%u0441%u0442%20%u0432%20%u044E%u043D%u0438%u043A%u043E%u0434%20.............%0Afunction%20convertFromUnicode%28charset%2Cstr%29%20%7Bvar%20converter%3DCc%5B%22@mozilla.org/intl/scriptableunicodeconverter%22%5D.createInstance%28Ci.nsIScriptableUnicodeConverter%29%3B%0Aconverter.charset%3Dcharset%3Bstr%3Dconverter.ConvertFromUnicode%28str%29%3Breturn%20str+converter.Finish%28%29%3B%7D%3B%0A%0A%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

-----------------------------------------------------------------------------------------------------
Добавлено 24-08-2017 22:10:09

Retif пишет:

_zt, спасибо, кэп. Но в предыдущих версиях фаерфокса я выделял с кнопкой без всякого альта.

Попробуй это, но скрипт наверно будет лучше.

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u041F%u0435%u0440%u0435%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u0435%20%u0432%u044B%u0434%u0435%u043B%u0435%u043D%u0438%u044F%20%u0441%u0441%u044B%u043B%u043E%u043A%20Ctrl+Alt+%5D%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAL+SURBVBgZBcFNaJtlAMDx//ORjzZbs7TJkmowbJcdZqr1oNavCiIIMraBh0IY7uZx8+OiVw9SQZgXp3gR3A5OtIigcxMcylyqVPADh0WNpO2bpk2bvm3e5P163sffT1hrATj/2drDwKXjR7JzwyhhGCVEScIoTlzgAOgBBugDO8DHwA0NAJDE8SMPVA7NvTpfAgAAwAuT/DBM8n3fVMMIDgLDf70BX//jPQtc1AAASRyXJ9ICgLU9Q0oItAClIZOS3JeRKClJKZitjnFPPjf54U/OOxIAwETRRE5DnMBBKHAj2AvA9cH1YWcEWwMDwOtX28wdy3F/MVXSAAAmiiYPpyVeAJ5vkFKgAaVAKlAIlIAEEGaf5r99fmm7jgYAMGFYzo8p3FHMMLBIaVESpBEoCQqLUoBVdPcD3r359z5wXgMAxGFYK0+kcH1LDGBBGYG0gAGFRVtJYsGkDHEYH/vi5cd3JQCACYNaJZ/BCy1CghICCUhAAADCgrUQBwEmDAyABnjuzetjWsl0JiUJjUFiAYsFDAIAAUgJkTEMvGEM7ANogDgIS7lcFinAD3xav/2Iu/4npakCTneHk0+d4dDhSW5f/4jfiwUek1uy67Rfm59/6z0NYMJgXOfSWBOxfONT8tLjxXMNPM9jfX2dZvMrVCrL2dOn0FrR6XTkysrK2+12uySeuHClCFw+Mz/7wvHsFs3vv2WhscDVT77kr1/vMF2pUK/X6XQ69Ho9OpubpI9Ut155qXF0aWnJ1SYMnwGeX7nb4k77Z2aq4wD0y6cYDG+xsLBAoVBgMBiwvb3N5fc/YHf8wW+Ac/l8PqNNFD10+umZsTcaj3Ltmkez2QSgtvs5a9KyuLhILpcDwPM8bJIwtXv7STjJxsaGr00UtTZ7Lldu3iXU0/TdAT98d4v6zAz1ep1ut8vq6iqZTIZarUa5XMYPo6PLy8t7juNsitnGpSJwEahhk6KK9qpToz9O3Fsp6kw6LYSA1qhEdnyCaVpYm9go8H3Hcbqe5539H/YvZvvl5HpaAAAAAElFTkSuQmCC%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%0Avar%20links%20%3D%20window.content.document.getElementsByTagName%28%22a%22%29%3B%0A%20%20%20%20for%28var%20i%20%3D%200%3B%20i%20%3C%20links.length%3B%20i++%29%20%7B%0A%20%20%20%20%20%20%20%20var%20href%20%3D%20links%5Bi%5D.getAttribute%28%27href%27%29%3B%0A%20%20%20%20%20%20%20%20if%28href%20%21%3D%20null%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20links%5Bi%5D.removeAttribute%28%27href%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20links%5Bi%5D.setAttribute%28%27_href%27%2C%20href%29%3B%0A%20%20%20%20%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20href%20%3D%20links%5Bi%5D.getAttribute%28%27_href%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%28href%20%21%3D%20null%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20links%5Bi%5D.setAttribute%28%27href%27%2C%20href%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20links%5Bi%5D.removeAttribute%28%27_href%27%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5BAlt+Ctrl+%5D%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

Отредактировано Gladius333 (24-08-2017 22:13:09)

Отсутствует

 

№1207225-08-2017 00:25:13

Rag
Участник
 
Группа: Members
Зарегистрирован: 06-03-2017
Сообщений: 216
UA: Firefox 55.0

Re: Custom Buttons

Gladius333
Спасибо конечно за ''Quick toggle for about:config preferences'' но это совершенно не то.Единственное отдалённое сходство это вкл/выкл JavaScript.А в моей хотелке кнопка должна делать всё как Переключить JavaScript для сайтов но на оборот.

Отсутствует

 

№1207325-08-2017 08:33:47

Retif
Участник
 
Группа: Members
Зарегистрирован: 14-09-2014
Сообщений: 54
UA: Firefox 55.0

Re: Custom Buttons

Gladius333 пишет:

Попробуй это, но скрипт наверно будет лучше.

Гм, я извиняюсь, а как им пользоваться?

Отсутствует

 

№1207425-08-2017 11:04:16

manuk
Участник
 
Группа: Members
Зарегистрирован: 17-10-2010
Сообщений: 201
UA: Firefox 52.0

Re: Custom Buttons

При активной кнопке "Уменьшить яркость на всех страницах" видео HTML5 (например на YouTube) перекрывает полосу управления плеером. Можно исправить?
P.S. При использовании Screen Dimmer такого нет.

Отсутствует

 

№1207525-08-2017 12:15:28

Gladius333
Забанен
 
Группа: Members
Зарегистрирован: 11-02-2017
Сообщений: 92
UA: Firefox 52.0

Re: Custom Buttons

Retif пишет:

Gladius333 пишет:

Попробуй это, но скрипт наверно будет лучше.

Гм, я извиняюсь, а как им пользоваться?

Ну он как бы ссылки отключает, и ты можешь копировать текст, только все время придется вкл/выкл... а так кнопка мне не нравиться. Лучше помойму как тебе писали через Alt или скриптом. Кстати если мне надо копирнуть просто с краев обвожу и все, но теперь буду еще и Alt-ом...
forum.mozilla-russia.org/viewtopic.php?id=41987&p=1...  тут кстати тоже есть какая-та кнопка для этого, название непомню.

Отсутствует

 

Board footer

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