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

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

№1050110-08-2016 18:22:38

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

Re: Custom Buttons

turbot пишет

Duche пишет:

Всё работает. Для общего развития просветите , что или кто отвечает в этом коде за положение строки  "Добавить как закладку в" (верх или низ) в контекстном меню.

Не успел отредактировать. Вопрос ? Обязательно готовые кнопки должны находиться на панели или могут быть в каталоге кнопок Custom Buttons.

Спасибо за работу!

Отредактировано Duche (10-08-2016 18:23:11)

Отсутствует

 

№1050210-08-2016 18:26:02

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 51.0

Re: Custom Buttons

Duche пишет

Не успел отредактировать. Вопрос ? Обязательно готовые кнопки должны находиться на панели или могут быть в каталоге кнопок Custom Buttons.

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

Отсутствует

 

№1050310-08-2016 19:16:44

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

Re: Custom Buttons

turbot пишет

Да. По ссылке на первый код,

Не стал сильно ломать голову, пошел старым методом - подсунул код под готовую нужную кнопку на панели. Главное не забыть при переезде на другую версию Firefox.
Спасибо.

Отредактировано Duche (10-08-2016 19:18:34)

Отсутствует

 

№1050410-08-2016 23:00:59

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

Re: Custom Buttons

turbot пишет

Не совсем понял, про какие изменения речь, но MutationObserver. Вот пример, как использовать. Сам с ними не дружу, поэтому больше ничем.

О, я там вообще не понимаю :sick:, для меня parent.node == парить.ноги ---> набор.звукофф :)

Пока так маюсь, дубль 3, просмотр сразу по три вкладки:

Выделить код

Код:

var i; var m; var targetTab;
var links = [];

this.ondragover = () => false;
this.ondrop = e => {
    i=-1;
    var place = e.dataTransfer.getData("text/x-moz-place"), obj;
    if (place && (obj = JSON.parse(place)).type == "text/x-moz-place-container"
        && !("annos" in obj && obj.annos.some(anno => anno.name.startsWith("livemark/") || anno.value == "AllBookmarks"))) {
        var html = e.dataTransfer.getData("text/html");
        var doc = new DOMParser().parseFromString(html, "text/html");
        links = [...doc.querySelectorAll("body > DL > DD > A")].map(a => a.getAttribute("HREF"));
       }
       
  m = links.length;  
  stop(); 
}

this.leftclick = function(event) {stop();}

function stop(){
        if(i != -1){
            targetTab = gBrowser.selectedTab; gBrowser.removeTab(targetTab);
            targetTab = gBrowser.selectedTab; gBrowser.removeTab(targetTab);
            targetTab = gBrowser.selectedTab; gBrowser.removeTab(targetTab);
            }
    i++; if(i <= m-1) gBrowser.selectedTab = gBrowser.addTab(links[i]); else return;
    i++; if(i <= m-1) gBrowser.addTab(links[i]); else return;
    i++; if(i <= m-1) gBrowser.addTab(links[i]); else return;
   }

this.setAttribute('onclick', 'custombuttons.gQuot.mHandler(event, this)');
this.tooltipText = "drag'n'drop - folder:\n"+"<--- Начать просмотр";

Добавлено 10-08-2016 23:27:43
А как сделать - при клике ЛКМ на вкладку выполнить команду BrowserStop() для соседней вкладки находящейся слева?

Отредактировано fokanik (10-08-2016 23:31:23)

Отсутствует

 

№1050511-08-2016 00:17:26

vitalii201
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 679
UA: Firefox 48.0

Re: Custom Buttons

В [firefox] 48 перестала работать Save CB buttons (FF Exp Imp CB)

Отредактировано vitalii201 (11-08-2016 07:48:11)

Отсутствует

 

№1050611-08-2016 00:59:41

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 51.0

Re: Custom Buttons

fokanik пишет

А как сделать - при клике ЛКМ на вкладку выполнить команду BrowserStop() для соседней вкладки находящейся слева?

Выделить код

Код:

addEventListener('mousedown', e => {
  if (e.button != 0) return;

  let tab = e.originalTarget;
  while (tab && tab.localName != 'tab')
    tab = tab.parentNode;
  let controlItem = e.originalTarget.localName == 'toolbarbutton' || e.originalTarget.localName == 'image';

  if (!tab || controlItem) return;

  let targetTab = tab._tPos - 1;

  gBrowser.visibleTabs.forEach(tab =>
                               tab._tPos == targetTab
                               && tab.hasAttribute("busy")
                               && tab.linkedBrowser._webNavigation.stop(1))
}, true, gBrowser.tabContainer);

Отсутствует

 

№1050711-08-2016 05:47:13

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

Re: Custom Buttons

turbot пишет

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

Выделить код

Код:

addEventListener('mousedown', e => { if (e.button != 0) return; let tab = e.originalTarget; while (tab && tab.localName != 'tab') tab = tab.parentNode; let controlItem = e.originalTarget.localName == 'toolbarbutton' || e.originalTarget.localName == 'image'; if (!tab || controlItem) return; let targetTab = tab._tPos - 1; gBrowser.visibleTabs.forEach(tab => tab._tPos == targetTab && tab.hasAttribute("busy") && tab.linkedBrowser._webNavigation.stop(1)) }, true, gBrowser.tabContainer);

В [firefox] работает, в [seamonkey] нет.

Дубль 4:

Выделить код

Код:

this.tooltipText = "folder navigator:\n"+
               "Перетащите папку закладок на кнопку.\n"+
               "Навигация - клик по вкладке.\n"+
           "Остановить навигацию - ЛКМ.";

var jskript = true; //Отключать javaskript глобально
var i = 10000; 
var m; 
var links = [];

this.ondragover = () => false;
this.ondrop = e => {
    i=-1;
    var place = e.dataTransfer.getData("text/x-moz-place"), obj;
    if (place && (obj = JSON.parse(place)).type == "text/x-moz-place-container"
        && !("annos" in obj && obj.annos.some(anno => anno.name.startsWith("livemark/") || anno.value == "AllBookmarks"))) {
        var html = e.dataTransfer.getData("text/html");
        var doc = new DOMParser().parseFromString(html, "text/html");
        links = [...doc.querySelectorAll("body > DL > DD > A")].map(a => a.getAttribute("HREF"));
       }
       
  m = links.length; 
  if (jskript) gBrowser.mPrefs.setBoolPref("javascript.enabled", false);
  
  i++; if(i <= m-1) gBrowser.selectedTab = gBrowser.addTab(links[i]);
  i++; if(i <= m-1) gBrowser.addTab(links[i]);
}

addEventListener('mousedown', e => {
  if (e.button != 0) return;

  if(i <= m-1) {var targetTab = gBrowser.selectedTab; gBrowser.removeTab(targetTab);}
  i++; if(i <= m-1) gBrowser.addTab(links[i]);

}, true, gBrowser.tabContainer);

this.onclick = function(e){
  if (e.button == 0){ 
    i = 10000; 
    if (jskript) gBrowser.mPrefs.setBoolPref("javascript.enabled", true);
    }
}

:)

Отсутствует

 

№1050811-08-2016 08:47:02

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

Re: Custom Buttons

bunda1 пишет

Добрый день. Обращаюсь к специалистам, создать новый пункт "Добавить как закладку в" в контекстном меню на странице,

Добрый день. Можно ещё немного доработать кнопку. Первое- Попадать из контекстного не в "Панель закладок"  а в "Меню закладок". Второе - Вставить  код , для закрытие контекстного меню и всего дерева папок закладок после дойного клика по папке для сохранения закладки или увода курсора с контекстного меню . Заранее спасибо.

Отредактировано Duche (11-08-2016 13:21:58)

Отсутствует

 

№1050911-08-2016 15:01:18

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 51.0

Re: Custom Buttons

Duche
В первом коде замените TOOLBAR на BOOKMARKS_MENU, во втором добавьте в конце, перед закрывающими скобками,  document.getElementById("contentAreaContextMenu").hidePopup();

Отредактировано turbot (11-08-2016 15:01:59)

Отсутствует

 

№1051011-08-2016 15:59:44

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

Re: Custom Buttons

turbot пишет

В первом коде замените TOOLBAR на BOOKMARKS_MENU, во втором добавьте в конце, перед закрывающими скобками,  document.getElementById("contentAreaContextMenu").hidePopup();

Всё работает.Спасибо. Для самообразования , где почитать как правильно называются папки.

Отсутствует

 

№1051111-08-2016 16:17:54

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 51.0

Re: Custom Buttons

Duche
thumb_80193a17163f91147b48ca6a4165f03e.jpg

Отсутствует

 

№1051211-08-2016 18:42:55

sibirnik
Участник
 
Группа: Members
Зарегистрирован: 11-08-2016
Сообщений: 63
UA: Firefox 47.0

Re: Custom Buttons

Подскажите пожалуйста почему у меня нет на панели инструментов кнопки от Ghostery. Само дополнение установлено, внизу выходит окошечко с жучками, а кнопки для блокирования нет. Где и как её найти? Спасибо.

Отсутствует

 

№1051311-08-2016 18:52:00

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

Re: Custom Buttons

sibirnik пишет

Где и как её найти?

Нажмите кнопку с тремя полосками, если ее там нет, то внизу этого меню есть кнопка "изменить".
Кликните ее и посмотрите еще тут.

Отсутствует

 

№1051411-08-2016 19:00:02

sibirnik
Участник
 
Группа: Members
Зарегистрирован: 11-08-2016
Сообщений: 63
UA: Firefox 47.0

Re: Custom Buttons

Ultima2m нет её там, раньше всё это у меня работало, а в какой то момент пропал значок на панели инструментов, само дополнение работает. Удаление и переустановка Mozila и Ghostery результат тот же. Может кнопку можно самому создать - где взять код кнопки?

Отредактировано sibirnik (11-08-2016 19:03:51)

Отсутствует

 

№1051511-08-2016 19:03:25

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 51.0

Re: Custom Buttons

sibirnik
Ultima2m
Вы темой не ошиблись? Какое отношение имеет Ghostery к Custom Buttons?

Отсутствует

 

№1051611-08-2016 19:06:11

sibirnik
Участник
 
Группа: Members
Зарегистрирован: 11-08-2016
Сообщений: 63
UA: Firefox 47.0

Re: Custom Buttons

turbot дело в отсутствии кнопки я думал сюда, а если не сода - то куда? Если не трудно подскажите.

Отсутствует

 

№1051711-08-2016 19:22:19

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 51.0

Re: Custom Buttons

sibirnik
Есть такая кнопка "Поиск", если ей воспользоваться, то без труда находится тема: Форумы » Обсуждение расширений » ghostery

Отсутствует

 

№1051811-08-2016 19:39:32

sibirnik
Участник
 
Группа: Members
Зарегистрирован: 11-08-2016
Сообщений: 63
UA: Firefox 47.0

Re: Custom Buttons

turbot Спасибо!

Отсутствует

 

№1051912-08-2016 13:45:52

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

Re: Custom Buttons

turbot, а еще подскажите, как сделать условие - если нет загружающихся/обновляющихся вкладок, то открыть еще одну из списка  gBrowser.addTab(links[i])?

Отсутствует

 

№1052012-08-2016 17:51:20

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 51.0

Re: Custom Buttons

fokanik
Вы не у того спрашиваете. Я не меньший чайник, чем вы. :)
Мне в голову только

Выделить код

Код:

function isBusy() {
    if (gBrowser.visibleTabs.filter(tab => tab.hasAttribute("busy")).length == 0)
        gBrowser.addTab(links[i]);
}
addEventListener("TabAttrModified", isBusy, false, gBrowser.tabContainer);

приходит. Не знаю, что вы пытаетесь сделать, поэтому сами смотрите, куда впихивать удаление листенера, когда он ненужен будет:

Выделить код

Код:

removeEventListener("TabAttrModified", isBusy, false, gBrowser.tabContainer);

Отсутствует

 

№1052112-08-2016 18:05:48

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

Re: Custom Buttons

fokanik пишет

turbot, а еще подскажите, как сделать условие - если нет загружающихся/обновляющихся вкладок, то открыть еще одну из списка  gBrowser.addTab(links[i])?

:/

Выделить код

Код:

gBrowser.visibleTabs.some(tab=>{ return tab.getAttribute("busy") }) || gBrowser.addTab(links[i]);

Не очень понятно что требуется.

Отредактировано bunda1 (12-08-2016 18:06:46)

Отсутствует

 

№1052213-08-2016 00:11:56

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

Re: Custom Buttons

turbot пишет

Не знаю, что вы пытаетесь сделать

bunda1 пишет

Не очень понятно что требуется.

Экспериментирую, сам не знаю чего хочу :sick:

Дубль 5:

Выделить код

Код:

this.tooltipText = "Перетащите папку закладок на кнопку:\n"+
                   "ссылки из папки будут загружаться по очереди.\n"+
                   "Остановить загрузку - ЛКМ.";

var i; var m; var links = [];

this.ondragover = () => false;
this.ondrop = e => {
    var place = e.dataTransfer.getData("text/x-moz-place"), obj;
    if (place && (obj = JSON.parse(place)).type == "text/x-moz-place-container"
        && !("annos" in obj && obj.annos.some(anno => anno.name.startsWith("livemark/") || anno.value == "AllBookmarks"))) {
        var html = e.dataTransfer.getData("text/html");
        var doc = new DOMParser().parseFromString(html, "text/html");
        links = [...doc.querySelectorAll("body > DL > DD > A")].map(a => a.getAttribute("HREF"));
       }
  
  i=0;    m = links.length; 
  
  run();
}

function run(){
    if (gBrowser.visibleTabs.filter(tab => tab.hasAttribute("busy")).length == 0)
          if (i <= m-1){gBrowser.addTab(links[i]); i++;}
        else return; 
    
    setTimeout(()=>run(), 500);
}

this.onclick = function(e){
  if (e.button == 0) i = 10000; 
}
Выделить код

Код:

gBrowser.visibleTabs.filter(tab => tab.hasAttribute("busy")).length
gBrowser.visibleTabs.some(tab=>{ return tab.getAttribute("busy") })

В seamonkey эти строки не подхватываются, чем заменить можно?

Отсутствует

 

№1052313-08-2016 01:55:59

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 51.0

Re: Custom Buttons

fokanik пишет

В seamonkey эти строки не подхватываются, чем заменить можно?

Не проверял, но попробуйте:

Выделить код

Код:

if (window === null || typeof window !== "object") {
    var window = Cc["@mozilla.org/appshell/window-mediator;1"]
    .getService(Ci.nsIWindowMediator)
    .getMostRecentWindow("navigator:browser");        
}
if (typeof gBrowser === "undefined") {
    var gBrowser = window.gBrowser;
}
function isBusy() {
    if (gBrowser.visibleTabs
        ? gBrowser.visibleTabs.filter(tab => tab.hasAttribute("busy")).length == 0
        : Array.slice(gBrowser.mTabs).filter(tab => tab.hasAttribute("busy")).length == 0)
        gBrowser.addTab(links[i]);
}
addEventListener("TabAttrModified", isBusy, false, gBrowser.tabContainer);

Отсутствует

 

№1052413-08-2016 09:53:37

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

Re: Custom Buttons

fokanik пишет
Выделить код

Код:

gBrowser.visibleTabs.filter(tab => tab.hasAttribute("busy")).length
gBrowser.visibleTabs.some(tab=>{ return tab.getAttribute("busy") })

В seamonkey эти строки не подхватываются, чем заменить можно?

Выделить код

Код:

[...gBrowser.tabs].some(tab=>{ return tab.getAttribute("busy") })

Отсутствует

 

№1052513-08-2016 17:58:33

cahesigwias
Участник
 
Группа: Members
Зарегистрирован: 19-05-2015
Сообщений: 8
UA: Firefox 48.0

Re: Custom Buttons

Возможно ли с помощью Custom Buttons сделать такой функционал - при нажатии на ссылку ЛКМ и удержании ее скажем 1.5 секунды, ссылка открывается в новой активной вкладке?

Отсутствует

 

Board footer

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