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

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

№1325120-05-2019 19:57:39

fokanik
Участник
 
Группа: Members
Зарегистрирован: 05-02-2014
Сообщений: 268
UA: Seamonkey 2.49

Re: Custom Buttons

fokanik пишет

bunda1, а еще хотелка есть, добавлять текст в файл по имени сайта.К примеру скопированный текст со страницы https://forum.mozilla-russia.org/viewtopic.php?pid=770076 - сохраняем/добавляем в текстовой документ под именем /forum.mozilla-russia.org/.txt (примерно так). Или чего я выдумываю, можно через getTabLabel() название файла задать. На рабочий стол прямо можно, как легче писать в общем.

С зачеркнутой половиной разобрался, осталось имя сайта получить - как?
/forum.mozilla-russia.org/ - без слэшей.

Отсутствует

 

№1325220-05-2019 20:25:02

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

Re: Custom Buttons

Выделить код

Код:

alert("/forum.mozilla-russia.org/".replace(/\//g, ""));

Отсутствует

 

№1325320-05-2019 20:34:18

fokanik
Участник
 
Группа: Members
Зарегистрирован: 05-02-2014
Сообщений: 268
UA: Seamonkey 2.49

Re: Custom Buttons

bunda1 пишет

alert("/forum.mozilla-russia.org/".replace(/\//g, ""));

Выделить код

Код:

var label = content.location.href; 
      alert(label.replace(/\//g, ""));

Отсутствует

 

№1325420-05-2019 20:43:24

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

Re: Custom Buttons

Выделить код

Код:

var label = content.document.domain; 
alert(label);

Отсутствует

 

№1325520-05-2019 21:25:26

fokanik
Участник
 
Группа: Members
Зарегистрирован: 05-02-2014
Сообщений: 268
UA: Seamonkey 2.49

Re: Custom Buttons

bunda1 пишет

var label = content.document.domain; alert(label);

:music:, спасибо!

Отсутствует

 

№1325620-05-2019 22:03:22

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

Re: Custom Buttons

Исправил кнопку Открыть страницу в другом браузере для FF64.

Отсутствует

 

№1325721-05-2019 15:11:08

anywho
Забанен
 
Группа: Members
Зарегистрирован: 21-05-2019
Сообщений: 54
UA: Firefox 67.0

Re: Custom Buttons

Dumby
bootstrap-loader.js на 67 не работает? На ночнухе работает, на релизе нет...
Будет продолжение ? Неохота omni.ja курочить.

Отредактировано anywho (22-05-2019 09:27:41)

Отсутствует

 

№1325821-05-2019 15:42:50

iyut
Участник
 
Группа: Members
Зарегистрирован: 21-05-2019
Сообщений: 5
UA: Firefox 60.0

Re: Custom Buttons

Здравствуйте, cделайте пожайлуйста мне кнопку, чтобы при нажатии добавлялось https://web.archive.org/web/0/ к адресу в адресной строке, и чтобы сразу осуществлялся переход на тот адрес.
Т.е. когда ошибка 404, то открывался бы веб-архив. Буду благодарен.

Отсутствует

 

№1325921-05-2019 17:56:36

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

Re: Custom Buttons

iyut пишет

Здравствуйте, cделайте пожайлуйста мне кнопку, чтобы при нажатии добавлялось https://web.archive.org/web/0/ к адресу в адресной строке, и чтобы сразу осуществлялся переход на тот адрес.

Выделить код

Код:

gBrowser.selectedTab = gBrowser.addTab('http://web.archive.org/web/' + gBrowser.currentURI.spec, {triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal(),});

Отсутствует

 

№1326022-05-2019 10:16:32

iyut
Участник
 
Группа: Members
Зарегистрирован: 21-05-2019
Сообщений: 5
UA: Firefox 60.0

Re: Custom Buttons

bunda1,  работает, спасибо !!!
А можно я еще попрошу, но теперь сложное?
Вы по просьбам пользователей создали 3 варианта скрипта, отображающего список открытых вкладок, и показывающего их количество. Из них я выбрал наилучший, но нужна одна доработка: чтобы показывало номер текущей открытой вкладки:                       текущая/все. Например:       6/21.      Это возможно?
Код называется:       // Показывать количество открытых табов в адресной строке, от 16.10.2016. .......

Отредактировано iyut (22-05-2019 10:21:13)

Отсутствует

 

№1326122-05-2019 10:28:16

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

Re: Custom Buttons

iyut пишет

чтобы показывало номер текущей открытой вкладки:                       текущая/все. Например:       6/21.      Это возможно?
Код называется:       // Показывать количество открытых табов в адресной строке, от 16.10.2016. .......

И где номер должен находится? Перед иконками или где?

Отсутствует

 

№1326222-05-2019 10:36:36

iyut
Участник
 
Группа: Members
Зарегистрирован: 21-05-2019
Сообщений: 5
UA: Firefox 60.0

Re: Custom Buttons

там же где общее количество, перед ним через косую черту:     __/общее количество

Добавлено 22-05-2019 10:42:41
1703512781558510930.png

Отредактировано iyut (22-05-2019 10:42:41)

Отсутствует

 

№1326322-05-2019 10:50:11

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

Re: Custom Buttons

bunda1, наверное, чтобы работали хоткеи кнопок после закрытия окна,
нужно их каким-то образом заново инициализировать.

Отсутствует

 

№1326422-05-2019 21:13:36

fokanik
Участник
 
Группа: Members
Зарегистрирован: 05-02-2014
Сообщений: 268
UA: Seamonkey 2.49

Re: Custom Buttons

bunda1, а тут можно как-то сделать чтоб правильно/раздельно работало нажатие на кнопку и двойное нажатие на эту же кнопку?

Выделить код

Код:

addEventListener('keydown', function c(e) {
    //Двойное нажатие  
    if ((!e.ctrlKey) && e.keyCode == 19 && c.flag   ) { 
           e.preventDefault();
           alert(2);
       };  
                   
   c.flag = true;
   setTimeout(function() { c.flag = false }, 600);
   
   //Одиночное нажатие
   if ( (!e.ctrlKey) && (e.keyCode == 19) ) {
           e.preventDefault();
           alert(1);
           }
   });

Отсутствует

 

№1326522-05-2019 21:23:53

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

Re: Custom Buttons

iyut пишет

нужна одна доработка: чтобы показывало номер текущей открытой вкладки: текущая/все. Например: 6/21. Это возможно?

:/

Выделить код

Код:

// Показывать количество открытых табов в адресной строке, от 10.05.2019. ..................
(()=> {  
   // Создать в адресной строке счётчик вкладок ....
   var tabCounter = document.createElement("toolbarbutton");
   tabCounter.setAttribute("id", "tabCounter");
   tabCounter.setAttribute("context", "event.stopPropagation()");
   tabCounter.setAttribute("tooltiptext", "Показать меню всех вкладок"); 
   var urlbarIcons = document.getElementById("page-action-buttons"); 
   urlbarIcons.insertBefore(tabCounter, urlbarIcons.firstChild);
   addDestructor(()=> tabCounter.remove() );


   // Отслеживать клик на счетчике ....
   tabCounter.onclick =e=> {
      if ( e.target.localName == "menuitem" ) return;

      tabCounter.textContent = ""; // удалить старое меню  
      
      // создать новое меню всех вкладок текущей группы
      var array = ["label", "image", "selected", "unread", "pending"];
      var menu = tabCounter.appendChild(document.createElement("menupopup"));
      gBrowser.visibleTabs.forEach(tab=> {
         var mItem = menu.appendChild(document.createElement("menuitem"));
         mItem.tab = tab;
         mItem.setAttribute("class", "menuitem-iconic bookmark-item");      
         array.forEach(atrr=> mItem.setAttribute(atrr, tab.getAttribute(atrr)) );
      });

      // периодически запускать обновление меню
      menu.interval = setInterval(()=> menuReload(), 200);
      addEventListener("popuphidden", ()=> clearInterval(menu.interval), false, menu);
      
      // обновить меню
      function menuReload() {
         [...menu.children].forEach(el=> {
            array.forEach(atrr=> el.setAttribute(atrr, el.tab.getAttribute(atrr)) );
         })
      };      
      
      // автоматически закрывать меню при ухода курсора, длительность увода - 450 мс
      menu.onmouseover =()=> this.f = true;    
      menu.onmouseleave =()=> { this.f = false; setTimeout(()=> !this.f && menu.hidePopup(), 450) };
            
      // отслеживать клики на пунктах меню
      menu.onmouseup =e=> {
         e.preventDefault();

         var mItem = e.target, tab = mItem.tab;
         if ( e.button == 0 )
              gBrowser.selectedTab = tab;
         else
              {
              mItem.remove();
              gBrowser.removeTab(tab);
              }
         menuReload();
      };

      // фокус на активную вкладку в меню при открытии
      var box = document.getAnonymousElementByAttribute(menu, "class", "popup-internal-box");
      addEventListener("popupshowing", ()=> {
         var menuitem = [...menu.children].filter(el=> el.getAttribute("selected", "true") )[0];
         menuitem.setAttribute('_moz-menuactive', true);
         var menuitemCenter = menuitem.boxObject.screenY + menuitem.boxObject.height/2;
         var boxCenter = box.boxObject.screenY + box.boxObject.height/2;  
         box.scrollByPixels(menuitemCenter - boxCenter);
      }, false, menu);            
     
      menu.openPopup(tabCounter, "after_start")           
   };


   // Css стиль для счётчика и меню ....
   var uri = makeURI('data:text/css,'+ encodeURIComponent('\
      /* Стиль для кнопки */\
      #tabCounter:hover { color: #FF1493 !important; }\
      /* Стиль добавляет текст на кнопку */\
      #tabCounter .toolbarbutton-icon { display: none !important; }\
      #tabCounter .toolbarbutton-text { display: -moz-box !important; }\
      #tabCounter { -moz-box-orient: horizontal !important; }\
      /* Стиль для меню вкладок */\
      #tabCounter > menupopup scrollbox { overflow-y: auto !important; }\
      #tabCounter > menupopup > menuitem[unread="true"],\
      #tabCounter > menupopup > menuitem[pending="true"] { color: blue !important; }\
      #tabCounter { -moz-appearance: none !important; border: 0 !important; margin-right: -8px !important; }\
      #tabCounter > menupopup > menuitem[selected="true"] { color: red !important; font-weight: bold !important; }\
   '));
   var sss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
   sss.loadAndRegisterSheet(uri, 0);
   addDestructor(()=> sss.unregisterSheet(uri, 0) ); 
   
   
   // Считать и показывать количество вкладок ....
   function count() {
     try { window.clearTimeout(count.timeout) } catch(e) {};
     count.timeout = window.setTimeout(()=> {
        tabCounter.label = (gBrowser.selectedTab._tPos + 1) + '/' + gBrowser.tabs.length;
     }, 350);
   };
   count();


   // Отслеживать открытие, закрытие вкладок и переключение групп вкладок ....
   var tabs = gBrowser.tabContainer;
   addEventListener("TabOpen", count, false, tabs);
   addEventListener("TabClose", count, false, tabs);
   addEventListener("TabSelect", count, false, tabs);
   function getChangeTabGroup() {
      addEventListener("TabHide", function c(e) { 
         count();
         setTimeout(()=> getChangeTabGroup(), 50); 
         removeEventListener(e.type, c, false, tabs); 
      }, false, tabs);
   };
   getChangeTabGroup();
})();

Добавлено 22-05-2019 21:39:55

Parazit пишет

bunda1, наверное, чтобы работали хоткеи кнопок после закрытия окна,
нужно их каким-то образом заново инициализировать.

Незнаю! Но можно запускать горячие клавиши кодом, вот например как тут Сегодня 21:13:36 или как тут Сегодня 21:23:53

Отредактировано bunda1 (22-05-2019 21:39:55)

Отсутствует

 

№1326623-05-2019 06:48:47

iyut
Участник
 
Группа: Members
Зарегистрирован: 21-05-2019
Сообщений: 5
UA: Firefox 60.0

Re: Custom Buttons

bunda1, у меня скрипт не заработал, ничего не отображает. Останусь на старом.

Отредактировано iyut (23-05-2019 07:11:31)

Отсутствует

 

№1326723-05-2019 08:38:11

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

Re: Custom Buttons

iyut пишет

bunda1, у меня скрипт не заработал, ничего не отображает. Останусь на старом.

Ну тогда не знаю. Я проверял на Firefox64 и всё работает.

Отсутствует

 

№1326823-05-2019 08:46:34

Andrey_Krropotkin
Участник
 
Группа: Members
Зарегистрирован: 11-11-2011
Сообщений: 484
UA: Firefox 67.0

Re: Custom Buttons

Dumby у меня на 67 почему то не работает для custom_buttons-0.0.7.0.0.4-fx-paxmod.xpi пункт удалить кнопку, в консоли пишет TypeError: this.getElementsByAttribute is not a function, пробовал custom_buttons-0.0.7.0.0.3-fx-paxmod.xpi, то же самое. Удаляю только через about:addons во вкладке Custom Buttons. Пробовал на чистом профиле то же самое.
Так же на 67 перестал работать ваш исправленный инспектор Dom.

Добавлено 23-05-2019 09:09:46
bunda1

bunda1 пишет

Ну тогда не знаю. Я проверял на Firefox64 и всё работает.

ваша кнопка и на 67 работает

И еще вопрос чем заменить (или где прочитать, все что связано с content и document  ) в многопроцессорном -выражения:
gBrowser.contentDocument,
gBrowser.contentDocument.links,
document.commandDispatcher.focusedWindow.top == content ? document.commandDispatcher.focusedWindow : content,
функцию выделения текста

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

Выделить код

Код:

var getSel = function (w) {
    var s,d = w.document;
    if (d.selection) {
        var r = d.selection.createRange();
        s = r ? r.text : ''
    } else {
        s = d.getSelection().toString();
        if (!s) {
            var e, t = d.getElementsByTagName('textarea'), u = d.getElementsByTagName('input'), i = t.length;
            while(e = (i > 0) ? t[--i] : u[-i--])try{
                if (e.offsetHeight > 0 && (s = e.value.substring(e.selectionStart, e.selectionEnd))) break
            }catch(x){}
        }
    };
    if (!s) for (var j = 0, f; f = w.frames[j]; j++) {
        try {
            if (s = getSel(f)) break
        } catch(x) {}
    };
    return s
};

Отредактировано Andrey_Krropotkin (23-05-2019 09:56:13)

Отсутствует

 

№1326923-05-2019 10:40:24

anywho
Забанен
 
Группа: Members
Зарегистрирован: 21-05-2019
Сообщений: 54
UA: Firefox 67.0

Re: Custom Buttons

Andrey_Krropotkin
CB 0.0.7.0.0.3 работает в 67 . Костыли - неизвестно, bootstrap-loader.js точно нет.
Делал в ручную через omni.ja / Косяк в сборке.
Да, многопроцесс  загасить надо!

Отредактировано anywho (23-05-2019 10:49:41)

Отсутствует

 

№1327023-05-2019 10:59:15

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

Re: Custom Buttons

Andrey_Krropotkin пишет

И еще вопрос чем заменить (или где прочитать, все что связано с content и document  ) в многопроцессорном -выражения:
gBrowser.contentDocument,
gBrowser.contentDocument.links,
document.commandDispatcher.focusedWindow.top == content ? document.commandDispatcher.focusedWindow : content,
функцию выделения текста

Присоединяюсь.

Отсутствует

 

№1327123-05-2019 12:48:09

Andrey_Krropotkin
Участник
 
Группа: Members
Зарегистрирован: 11-11-2011
Сообщений: 484
UA: Firefox 67.0

Re: Custom Buttons

anywho

anywho пишет

CB 0.0.7.0.0.3 работает в 67 . Костыли - неизвестно, bootstrap-loader.js точно нет.
Делал в ручную через omni.ja / Косяк в сборке.
Да, многопроцесс  загасить надо!

Да все работает на 67 и CB 0.0.7.0.0.3 и 0.0.7.0.0.3 и костыли и  многопроцесс вырублен. Есть только то что я ранее описал  в посту выше, просто неудобно.

Отсутствует

 

№1327223-05-2019 12:54:42

anywho
Забанен
 
Группа: Members
Зарегистрирован: 21-05-2019
Сообщений: 54
UA: Firefox 67.0

Re: Custom Buttons

Andrey_Krropotkin
Нет и этой проблемы. У меня devtool удален.Кстати, bootstrap аддоны как? bootstrap-loader.js  = не помогает...

Отсутствует

 

№1327323-05-2019 14:45:25

Andrey_Krropotkin
Участник
 
Группа: Members
Зарегистрирован: 11-11-2011
Сообщений: 484
UA: Firefox 67.0

Re: Custom Buttons

anywho не пользуюсь, у меня их всего 10 и нет ни одного bootstrap аддона

Отсутствует

 

№1327423-05-2019 21:21:11

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

Re: Custom Buttons

Отсутствует

 

№1327524-05-2019 10:32:46

intersk
Участник
 
Группа: Members
Зарегистрирован: 20-06-2013
Сообщений: 104
UA: unknown 0.0

Re: Custom Buttons

Garalf пишет

interskБольшинство ваших кнопок на последних версиях работать не будут, но местные умельцы их регулярно правят.Если хотите оценить, попробуйте портабельную сборку FF66 https://www.upload.ee/files/9813755/FF66.rar.htmlВсе кнопки рабочие.Автор сборки - Drage
                    Отредактировано Garalf (14-04-2019 11:41:20)

а на 67 можно сделать сборку, чтобы и кнопки CB работали и телеметрию со слежением вычистить? была бы отличная сборка

Отсутствует

 

Board footer

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