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

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

№1137628-02-2017 21:30:38

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

Re: Custom Buttons

После вот этой истории я все же не поленился и сделал подписанную исправленную версию:
http://custombuttons.sourceforge.net/fo … 778#p53778 (оригинальную версию надо отключить или удалить)
Или можно отключить проверку цифровых подписей и поставить поверх.


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

Отсутствует

 

№1137701-03-2017 18:50:40

dedfor
Участник
 
Группа: Members
Зарегистрирован: 22-12-2016
Сообщений: 62
UA: Chrome 56.0

Re: Custom Buttons

Ранее задавал вопрос, но как то тема осталась без ответа
Помогите, пожалуйста, создать кнопку, которая бы изменяла регион в Яндексе.
Поясняю: Открываем страницу https://yandex.ru/search/?text=замена экрана,
опускаемся вниз и видим регион Москва (у вас он может быть другой).
Нужна кнопка, при нажатии на которую, Москва поменялась бы, скажем, на Омск.
Я пошёл по такому пути:

Выделить код

Код:

function region_change() {
region_second = content.document.getElementsByClassName('input__control input__input');
region_second[0].value="Омск";
region_second[0].focus();}
//Begin:
content.document.getElementsByClassName('link region-change__link')[0].click();
setTimeout(region_change,3000);

Дальше надо выбрать Омск из выпадающего списка и нажать СОХРАНИТЬ, но как это сделать- не знаю.
Всё поперепробовал-облом.

Отсутствует

 

№1137801-03-2017 20:53:15

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

Re: Custom Buttons

dedfor пишет

Дальше надо выбрать Омск из выпадающего списка и нажать СОХРАНИТЬ, но как это сделать- не знаю.
Всё поперепробовал-облом.

А может не надо выбирать из выпадающего списка, а просто вставить слово Омск в окошко:

Выделить код

Код:

content.document.getElementById("city__front-input").value = "Омск";

и нажать сохранить.

Отсутствует

 

№1137901-03-2017 21:15:44

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

Re: Custom Buttons

bunda1 Посмотрите пожалуйста мою просьбу-https://forum.mozilla-russia.org/viewto … 54#p731554

Отсутствует

 

№1138002-03-2017 05:27:13

dedfor
Участник
 
Группа: Members
Зарегистрирован: 22-12-2016
Сообщений: 62
UA: Chrome 56.0

Re: Custom Buttons

bunda1 пишет

dedfor пишет: Дальше надо выбрать Омск из выпадающего списка и нажать СОХРАНИТЬ, но как это сделать- не знаю. Всё поперепробовал-облом.А может не надо выбирать из выпадающего списка, а просто вставить слово Омск в окошко:Выделить кодКод:content.document.getElementById("city__front-input").value = "Омск";и нажать сохранить.

Нет, так я пробовал- в этом случае кнопка СОХРАНИТЬ не активна.

Отсутствует

 

№1138102-03-2017 07:42:11

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1700
UA: Firefox 50.0

Re: Custom Buttons

Ребята, если ен сложно, сделайте пожалуйста кнопку.
Например во вклаке открыт локальный файл (jpeg, pdf, maff), возможно ли сделать так что бы он удалялся по нажатию кнопки?

Отредактировано Stakhovsky (02-03-2017 07:45:10)

Отсутствует

 

№1138202-03-2017 12:01:33

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

Re: Custom Buttons

dedfor пишет

Нет, так я пробовал- в этом случае кнопка СОХРАНИТЬ не активна.

Ну тогда попробуй имитировать нажатие Enter.

Добавлено 02-03-2017 12:28:38

Duche пишет

bunda1 Посмотрите пожалуйста мою просьбу-https://forum.mozilla-russia.org/viewto … 54#p731554

Не знаю как такое сделать.

Отредактировано bunda1 (02-03-2017 12:28:38)

Отсутствует

 

№1138302-03-2017 14:36:38

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

Re: Custom Buttons

bunda1  Добрый день.  Посмотрите пожалуйста . Пытался сам добавить всплывающую подсказку к дополнению к контекстного меню "Очистил куки, кеш текущего сайта и удалил Flash куки'" с кодом приведённом ниже.

Выделить код

Код:

// Всплывающее сообщение ....
   Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService)
   .showAlertNotification(self.image, self.label, 'Очистил куки, кеш текущего сайта и удалил Flash куки'');

Всплывающее сообщение появляется в виде 13082119.jpg. С захватом названия кнопки где установлен код. Поправьте пожалуйста "Всплывающее сообщение" что бы  оно появлялось в виде "Очистил куки, кеш текущего сайта и удалил Flash куки'" без захвата названия кнопки, с фав иконкой сайта с которого удаляем куки и "Всплывающее сообщение" было расположено  в верху справа. Заранее спасибо

Код кнопки целиком.

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

Выделить код

Код:

// Удалить куки текущего сайта в контекстном меню на странице, от 06.02.2017. ................
  
(()=> {
(contextMenu=> {
   var menu = contextMenu.appendChild(document.createElement("menu"));
   menu.id = "content-removeCookies."
   menu.setAttribute("label", "Удалить куки текущего сайта");
   menu.setAttribute("class", "menu-iconic");
   addEventListener("popupshowing", ()=> menu.setAttribute("image", gBrowser.mCurrentTab.image), false, contextMenu);
   addDestructor(()=> menu.remove() );
   
   var menuPopup = menu.appendChild(document.createElement("menupopup"));
   var menuitem = menuPopup.appendChild(document.createElement("menuitem"));               
   menuitem.setAttribute("label", "Удалить");
   menuitem.onclick =()=> {
      var host = Services.eTLD.getBaseDomain(gBrowser.currentURI);

      for ( var en = Services.cookies.enumerator; en.hasMoreElements(); ) {
            var cookie = en.getNext().QueryInterface(Ci.nsICookie);
            ~cookie.host.indexOf(host.trim()) && Services.cookies.remove(cookie.host, cookie.name, cookie.path, false); 
            }
   
      var reversedDomain = host.split("").reverse().join("") + ".";
      Cu.import("resource://gre/modules/FileUtils.jsm");
      var file = FileUtils.getFile("ProfD", ["webappsstore.sqlite"]);
      var dbConn = Services.storage.openDatabase(file);
      dbConn.executeSimpleSQL("DELETE FROM webappsstore2 WHERE scope LIKE \"%" + reversedDomain +"%\"");
      dbConn.close();
      
      var host = content.document.domain;
      for( var tab of gBrowser.tabs ) {  
           var tabHost = tab.linkedBrowser.contentDocument.location.host;
           if ( host == tabHost ) gBrowser.reloadTab(tab);
           }
          
          // очистить кэш ....
   try { 
       Services.cache.evictEntries(1);
       Services.cache.evictEntries(2);
       } 
   catch(e) { Services.cache2.clear() };
   
          // удалить все Flash куки
          
   var dir = Services.dirsvc.get('Home', Ci.nsIFile);
   dir.append("Application Data");
   dir.append("Macromedia");
   //dir.remove(true);
   //dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777);
   dir.exists() && dir.remove(true);                      // Удалить Flash кукисы222 ....
   !dir.exists() && dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777);
   
   // Всплывающее сообщение ....
   Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService)
   .showAlertNotification(self.image, self.label, 'Очистил куки, кеш текущего сайта и удалил Flash куки'');
   
  };
})(document.getElementById("contentAreaContextMenu"));
})();

Отредактировано Duche (02-03-2017 15:14:19)

Отсутствует

 

№1138402-03-2017 15:02:15

dedfor
Участник
 
Группа: Members
Зарегистрирован: 22-12-2016
Сообщений: 62
UA: Chrome 56.0

Re: Custom Buttons

bunda1 пишет

dedfor пишет:
Нет, так я пробовал- в этом случае кнопка СОХРАНИТЬ не активна.
Ну тогда попробуй имитировать нажатие Enter.

Получается только нажатие Enter вручную(но сначала нужен фокус), а вот программно Enter не пролазит. И клик в область x,y тоже не работает так как точка клика оказывается в плоскости под выпадающим меню.
Если бы всё было так просто, разве я стал бы вас беспокоить. Если не трудно, то напишите полный код и испытайте,
а потом уже сюда ответ дадите. Здесь скорее всего нерешимая задача. Спасибо!

Отредактировано dedfor (02-03-2017 17:46:55)

Отсутствует

 

№1138502-03-2017 22:24:18

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

Re: Custom Buttons

Duche пишет

Пытался сам добавить всплывающую подсказку к дополнению к контекстного меню "Очистил куки, кеш текущего сайта и удалил Flash куки'" с кодом приведённом ниже. С захватом названия кнопки где установлен код. Поправьте пожалуйста "Всплывающее сообщение" что бы  оно появлялось в виде "Очистил куки, кеш текущего сайта и удалил Flash куки'" без захвата названия кнопки, с фав иконкой сайта с которого удаляем куки и "Всплывающее сообщение" было расположено  в верху справа.

Выделить код

Код:

// Удалить куки текущего сайта в контекстном меню на странице, от 06.03.2017. ................
(contextMenu=> {
   var menu = contextMenu.appendChild(document.createElement("menu"));
   menu.id = "content-removeCookies."
   menu.setAttribute("label", "Удалить куки текущего сайта");
   menu.setAttribute("class", "menu-iconic");
   addEventListener("popupshowing", ()=> menu.setAttribute("image", gBrowser.mCurrentTab.image), false, contextMenu);
   addDestructor(()=> menu.remove() );
   
   var menuPopup = menu.appendChild(document.createElement("menupopup"));
   var menuitem = menuPopup.appendChild(document.createElement("menuitem"));               
   menuitem.setAttribute("label", "Удалить");
   menuitem.onclick =()=> {
      var host = Services.eTLD.getBaseDomain(gBrowser.currentURI);

      for ( var en = Services.cookies.enumerator; en.hasMoreElements(); ) {
            var cookie = en.getNext().QueryInterface(Ci.nsICookie);
            ~cookie.host.indexOf(host.trim()) && Services.cookies.remove(cookie.host, cookie.name, cookie.path, false); 
            }
   
      var reversedDomain = host.split("").reverse().join("") + ".";
      Cu.import("resource://gre/modules/FileUtils.jsm");
      var file = FileUtils.getFile("ProfD", ["webappsstore.sqlite"]);
      var dbConn = Services.storage.openDatabase(file);
      dbConn.executeSimpleSQL("DELETE FROM webappsstore2 WHERE scope LIKE \"%" + reversedDomain +"%\"");
      dbConn.close();
      
      var host = content.document.domain;
      for( var tab of gBrowser.tabs ) {  
           var tabHost = tab.linkedBrowser.contentDocument.location.host;
           if ( host == tabHost ) gBrowser.reloadTab(tab);
           }
          
      // очистить кэш ....
      try { 
          Services.cache.evictEntries(1);
          Services.cache.evictEntries(2);
          } 
      catch(e) { Services.cache2.clear() };
   
      // удалить все Flash куки
      var dir = Services.dirsvc.get('Home', Ci.nsIFile);
      dir.append("Application Data");
      dir.append("Macromedia");
      //dir.remove(true);
      //dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777);
      dir.exists() && dir.remove(true);                      // Удалить Flash кукисы222 ....
      !dir.exists() && dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777);
   
      // Всплывающее сообщение ....
      var win = openDialog("chrome://global/content/alerts/alert.xul", "", "popup=yes", (gBrowser.mCurrentTab.image || "chrome://global/skin/icons/Portrait.png"),
           "", "Очистил куки, кеш текущего сайта и удалил Flash куки", false, null, 4);
      setTimeout(()=> win && win.close(), 2500);          
  };
})(document.getElementById("contentAreaContextMenu"));

Отсутствует

 

№1138602-03-2017 23:00:58

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

Re: Custom Buttons

dedfor пишет

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

Вот так сразу откроется Омск:

Выделить код

Код:

gBrowser.selectedTab = gBrowser.addTab("https://yandex.ru/search/?text=замена экрана&lr=66");

Отсутствует

 

№1138703-03-2017 05:19:00

dedfor
Участник
 
Группа: Members
Зарегистрирован: 22-12-2016
Сообщений: 62
UA: Chrome 56.0

Re: Custom Buttons

bunda1 пишет

Вот так сразу откроется Омск: gBrowser.selectedTab = gBrowser.addTab("https://yandex.ru/search/?text=замена экрана&lr=66");

Спасибо за ответ, но это не то. Мне нужна смена региона внизу странички(для скрина), а не только в строке УРЛ:

Выделить код

Код:

//Открываем "https://yandex.ru/search/?text=замена экрана"  и жмём эту кнопку:

function scroll_down(){content.scrollTo(0, content.scrollMaxY)};

function press_return(){var evt = document.createEvent("KeyEvents");                
evt.initKeyEvent("keypress",true,true,null,false,false,false,false,evt.DOM_VK_RETURN,0);
document.activeElement.nodeName== "browser"
?gBrowser.contentDocument.activeElement.dispatchEvent(evt):document.activeElement.dispatchEvent(evt);}

function region_change() {region= gClipboard.read();
content.document.getElementById("city__front-input").value = region;
content.document.getElementById("city__front-input").focus();}

//Begin:
content.document.getElementsByClassName('link region-change__link')[0].click();
setTimeout(region_change,3000);
//Здесь я быстренько жму Enter вручную, а программно не срабатывает. Почему? И что сюда вписать?
setTimeout(press_return,5000);//А этот (второй) Enter- срабатывает. 
setTimeout(scroll_down, 7000);//Опускаюсь вниз и вижу и скриню новый регион!

Отредактировано dedfor (03-03-2017 14:08:11)

Отсутствует

 

№1138803-03-2017 08:41:16

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

Re: Custom Buttons

bunda1 Спасибо большое за отзывчивость и помощь.

Отсутствует

 

№1138903-03-2017 22:42:55

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

Re: Custom Buttons

Привет.
Не убирается конт. меню , когда хочу сделать действие для dblclk. Хочу закрытие вкладки по "двойному правому"(из примеров что тут были раньше запостены и с годик назад оно работало как надо):

Выделить код

Код:

// ======== Закрыть вкладку двойным правым кликом, от 05.02.2015. ======================
  (function() {
     document.addEventListener("dblclick", (e)=>{
            if ( e.button !=2) return;
               e.preventDefault();
//               e.stopPropagation();
              gBrowser.removeCurrentTab();
              document.getElementById("contentAreaContextMenu").hidePopup(); 
           },false, gBrowser );
 })();

а сейчас срабатывает, вкладка закрываеццо и меню скрывает, но через секунду. Оно все равно появляется, мелькает. Есть более жесткий способ чем preventDefault() ?


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

Отсутствует

 

№1139003-03-2017 23:13:19

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

Re: Custom Buttons

Кнопка restyleScrollbar. (также меняет стиль для tooltip - подсказок. закоментировать на вкладке Help вверху)
Делает полосу прокрутки нормального вида, без желобка, полупрозрачную, немешающую размерам сайтов.
URl

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

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EHide%20scrollbar%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAGABoAwAAFgAAACgAAAAQAAAAIAAAAAEAGAAAAAAAQAMAAAAAAAAAAAAAAAAAAAAAAAAI0OAI0OAI0OAJ0OAJ0OAJ0OAI0OAI0OAI0OAI0OAI0OEJ0OAJ0OAJ0OEI0OAI0OAI0OAI0OAIz+AIzt8Izt8Hz98I0OAI0OAI0OAI0OAIz+AIzt8Izt8Iz98I0OAI0OAI0OAAz9842uaq7/So7/Rv4+wAzt8J0OAP0eEAzd5D2+if7vOv8PVo4uwEz+AIz+AJ0OAAzd9X3+r///////+18fUAzd4J0OAT0uEAy9xw4+34/v7///+m7/QIzt8J0OAJ0OAAzd9S3+r///////+m7vQAzd4J0OAS0uEAzN1m4ezu/P3///+c7fMHzt8J0OAI0OABz98n1uRy5O1w4u1K2+gCz98J0OAM0eAAzt8u1+Rr4ux35O5G2+cGz98I0eAI0OAJ0OAEzuAAy90Ay90Czd4H0OAI0OAH0OAK0OADzt8Ay9wAy9wAzd4J0OAI0OAI0OAI0OAL0OAS0uET0uEP0eEI0OAI0OAI0OAH0OAM0eES0uET0uEP0uEI0OAI0OAI0OAI0OAI0OAJ0OAJ0OAJ0OAI0OAI0OAI0OAI0OAJ0OAJ0OAJ0OAJ0OAI0OAI0OAI0OAI0OAE0N8Azd4Azd4Czt8J0OAJ0OAI0OAJ0OADz98Azd4Azd4Azt8H0OAI0OAI0OAAzt882ua48fa08PV15e4Azt4J0OAP0uEAzd5J3Oit7/S+8vdv5OwHz98I0OEJ0OAAzd9X3+r///////+08fUAzd4J0OAT0uEAy9xw4+34/v7///+m7/QIzt8J0OAJ0OAAzd9X3+r///////+28fUAzd4J0OAT0uEAy9xx4+34/v7///+m7/QIzt8J0OAI0OAE0OAg1eNa4OpY4Os82ucDz98I0OAL0OABzt8m1uRU3upb4Oo52uYGz+AJ0OAI0OAI0OAF0OAAzd8Azd8Czt8I0OAI0OAI0OAK0OAD0N8Azd8Azd8Bz98I0OAI0OAI0OAI0OAI0OAJ0OAJ0OAJ0OAI0OAI0OAI0OAI0OAI0OAJ0OAJ0OAI0OAI0OAI0OAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B%0A%20this.onclick%20%3D%20function%28e%29%20%7B%0A%20%20%20%20var%20css%20%3D%20makeURI%28%22data%3Atext/css%2C%22%20+%20encodeURIComponent%28%20this.Help%20%29%29%3B%0A%20%20%20%20const%20sss%20%3D%20Cc%5B%22@mozilla.org/content/style-sheet-service%3B1%22%5D.getService%28Ci.nsIStyleSheetService%29%3B%20%20%0A%20%20%20%20const%20icon%20%3D%20this.ownerDocument.getAnonymousElementByAttribute%28this%2C%20%22class%22%2C%20%22toolbarbutton-icon%22%29%3B%0A%0A%20%20%20%20%20if%20%28%20e.button%20%3D%3D%200%20%29%20%7B%0A%20%20%20%20%20%20%20%20%20var%20uri%20%3D%20css%3B%0A%20%20%20%20%20%20%20%20%20%20var%20enabled%20%3D%20sss.sheetRegistered%28%20uri%2C%20sss.AGENT_SHEET%20%29%3B%0A%20%20%20%20%20%20%20%20%20%20enabled%20%3F%20sss.unregisterSheet%28%20uri%2C%20sss.AGENT_SHEET%20%29%20%3A%20sss.loadAndRegisterSheet%28%20uri%2C%20sss.AGENT_SHEET%20%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20this.style.filter%20%3D%20enabled%20%3F%20%22%22%20%3A%20%27url%28%22data%3Aimage/svg+xml%3Butf8%2C%3Csvg%20xmlns%3D%5C%27http%3A//www.w3.org/2000/svg%5C%27%3E%3Cfilter%20id%3D%5C%27grayscale%5C%27%3E%3CfeColorMatrix%20type%3D%5C%27matrix%5C%27%20values%3D%5C%270.3333%200.3333%200.3333%200%200%200.3333%200.3333%200.3333%200%200%200.3333%200.3333%200.3333%200%200%200%200%200%201%200%5C%27/%3E%3C/filter%3E%3C/svg%3E%23grayscale%22%29%27%3B%0A//%20%20%20%20%20%20%20%20%20%20icon.style.opacity%20%3D%20enabled%20%3F%20%22%22%20%3A%200.90%20%20%20%0A%20%20%20%20%20%20%20%20%20%20BrowserReload%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%7D%3B%20%20%20%20%20%0A%20%20%7D%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%0A%20%20tooltiptext%2C%20tooltip%20%7B%0A%09font-size%3A%20medium%20%21important%3B%0A%09-moz-appearance%3A%20none%20%21important%3B%0A%09color%3A%20%23000%20%21important%3B%0A%09background%3A%20%23F4F49B%20%21important%3B%0A%09border%3A%201px%20solid%20%23D9D980%20%21important%3B%0A%09font-family%3A%20Georgia%2C%22Segoe%20UI%22%2CArial%2CTahoma%20%21important%3B%0A%09font-style%3A%20italic%20%21important%3B%0A%09font-weight%3A%20600%20%21important%3B%0A%09line-height%3A%201.6%20%21important%3B%0A%09%7D%0A%09%0A%0A/*%20AGENT_SHEET%20*/%0Ahtml%20scrollbarbutton%5Bsbattr%3D%22scrollbar-up-top%22%5D%2C%0Ahtml%20scrollbarbutton%5Bsbattr%3D%22scrollbar-down-top%22%5D%2C%0Ahtml%20scrollbarbutton%5Bsbattr%3D%22scrollbar-up-bottom%22%5D%2C%0Ahtml%20scrollbarbutton%5Bsbattr%3D%22scrollbar-down-bottom%22%5D%20%7B%0A%20%20%20%20-moz-appearance%3A%20none%20%21important%3B%0A%20%20%20%20display%3A%20none%20%21important%3B%0A%20%20%20%20%7D%0A%0Ahtml%20%3E%20scrollbar%20thumb%20%7B%0A%20%20%20%20position%3A%20relative%20%21important%3B%0A%20%20%20%20-moz-appearance%3A%20none%20%21important%3B%0A%20%20%20%20background%3A%20rgba%2880%2C80%2C80%2C.5%29%20%21important%3B%0A%20%20%20%20border%3A%200%20%21important%3B%0A%20%20%20%20border-radius%3A%205px%20%21important%3B%0A%20%20%20%20border%3A%200%20%21important%3B%0A%20%20%20%20%7D%0A%0Ahtml%20%3E%20scrollbar%20thumb%3Ahover%20%7B%0A%20%20%20%20background%3A%20rgba%2855%2C155%2C255%2C.9%29%20%21important%3B%0A%20%20%20%20%7D%0A%0Ahtml%20%3E%20scrollbar%20thumb%3Aactive%20%7B%0A%20%20%20%20background%3A%20rgba%2855%2C155%2C255%2C.96%29%20%21important%3B%0A%0A%20%20%20%20%7D%0A%0Ahtml%20%3E%20scrollbar%5Borient%3D%22vertical%22%5D%20thumb%20%7B%0A%20%20%20%20width%3A%207px%20%21important%3B%0A%20%20%20%20%7D%0A%0Ahtml%20scrollbar%5Borient%3D%22vertical%22%5D%20%7B%0A%20%20%20%20padding%3A%201px%200%20%21important%3B%0A%20%20%20%20%7D%0A%0Ahtml%20scrollbar%5Borient%3D%22horizontal%22%5D%20%7B%0A%20%20%20%20padding%3A%200%201px%20%21important%3B%0A%20%20%20%20%7D%0A%0Ahtml%20%3E%20scrollbar%5Borient%3D%22vertical%22%5D%2C%0Ahtml%20%3E%20scrollbar%5Borient%3D%22horizontal%22%5D%20%7B%0A%20%20%20%20padding%3A%201px%20%21important%3B%0A%20%20%20%20%7D%0A%0Ahtml%20%3E%20scrollbar%20%7B%0A%20%20%20%20-moz-appearance%3A%20none%20%21important%3B%0A%20%20%20%20background%3A%20none%20%21important%3B%0A%20%20%20%20position%3A%20relative%20%21important%3B%0A%20%20%20%20z-index%3A%209999%20%21important%3B%0A%20%20%20%20%7D%0A%0Ahtml%20%3E%20scrollbar%5Borient%3D%22vertical%22%5D%20%7B%0A%20%20%20%20margin-left%3A%20-11px%20%21important%3B%0A%20%20%20%20%7D%0A%0Ahtml%20%3E%20scrollbar%5Borient%3D%22horizontal%22%5D%20thumb%20%7B%0A%20%20%20%20height%3A%207px%20%21important%3B%0A%20%20%20%20%7D%0A%0Ahtml%20%3E%20scrollbar%5Borient%3D%22horizontal%22%5D%20%7B%0A%20%20%20%20margin-top%3A%20-11px%20%21important%3B%0A%20%20%20%20%7D%0A%20%20%20%20%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E


Код
скрытый текст

Выделить код

Код:

/* nothing  ;-) */


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

Выделить код

Код:

this.onclick = function(e) {
    var css = makeURI("data:text/css," + encodeURIComponent( this.Help ));
    const sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);  
    const icon = this.ownerDocument.getAnonymousElementByAttribute(this, "class", "toolbarbutton-icon");

     if ( e.button == 0 ) {
         var uri = css;
          var enabled = sss.sheetRegistered( uri, sss.AGENT_SHEET );
          enabled ? sss.unregisterSheet( uri, sss.AGENT_SHEET ) : sss.loadAndRegisterSheet( uri, sss.AGENT_SHEET );

          this.style.filter = enabled ? "" : 'url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><feColorMatrix type=\'matrix\' values=\'0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0\'/></filter></svg>#grayscale")';
//          icon.style.opacity = enabled ? "" : 0.90   
          BrowserReload();
          };     
  };


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

Выделить код

Код:

tooltiptext, tooltip {
    font-size: medium !important;
    -moz-appearance: none !important;
    color: #000 !important;
    background: #F4F49B !important;
    border: 1px solid #D9D980 !important;
    font-family: Georgia,"Segoe UI",Arial,Tahoma !important;
    font-style: italic !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
    }
    

/* AGENT_SHEET */
html scrollbarbutton[sbattr="scrollbar-up-top"],
html scrollbarbutton[sbattr="scrollbar-down-top"],
html scrollbarbutton[sbattr="scrollbar-up-bottom"],
html scrollbarbutton[sbattr="scrollbar-down-bottom"] {
    -moz-appearance: none !important;
    display: none !important;
    }

html > scrollbar thumb {
    position: relative !important;
    -moz-appearance: none !important;
    background: rgba(80,80,80,.5) !important;
    border: 0 !important;
    border-radius: 5px !important;
    border: 0 !important;
    }

html > scrollbar thumb:hover {
    background: rgba(55,155,255,.9) !important;
    }

html > scrollbar thumb:active {
    background: rgba(55,155,255,.96) !important;

    }

html > scrollbar[orient="vertical"] thumb {
    width: 7px !important;
    }

html scrollbar[orient="vertical"] {
    padding: 1px 0 !important;
    }

html scrollbar[orient="horizontal"] {
    padding: 0 1px !important;
    }

html > scrollbar[orient="vertical"],
html > scrollbar[orient="horizontal"] {
    padding: 1px !important;
    }

html > scrollbar {
    -moz-appearance: none !important;
    background: none !important;
    position: relative !important;
    z-index: 9999 !important;
    }

html > scrollbar[orient="vertical"] {
    margin-left: -11px !important;
    }

html > scrollbar[orient="horizontal"] thumb {
    height: 7px !important;
    }

html > scrollbar[orient="horizontal"] {
    margin-top: -11px !important;
    }

Отредактировано mokujin (03-03-2017 23:17:01)


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

Отсутствует

 

№1139103-03-2017 23:37:55

SendInfo
.
 
Группа: Members
Зарегистрирован: 14-02-2011
Сообщений: 271
UA: Firefox 42.0

Отсутствует

 

№1139204-03-2017 00:35:49

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

Re: Custom Buttons

блин... смысл понятен, надо ловитьт любое жмаканье мыша, жесть. терь радо его прикрутить внутрь листенера.(На самих кнопках и так норм. на "винде", отключает.)
А вот со станд. конт. меню кокраз.. как его изменять и тулить. буду пробовать. пасиб.


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

Отсутствует

 

№1139304-03-2017 03:48:57

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

Re: Custom Buttons

Infocatcher пишет

сделал подписанную исправленную версию

Что-то я потерялся насчёт «(Hopefully) fixed compatibility with Browser Console in Firefox 48+»

скрытый текст
Скачал CB 0.0.5.8.9.1
У меня на FF48 и FF49 вообще не открывается CB-редактор из Browser Console.
На FF50, 51, 54 открывается, но открывается на неверной строке.

Выделить код

Код:

var line = link.getAttribute("line")
                || link. sourceLine
                || /:(\d+)$/. test(link. getAttribute("value") || trg. parentNode. getAttribute("title")) && RegExp.$1;

Правильно ли я понимаю, что, поскольку в Browser Console in Firefox 48+
у link нет свойства sourceLine и нет атрибутов line и value, то используются
цифры значения атрибута title родителя trg (перед двоеточием с конца).

Но ведь это, вроде, не line, а column
Так ли?

P.S. Когда себе правил, то даже разбираться не стал как там устроено,
типа работает и хорошо, а для FF48+ просто дописал к началу проверок

Выделить код

Код:

handleClick: function(e) {
        if(e.button != 0)
            return;
        var trg = e.originalTarget;
        // Firefox 48+
        if ("padEnd" in String.prototype && location.href.includes("webconsole")) {
            var link = trg.closest('a[href^="chrome://custombuttons-context/content/button.js"]');
            if (!link) return;
            e.preventDefault(); e.stopPropagation();
            var {href} = link, line = link.parentNode.getAttribute("data-line");
        } else {
            ...
        }
        var windowId = href.match(/windowId=(\w+)/)[1];
        ...

Отсутствует

 

№1139404-03-2017 11:08:49

becool
Участник
 
Группа: Members
Зарегистрирован: 30-08-2014
Сообщений: 268
UA: Firefox 51.0

Re: Custom Buttons

Приветствую! Помогите плиз реализовать: https://forum.mozilla-russia.org/viewto … 06#p731606
Может вообще без расширения можно обойтись? Главное, чтобы поиск по сайту был в списке поисковиков.
Пользовался этим кодом: https://forum.mozilla-russia.org/viewto … 65#p675165
Но глючноват...

Отредактировано becool (04-03-2017 11:11:25)

Отсутствует

 

№1139504-03-2017 14:07:51

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

Re: Custom Buttons

becool

Может вообще без расширения можно обойтись?

Букмарклет - Генератор букмарклетов

Отсутствует

 

№1139604-03-2017 15:15:03

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

Re: Custom Buttons

Dumby пишет

Правильно ли я понимаю, что, поскольку в Browser Console in Firefox 48+
у link нет свойства sourceLine и нет атрибутов line и value, то используются
цифры значения атрибута title родителя trg (перед двоеточием с конца).

Но ведь это, вроде, не line, а column
Так ли?

Упс. Да. Кажется, мне тогда попалась ошибка, для которой не вывело номер столбца.

И странное: сделал там

Выделить код

Код:

var line = link.getAttribute("line")
                || link. sourceLine
                || /:(\d+)$/. test(link. getAttribute("value")) && RegExp.$1
                || link. parentNode. getAttribute ("data-line");

Написал простой пример

Выделить код

Код:

//
xxxRaiseError();
//

А номер строки на Nightly выводит на 1 больше.

P.S. Себе-то я оживил старую добрую консоль, потому и проблем не видел.

Добавлено 04-03-2017 15:38:46
Видимо, на Nightly сломали просто что-то...
Пока что вот так, на пробу: custom_buttons-0.0.5.8.9-fixed3.xpi

Отредактировано Infocatcher (04-03-2017 15:38:46)


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

Отсутствует

 

№1139704-03-2017 22:05:01

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

Re: Custom Buttons

Infocatcher пишет

оживил старую добрую консоль
Пока что вот так, на пробу: custom_buttons-0.0.5.8.9-fixed3.xpi

О, спасибо за Console²!

скрытый текст
Поставил CB 0.0.5.8.9.2
Теперь из Browser Console открывается правильно.

Но из Console² строку не открывает.
Наверно потому, что link так и остаётся originalTarget (<xul:label>),
а нужный атрибут line у родителя (<xul:sourcelink>)

Ну и заодно, неплохо бы успокоить FF, а то, когда открываешь Console² в сайдбаре,
лиса пристаёт со своим варнингом, мол toggleSidebar() is deprecated, please use ...

Отсутствует

 

№1139804-03-2017 23:09:36

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

Re: Custom Buttons

dedfor пишет

Спасибо за ответ, но это не то. Мне нужна смена региона внизу странички(для скрина), а не только в строке УРЛ

Я не смог придумать как такое сделать. Кстати, похоже что в поле вода из меню передаётся не только название но и какая то дополнительная информация:

скриншот
d73979021c7f648fe44c5588e7a806d9.png

Наверно без неё не работает имитация Enter.

Отсутствует

 

№1139905-03-2017 00:46:08

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

Re: Custom Buttons

Dumby пишет

Но из Console² строку не открывает.
Наверно потому, что link так и остаётся originalTarget (<xul:label>),
а нужный атрибут line у родителя (<xul:sourcelink>)

О, точно, подправил: custom_buttons-0.0.5.8.9-fixed3.xpi (перезалил поверх).
А еще старая Browser Console тоже на XUL, label.text-link, но без атрибутов у родителя.

Dumby пишет

Ну и заодно, неплохо бы успокоить FF, а то, когда открываешь Console² в сайдбаре,
лиса пристаёт со своим варнингом, мол toggleSidebar() is deprecated, please use ...

Успокоительное: https://github.com/Infocatcher/Console2 … e28db1616b


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

Отсутствует

 

№1140005-03-2017 05:50:23

dedfor
Участник
 
Группа: Members
Зарегистрирован: 22-12-2016
Сообщений: 62
UA: Chrome 56.0

Re: Custom Buttons

bunda1 пишет

Я не смог придумать как такое сделать. Кстати, похоже что в поле вода из меню передаётся не только название но и какая то дополнительная информация

Большое спасибо, теперь я успокоюсь. А информация передаётся, как я понимаю, о том, что допускается только ручное нажатие ЕНТЕР или кнопок мышы

Отсутствует

 

Board footer

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