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

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

№1192613-07-2017 00:46:53

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

Re: Custom Buttons

Rag
Indomito

Ввиду отсутствия FriGate, запустил в консоли то же самое для DOM Inspector (в слегка оптимизированном варианте):

Выделить код

Код:

AddonManager.getAddonsByTypes(["extension"], function(addons) {
  addons.forEach(function(addon) {
    if(addon.name=="DOM Inspector") addon.userDisabled = !addon.userDisabled;
  })
})

Всё молча отработало, состояние Инспектора переключилось в disabled. [firefox] 52

Добавлено 13-07-2017 00:50:23
И из кнопки Custom Buttons этот код тоже работает.

Отредактировано yup (13-07-2017 00:50:23)

Отсутствует

 

№1192713-07-2017 01:26:24

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

Re: Custom Buttons

yup Я пытался этой кнопкой запустить не запускаемое. Просто нужно было прописать не FriGate а FriGate - разблокировка сайтов
У меня эта кнопка запускает FlashGot именно в коде прописано FlashGot хотя правильное название FlashGot Mass Downloader Вот и FriGate я написал по аналогии с FlashGotом.В общем заработала кнопка.А почему такое с названиями  для меня ну саавсем не понятно.
Спасибо за помощь вам и Indomito

Отредактировано Rag (13-07-2017 01:35:30)

Отсутствует

 

№1192813-07-2017 01:57:10

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

Re: Custom Buttons

Rag пишет

А почему такое с названиями  для меня ну саавсем не понятно.

Не видя исходного кода, ничего сказать не могу. Но самое разумное: получить в консоль список "официальных" названий вот таким кодом:

Выделить код

Код:

AddonManager.getAddonsByTypes(["extension"], function(addons) {
  addons.forEach(function(addon) { LOG(addon.name) })
})

и пользоваться ими.

А ещё лучше - использовать не addon.name, а addon.id

Отредактировано yup (13-07-2017 02:00:33)

Отсутствует

 

№1192913-07-2017 02:07:53

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

Re: Custom Buttons

yup
Вот теперь понятно. В консоли [Custom Buttons: id: custombuttons-button38@code, line: 3, name: ]
friGate - разблокировка сайтов.
[Custom Buttons: id: custombuttons-button7@code, line: 3, name: ]
FlashGot

Отсутствует

 

№1193013-07-2017 12:55:37

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

Re: Custom Buttons

Возвращаясь к напечатанному...

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

Выделить код

Код:

var list = "";
AddonManager.getAddonsByTypes(["extension"], function(addons) {
  addons.forEach(function(addon) {
    list += addon.name + " : " + (addon.userDisabled ? "disabled" : "enabled") + "\n";
  });
});
LOG(list);

Хотя при выполнении такой его модификации:

Выделить код

Код:

var list = "";
AddonManager.getAddonsByTypes(["extension"], function(addons) {
  addons.forEach(function(addon) {
    list += addon.name + " : " + (addon.userDisabled ? "disabled" : "enabled") + "\n";
    LOG(list);
  });
});

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

Контекст же (область видимости имён) внутри накапливающей функции должен быть вложенным в тот, где переменная list объявлена...

Отредактировано yup (13-07-2017 13:05:09)

Отсутствует

 

№1193113-07-2017 14:07:10

okkamas_knife
We are the Borg.       Resistance is futile.
 
Группа: Members
Зарегистрирован: 21-10-2009
Сообщений: 9558
UA: Seamonkey 2.14

Re: Custom Buttons

yup пишет:
Контекст же (область видимости имён) внутри накапливающей функции должен быть вложенным в тот, где переменная list объявлена...

нифига.

Выделить код

Код:

var list = "";
AddonManager.getAddonsByTypes(["extension"], function(addons) {
  addons.forEach(function(addon) {
    list += addon.name + " : " + (addon.userDisabled ? "disabled" : "enabled") + "\n";
  });
});
alert(list);// фига
alert(list);// данные

я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

Отсутствует

 

№1193213-07-2017 14:16:29

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

Re: Custom Buttons

okkamas_knife пишет

нифига.

Выделить код

Код:

...
alert(list);// фига
alert(list);// данные

М-м-м. Ничего не понимаю. Запускаю этот код с alert() - на втором получаю искомый список. Что, переменная list в первом - не та же, что во втором?
Ладно, меняю alert на LOG и получаю в консоли два пустых вывода.

Закрадывается ощущение, что в getAddonsByTypes() function() вызывается асинхронно и к моменту вызова LOG()-ов посчитана ещё быть не может никак, а вот между вызовами alert() - вполне.

Добавлено 13-07-2017 14:24:50
Проверил - так и есть. Вариант:

Выделить код

Код:

var list = "123\n";
AddonManager.getAddonsByTypes(["extension"], function(addons) {
  list = "";
  addons.forEach(function(addon) {
    list += addon.name + "\n";
    LOG(list);
  });
});
LOG(list);

сначала печатает "123" и только потом - имена расширений.

Отредактировано yup (13-07-2017 14:30:24)

Отсутствует

 

№1193313-07-2017 17:35:17

okkamas_knife
We are the Borg.       Resistance is futile.
 
Группа: Members
Зарегистрирован: 21-10-2009
Сообщений: 9558
UA: Seamonkey 2.14

Re: Custom Buttons

yup пишет: асинхронно

именно
и видимость нипричём ибо
function инициализация_конкретной_кнопки(){
var list тут глобальная переменная(в пределах этой функции конечно) и соответственно гетаддонс её прекрасно видит как и любые другие функции внутри
}


я помню те времена когда обновления программ убирали проблемы и исправляли баги, а не добавляли их.
toxID:05AB9B827D896AACEE7FF4573A02FB8F025F46ADC856B98F65BC1BA9BD21A81DC98BA9C36CE3

Отсутствует

 

№1193416-07-2017 18:38:35

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

Re: Custom Buttons

Здравствуйте!
Если не сложно, сделайте пожалуйста кнопку: "Экспорт закладок в HTML-файл / Импорт закладок из HTML-файла".


«The Truth Is Out There»

Отсутствует

 

№1193517-07-2017 23:39:39

ifln
Участник
 
Группа: Members
Зарегистрирован: 20-09-2013
Сообщений: 235
UA: Firefox 52.0

Re: Custom Buttons

Нужна кнопка вроде Открыть видео в PotPlayerMini. Только взаимодействовать она должна не с плеером, а с плейлистом 1.m3u, расположенным в профиле. Левый клик в меню добавляет адрес медиафайла в конец плейлиста с новой строки.
Правый клик открывает плейлист в ассоциированной программе.

unter_officer
StRL+SHIFT+B > Import and Backup
Не подойдет?

Отредактировано ifln (17-07-2017 23:40:47)

Отсутствует

 

№1193618-07-2017 01:54:57

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

Re: Custom Buttons

ifln пишет

StRL+SHIFT+B > Import and Backup. Не подойдет?

Если бы подходило, то не просил бы сделать кнопочку.

Отредактировано unter_officer (18-07-2017 01:55:37)


«The Truth Is Out There»

Отсутствует

 

№1193724-07-2017 04:05:58

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

Re: Custom Buttons

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

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

Выделить код

Код:

/*Initialization Code*/
// ==UserScript==
// @name AutoPopup.uc.js
// @description Auto popup menulist/menupopup/Panelpopup
// @compatibility Firefox 2.0+
// @author GOLF-AT
// @version 2.0.0.20131119

(function() {
    var PopElt = null;    var DropElt = null;
    var PopTimer = null;  var HideTimer = null;
    var AlwaysPop = false;  var nDelay = 400;
   
    function IsNewMenuBtn(elt) {
        try {
            return elt.id=='PanelUI-menu-button';
        }catch(e) {
            return false;
        }
    }
   
    function AutoPopup()
    {
        PopTimer = null;
        if (DropElt) {
            if (DropElt.localName=='dropmarker' ||
                IsNewMenuBtn(DropElt))
                PopElt = DropElt;
            else {
                var v = null;
                try {
                    v = DropElt.ownerDocument.
                        getAnonymousNodes(DropElt);
                }catch(ex) {}
                if (v!=null && v.length!=0 && v[0].
                    localName=='menupopup')
                    PopElt = v[0];
                else
                    PopElt = DropElt.childNodes[0];
            }
   
            if (IsNewMenuBtn(PopElt)) {
                PanelUI.show(); return;
            }
            try {
                PopElt.showPopup(PopElt.parentNode,
                    -1, -1, 'popup', 'bottomleft',
                    'topleft');
            }catch(e) { PopElt = null; }
        }
    }
   
    function HidePopup()
    {
        try {
            if (PopElt.localName=='dropmarker')
                PopElt.parentNode.closePopup();
            else if (IsNewMenuBtn(PopElt))
                PanelUI.hide();
            else
                PopElt.hidePopup();
        }catch(e) {}
        HideTimer = null; DropElt = null;
        PopElt = null;
    }
   
    function MouseOver(e)
    {
        if (!AlwaysPop && !document.hasFocus())
            return;
   
        if (IsButton(e.target)) {
            type = e.target.getAttribute('type');
            if (type == 'menu-button') {
                if (e.originalTarget!=e.target)
                    return;
            }
            /*else {
                if (type != 'menu') return;
            }*/
        }
   
        if (HideTimer) {
            window.clearTimeout(HideTimer);
            HideTimer = null;
        }
        try {
            if ('PopupAutoComplete'==e.target.id.
                substr(0,17))
                return;
            for(var elt=e.target; elt!=null; elt=
                elt.parentNode) {
                if (elt.localName=='popup' || elt.
                    localName=='menupopup')
                    return;
            }
        }catch(ex) {}
   
        if (IsNewMenuBtn(PopElt)) {
            if (e.target != PopElt) HidePopup();
        }
        else if (PopElt != null) {
            if (DropElt!=null && e.target==DropElt)
                return;
            try {
                if (PopElt.localName != 'dropmarker'
                    ) {
                    for(var elt=e.target; elt!=null;
                        elt=elt.parentNode) {
                        if (elt == PopElt) return;
                    }
                }
            }catch(ex) {}
            HidePopup();
        }
        DropElt = e.target;
        PopTimer = setTimeout(AutoPopup, nDelay);
    }
   
    function MouseOut(e)
    {
        if (PopTimer) {
            window.clearTimeout(PopTimer);
            PopTimer = null;
        }
        if (!HideTimer && PopElt && !IsNewMenuBtn(e.
            target))
            HideTimer = window.setTimeout(HidePopup,
                500);
    }
   
    function IsButton(elt) {
        try {
            return elt.localName=='toolbarbutton' || elt
                .localName=='button';
        }catch(e) { return false; }
    }
   
    function IsMenuButton(elt) {
        if (IsNewMenuBtn(elt)) return true;
   
        if (!IsButton(elt)) return false;
        for(var i=0; i<2; i++) {
            try {
                var nodes = i==0x01 ? elt.childNodes : elt.
                    ownerDocument.getAnonymousNodes(elt);
                if (nodes!=null && nodes.length && nodes[0]
                    .localName=='menupopup')
                    return true;
            }catch(e) {}
        }
        return false;
    }
   
    function EnumElement(elt) {
        try {
            if (elt.localName == 'prefpane') {
                elt.addEventListener('paneload', function(e) {
                    setTimeout(function() { EnumElement(e.
                        target); }, 100);
                    }, false);
            }
            else if(elt.id=='sidebar' && !elt.hasAttribute(
                'AutoPopup')) {
                elt.setAttribute('AutoPopup', true)
                elt.addEventListener('SidebarFocused',
                    function(e) { EnumElement(elt); }, false);
            }
            else if(elt.id == 'editBookmarkPanel')
                return;
        }catch(e) {}
   
        for(var i=0; i<2; i++) {
            var nodes = null;
            try {
                if (elt.localName == 'browser') {
                    i = 1;
                    nodes = elt.contentDocument.childNodes;
                }
                else
                    nodes = i==0x01 ? elt.childNodes : elt.
                        ownerDocument.getAnonymousNodes(elt);
            }catch(e) { nodes = null; }
            if (nodes == null) continue;
   
            for(var n=0; n<nodes.length; n++) {
                try {
                    var node = nodes[n];
                    if ('PopupAutoComplete'==node.getAttribute(
                        'id').substr(0,17) || 'menupopup'==node
                        .localName || node.localName=='popup')
                        ;
                    else if (node.localName != 'dropmarker') {
                        if (node.localName=='menu' && 'menubar'
                            ==node.parentNode.localName)
                            ;
                        else if(!IsMenuButton(node))
                            node = null;
                    }
                    else if(node.getAttribute('type')=='menu') {
                        node = node.parentNode;
                        if (!node.firstChild || node.firstChild.
                            localName!='menupopup')
                            continue;
                    }
                    if (node == null) {
                        EnumElement(nodes[n]); continue;
                    }
                    if (node.hasAttribute('command')) continue;
   
                    addEventListener('mouseout', MouseOut,
                        false, node);
                    addEventListener('mouseover',MouseOver,
                        false, node);
                }catch(e) {}
            }
        }
    }
    setTimeout(function() { EnumElement(document); }, 1200);
})();

Отсутствует

 

№1193825-07-2017 14:37:24

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

Re: Custom Buttons

Rag пишет

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

:/

Выделить код

Код:

// Автоматически открывать папки закладок на панели закладок, от 22.08.2016. ...............
addEventListener('mouseover', (e, targ = e.target)=> {
   if ( targ.getAttribute('type') != 'menu'
        || (document.querySelectorAll('[open^="true"]').length > 0        
        && !document.getElementById('PlacesChevron').hasAttribute('open')) 
        ) return;

   document.getElementById('PlacesChevronPopup').hidePopup();
      
   setTimeout(()=> { 
      if ( !targ.f ) try { targ.children[0].showPopup(targ, -1, -1, 'popup', 'bottomleft', 'topleft') } catch(e) {};
   }, 500, targ.f = false);
   targ.onmouseleave =()=> { targ.f = true; targ.onmouseleave = null };
   
}, false, document.getElementById('PlacesToolbar'));

Отсутствует

 

№1193925-07-2017 15:12:12

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 54.0
Веб-сайт

Re: Custom Buttons

Уважаемый bunda1,
Мне нужно создать узкую вертикальную панельку (скажем, 3 пикселя в ширину), высотой 400px, размещённую слева (0px от левого края) и в 100px от верха, красного цвета и имеющую что-то типа ID (напр. "MyVerticalPanel");
Как это сделать СВ кнопкой?
И ещё вопрос:
Можно ли сделать узкую горизонтальную панельку в самом верху, над Tab тулбаром (напр. 4px в ширину, длиной 500px, в 600px от левого края, синего цвета)?
Параметры, которые я указал - не столь существенны - просто чтобы я мог с ними "играться".
Заранее спасибо.


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№1194025-07-2017 18:52:21

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

Re: Custom Buttons

bunda1
Вы меня не поняли.Кнопка код которой я просил изменить, позволяет при наведении мышкой на любую кнопку не зависимо будь то cb кнопка или элемент браузера,автоматически открываться/закрываться меню если таковое имеется.Навёл мышей на кнопку меню открылось,убрал меню закрылось.Так вот мне хотелось бы чтоб меню автоматически открывалось и закрывалось только на этой кнопке.d2a0a11736cb.png id = bookmarks-menu-button
Мне что то подсказывает что это можно CSS-стилем сделать.

Отсутствует

 

№1194125-07-2017 20:37:09

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

Re: Custom Buttons

Rag пишет

bunda1
Так вот мне хотелось бы чтоб меню автоматически открывалось и закрывалось только на этой кнопке.http://s019.radikal.ru/i620/1707/6a/d2a0a11736cb.png id = bookmarks-menu-button

Что то я такую кнопку не вижу. У меня такая двойная:
b6ad520370cfcc574f0e932230ff76e1.png

Добавлено 25-07-2017 20:58:36

difabor пишет

Уважаемый bunda1,
Мне нужно создать узкую вертикальную панельку (скажем, 3 пикселя в ширину), высотой 400px, размещённую слева (0px от левого края) и в 100px от верха, красного цвета и имеющую что-то типа ID (напр. "MyVerticalPanel");
Как это сделать СВ кнопкой?
И ещё вопрос:
Можно ли сделать узкую горизонтальную панельку в самом верху, над Tab тулбаром (напр. 4px в ширину, длиной 500px, в 600px от левого края, синего цвета)?
Параметры, которые я указал - не столь существенны - просто чтобы я мог с ними "играться".
Заранее спасибо.

Попробуй доработать VT

Отредактировано bunda1 (25-07-2017 20:58:36)

Отсутствует

 

№1194225-07-2017 21:17:55

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

Re: Custom Buttons

bunda1
Прошу прощения.Не указал браузер.Кнопка нужна для Pale Moon 27.4.0 кнопка с дропмаркером.

Отсутствует

 

№1194325-07-2017 21:53:33

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 54.0
Веб-сайт

Re: Custom Buttons

bunda1 пишет
difabor пишет

Уважаемый bunda1,
Мне нужно создать узкую вертикальную панельку (скажем, 3 пикселя в ширину), высотой 400px, размещённую слева (0px от левого края) и в 100px от верха, красного цвета и имеющую что-то типа ID (напр. "MyVerticalPanel");
Как это сделать СВ кнопкой?
И ещё вопрос:
Можно ли сделать узкую горизонтальную панельку в самом верху, над Tab тулбаром (напр. 4px в ширину, длиной 500px, в 600px от левого края, синего цвета)?
Параметры, которые я указал - не столь существенны - просто чтобы я мог с ними "играться".
Заранее спасибо.

Попробуй доработать VT

Пытался... Ничего не выходит... Даже сузить не удалось...
Мне это не по зубам:blush:


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№1194425-07-2017 22:00:47

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

Re: Custom Buttons

Rag пишет

bunda1
Прошу прощения.Не указал браузер.Кнопка нужна для Pale Moon 27.4.0 кнопка с дропмаркером.

:/

Выделить код

Код:

(()=> { 
   var but = document.getElementById('bookmarks-menu-button');
   var bookmarksPopup = document.getElementById('BMB_bookmarksPopup');
   but.onmouseover =()=> { 
      bookmarksPopup.showPopup(but, -1, -1, 'popup', 'bottomleft', 'topleft');
      but.f = true;
   }; 
   but.onmouseleave =()=> { but.f = false; setTimeout(()=> !but.f && bookmarksPopup.hidePopup(), 800) };
})();

Отсутствует

 

№1194525-07-2017 22:20:30

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

Re: Custom Buttons

bunda1
Отлично!Спасибо!

Отсутствует

 

№1194625-07-2017 22:48:30

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

Re: Custom Buttons

bunda1
Не могли бы Вы выполнить мою просьбу:

unter_officer пишет

Если не сложно, сделайте пожалуйста кнопку: "Экспорт закладок в HTML-файл / Импорт закладок из HTML-файла".

Если сложно сделать одной кнопкой, то можно сделать две отдельные - одну для экспорта в HTML-файл, вторую для импорта из HTML-файла.

Отредактировано unter_officer (25-07-2017 22:52:24)


«The Truth Is Out There»

Отсутствует

 

№1194726-07-2017 08:25:27

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

Re: Custom Buttons

bunda1
В кнопочке нашёлся изъян.После выделения ПКМ любого пункта меню, невозможно произвести какие либо действия с закладками.Например не выходит ''Удалить'' или попасть в ''Свойства'' - менюшка прячется.Проверял на чистом портабл.Можно ли это подправить?

скрытый текст
7d78a581c929.gif

И ещё,можно ли добавить небольшую задержку открытия меню?Но чтоб подменю это не касалось.

Отсутствует

 

№1194826-07-2017 09:19:14

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

Re: Custom Buttons

unter_officer пишет

bunda1
Не могли бы Вы выполнить мою просьбу:

unter_officer пишет

Если не сложно, сделайте пожалуйста кнопку: "Экспорт закладок в HTML-файл / Импорт закладок из HTML-файла".

Если сложно сделать одной кнопкой, то можно сделать две отдельные - одну для экспорта в HTML-файл, вторую для импорта из HTML-файла.

А почему имено HTML?

Отсутствует

 

№1194926-07-2017 10:43:17

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

Re: Custom Buttons

Кто в курсе, как это сделано? эта кнопка  "Custom Buttons: Source Editor", но там эта тема и основном коде...
Тут что и кнопка+стили? кнопку надо редактить? может у кого есть готовые, чтобы мы не парились)?

https://lh3.googleusercontent.com/-KmFg03DT0hw/V34TJhYsy2I/AAAAAAAAdFI/wM2HlomsngU/s0/screenshot%2525202016-07-07%252520001.png

-------------------------------------------------------------------------------------------------

Что надо изменить в этом коде, чтобы подстройть под этот....

Выделить код

Код:

(()=> { 
   var but = document.getElementById('bookmarks-menu-button');
   var bookmarksPopup = document.getElementById('BMB_bookmarksPopup');
   but.onmouseover =()=> { 
      bookmarksPopup.showPopup(but, -1, -1, 'popup', 'bottomleft', 'topleft');
      but.f = true;
   }; 
   but.onmouseleave =()=> { but.f = false; setTimeout(()=> !but.f && bookmarksPopup.hidePopup(), 800) };
})();


под этот.... || ПС. эта инфа с "Attributes Inspector"

Выделить код

Код:

toolbarbutton [18×18]
namespaceURI: XUL
margin: -1px
border: 0
padding: 0
id = bookmarks-button
class = toolbarbutton-1 chromeclass-toolbar-additional aios-tbutton
autoCheck = false
command = viewBookmarksSidebar
cui-areatype = toolbar
group = sidebar
label = Bookmarks
oncommand = SidebarUI.toggle('viewBookmarksSidebar');
removable = true
sidebarurl = chrome://browser/content/bookmarks/bookmarksPanel.xul
tooltip = bookmarks-tooltip
tooltiptext = Bookmarks
type = checkbox


Если это реально сделать, так как в этой кнопки нет выпадающего меню как в том, и да он работает через All-in-One Sidebar, там попат другой вроде. Может нужен ид попапа?
Popup_All-in-One Sidebar_Bookmarks

Выделить код

Код:

treechildren [266×610]
namespaceURI: XUL
margin: 0
border: 0
padding: 0
id = bookmarks-view-children
class = sidebar-placesTreechildren
flex = 1
tooltip = bhTooltip
view = bookmarks-view

Отредактировано Gladius333 (26-07-2017 11:02:18)

Отсутствует

 

№1195026-07-2017 10:58:48

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

Re: Custom Buttons

bunda1

Добрый день . Можно доработать этот код, в части автоматического закрытия папки закладок на панели закладок, когда с неё убран курсор, с задержкой 0,5 сек.?

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

Выделить код

Код:

// Автоматически открывать папки закладок на панели закладок, от 22.08.2016. ...............
addEventListener('mouseover', (e, targ = e.target)=> {
   if ( targ.getAttribute('type') != 'menu'
        || (document.querySelectorAll('[open^="true"]').length > 0        
        && !document.getElementById('PlacesChevron').hasAttribute('open')) 
        ) return;

   document.getElementById('PlacesChevronPopup').hidePopup();
      
   setTimeout(()=> { 
      if ( !targ.f ) try { targ.children[0].showPopup(targ, -1, -1, 'popup', 'bottomleft', 'topleft') } catch(e) {};
   }, 500, targ.f = false);
   targ.onmouseleave =()=> { targ.f = true; targ.onmouseleave = null };
   
}, false, document.getElementById('PlacesToolbar'));

Отредактировано Duche (26-07-2017 13:07:48)

Отсутствует

 

Board footer

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