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

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№900110-10-2015 01:02:11

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 44.0

Re: Custom Buttons

Ещё две нерабочие кнопки обнаружились №15 и №23. А с ними что не так?

Отредактировано voqabuhe (10-10-2015 01:02:37)

Отсутствует

 

№900210-10-2015 02:31:31

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

Re: Custom Buttons

voqabuhe пишет

Ещё две нерабочие кнопки обнаружились №15 и №23. А с ними что не так?

Ну, наверно, всё в том же файле, всё те же Nightly-токсичные const'ы

const createMsg = custombuttonsUtils. createMsg;
const gClipboard = custombuttonsUtils. gClipboard;

Отсутствует

 

№900310-10-2015 17:48:00

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 44.0

Re: Custom Buttons

Dumby пишет

Ну, наверно, всё в том же файле, всё те же Nightly-токсичные const'ы

Ага, спасибо.

Отсутствует

 

№900411-10-2015 14:51:28

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

Re: Custom Buttons

rbfyec пишет

Как пользоваться полифиллами?
У меня [firefox] 20, он не поддерживает метод closest(). Я нашёл для этого полифилл https://plainjs.com/javascript/traversi … lector-39/

Как я делаю. Запускаю скажем на этой странице код

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

Выделить код

Код:

this.Element && function(ElementPrototype) {
    ElementPrototype.closest = ElementPrototype.closest ||
    function(selector) {
    var el = this;
    while (el.matches && !el.matches(selector)) el = el.parentNode;
    return el.matches ? el : null;
    }
    }(Element.prototype);


И после этого пытаюсь найти ближайшего родителя-дива для картинки из поста oleg953

Выделить код

Код:

var el = content.document.querySelector('[src="http://ipic.su/img/img7/tn/kiss_101kb.1443207760.png"]');
alert(el.closest('div'));

И оно выдаёт ошибку el.closest is not a function
Почему полифилл  не работает?

Знатоки, ну кто что знает про это?
Вопрос по-прежнему актуален.

Отсутствует

 

№900511-10-2015 15:58:27

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

Re: Custom Buttons

rbfyec
Ну, если для страниц, то может заведи себе

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

Выделить код

Код:

addEventListener("DOMWindowCreated", function(e)
    e.target.defaultView.wrappedJSObject.Element.prototype.closest = function(selector) {
        for(var element = this; element; element = element.parentElement) {
            if (element.mozMatchesSelector(selector)) return element;
        }
        return null;
    }
);

Отсутствует

 

№900611-10-2015 17:26:34

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

Re: Custom Buttons

Dumby пишет

rbfyec
Ну, если для страниц, то может заведи себе

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

Выделить код

Код:

addEventListener("DOMWindowCreated", function(e)
    e.target.defaultView.wrappedJSObject.Element.prototype.closest = function(selector) {
        for(var element = this; element; element = element.parentElement) {
            if (element.mozMatchesSelector(selector)) return element;
        }
        return null;
    }
);

Да, мне для страниц. А что с этим кодом надо делать?
Я положил его в инициализацию кнопки. Но по-прежнему, при попытке вывести alert(el.closest('div')) я получаю ошибку el.closest is not a function

Отсутствует

 

№900711-10-2015 18:46:49

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

Re: Custom Buttons

rbfyec пишет

при попытке вывести alert(el.closest('div'))

Не, как добавить именно к XrayWrapper'нутым, — я без понятия.
А так, алерт вполне себе алертится.

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

Выделить код

Код:

var selector = '[alt="http://ipic.su/img/img7/tn/kiss_101kb.1443207760.png"]';
var element = content.wrappedJSObject.document.querySelector(selector);
alert(element.closest("div").id);

Отсутствует

 

№900811-10-2015 21:06:35

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

Re: Custom Buttons

Dumby пишет
rbfyec пишет

при попытке вывести alert(el.closest('div'))

Не, как добавить именно к XrayWrapper'нутым, — я без понятия.
А так, алерт вполне себе алертится.

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

Выделить код

Код:

var selector = '[alt="http://ipic.su/img/img7/tn/kiss_101kb.1443207760.png"]';
var element = content.wrappedJSObject.document.querySelector(selector);
alert(element.closest("div").id);

Что значит XrayWrapper'нутый я не знаю, но понял, что в ссылке на элемент надо между content и document вставить это: wrappedJSObject.
Тогда да, работает. Ну для меня это главное.
Спасибо, Dumby!

Отсутствует

 

№900913-10-2015 15:22:05

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

Re: Custom Buttons

скрытый текст
Всем привет, подскажите пожалуйста код функции, чтоб нажать вот на эту кнопочку в thunderbird:

Выделить код

Код:

toolbarbutton [83×19]
namespaceURI: XUL
id = qfb-qs-sender
checkState = 1
checked = true
label = Отправителю
type = checkbox

012ce960c1d0.jpg

В общем нужно все фильтры отключить?

Выделить код

Код:

// https://github.com/Infocatcher/Custom_Buttons/tree/master/Quick_Filter_by_Sender

// Quick Filter by Sender button for Custom Buttons
// (code for "code" section)

// (c) Infocatcher 2013
// version 0.1.0 - 2013-08-16

var selectedMessages = gFolderDisplay.selectedMessages;
if(selectedMessages && selectedMessages.length) {
    var authorEmail = extractAddress(selectedMessages[0].author);
    setFilterOptions({
        sender:     true,
        recipients: false,
        subject:    false,
        body:       false
    });
    var filterField = document.getElementById("qfb-qs-textbox");
    filterField.value = authorEmail;
    filterField.doCommand();
}
function extractAddress(header) {
    return Components.classes["@mozilla.org/messenger/headerparser;1"]
        .getService(Components.interfaces.nsIMsgHeaderParser)
        .extractHeaderAddressMailboxes(header);
}
function setFilterOptions(opts) {
    for(var type in opts) if(opts.hasOwnProperty(type)) {
        var btn = document.getElementById("qfb-qs-" + type);
/*----------*/  if(btn.checked != 0) {btn.click(); return;} // ----------> Тут врезался, вроде работает пока
        if(btn.checked != opts[type]) btn.click();
    }
}

Infocatcher, спасибо за кнопку!

Отредактировано fokanik (13-10-2015 16:13:05)

Отсутствует

 

№901014-10-2015 18:17:55

pofigist
Участник
 
Группа: Members
Зарегистрирован: 22-01-2014
Сообщений: 22
UA: Firefox 41.0

Re: Custom Buttons

долго сопротивлялся, но вот пришла и моя пора переходить с ff 24 esr на новую версию и сразу возникли вопросы/проблемы... :(
есть ли готовый код или какое решение с помощью CB вот такой проблемы:
раньше, выделял текст на странице и перетягивал его на панель поиска, она раскрывалась, я дотягивал текст до нужного поисковика и отпускал > открывалась вкладка с результатами поиска. Сейчас же, при перетягивании, панель не раскрывается и даже если отпустить на поисковике по умолчанию, то поиск не стартует, пока не нажать на значок лупы (или кнопку Enter).
Можно ли вернуть прежний функционал?
И еще, помогите разобраться с таким, вроде бы простым кодом:

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

Выделить код

Код:

/*Initialization code*/

// настройка функций кликов мыши(Mouse Click settings)
this.onclick = function(event) {
    if(event.button == 0) {
        // Действие при клике ЛКМ
        gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close();
        if (!gFindBar.hidden) setTimeout(function() { gFindBar.toggleHighlight(true) }, 200);
        // gFindBar._findField.value = "";
    goDoCommand("cmd_selectNone");
    }
    else if(event.button == 1) {
        // Действие при клике СКМ
        gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close();
        if (!gFindBar.hidden) setTimeout(function() { gFindBar.toggleHighlight(true) }, 200);
        goDoCommand("cmd_selectNone");
        goDoCommand("cmd_paste");
    }
};


// Обработчики следят за переключением табов и поддерживают текущую подсветку слов
addEventListener("TabSelect", function(e) {
     if ( !gBrowser.mCurrentTab.hasAttribute("busy") ) 
    { if (!gFindBar.hidden) { setTimeout(function() { gFindBar.onFindCommand(); gFindBar.toggleHighlight(true); }, 200); }; }     
}, false, gBrowser.tabContainer );

// Обработчики следят за изменением страницы и поддерживают текущую подсветку слов
var progressListener = { onStateChange: function()
     { if (!gFindBar.hidden) { setTimeout(function() { gFindBar.onFindCommand(); gFindBar.toggleHighlight(true); }, 200); }; }
};
gBrowser.addProgressListener(progressListener);
addDestructor(function() { gBrowser.removeProgressListener(progressListener) });


// find bar, открыть/закрыть двойным СКМ на странице
addEventListener("dblclick", function (event){
    if (event.button !== 1) return;
    event.preventDefault();    
    gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close();
        if (!gFindBar.hidden) setTimeout(function() { gFindBar.toggleHighlight(true) }, 150);
    //goDoCommand("cmd_selectNone");
}, false, gBrowser);


// FindBar, поиск колесиком мыши (FindBar, Mouse Scroll find)
addEventListener('DOMMouseScroll', function (event){ setTimeout(function() { gFindBar.onFindAgainCommand(event.detail < 0); }, 200); }, false, gFindBar);


почему-то отказывается нормально работать поиск колесиком мыши - то работает на одной вкладке, а при переходе на другие - нет, то вообще не работает ни на каких, логика не ясна.
Одно примечание: установлено дополнение FindBar Tweak. И через него панель поиска поднята вверх-вправо и поставлена галка "общая панель поиска для всех табов".
Так вот при этом, при переключении табов, подсветка найденного текста на странице вроде срабатывает, а вот количество найденного на панели не отображается.
Это победить можно?

Отсутствует

 

№901115-10-2015 08:14:04

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

Re: Custom Buttons

pofigist пишет

Можно ли вернуть прежний функционал?

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

Отсутствует

 

№901215-10-2015 08:29:22

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 24.0

Re: Custom Buttons

Подключусь к просьбе pofigist. Меня тоже интересует этот вопрос...
Ultima2m
это какими жестами ты пользуешься? какой-то кнопкой?

Отсутствует

 

№901315-10-2015 09:15:34

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

Re: Custom Buttons

Inko7 пишет

это какими жестами ты пользуешься?

У меня дополнение DragIt. Можно настроить любые жесты.
Это дополнение позволяет устанавливать одинаковые жесты для разных типов действий.
Например, движение влево:
выделенный текст - открывает меню поиска
страница - возврат на предыдущюю
ссылка - открыть в фоне
картинка - копировать
Все настраивается.
Извиняюсь за невольную рекламу и оффтопик. :)

Отсутствует

 

№901415-10-2015 13:26:59

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 24.0

Re: Custom Buttons

Ultima2m
понял, спасибо
но я пока подожду гуру кнопкописания, может они помогут... :)

Отсутствует

 

№901515-10-2015 20:31:35

pofigist
Участник
 
Группа: Members
Зарегистрирован: 22-01-2014
Сообщений: 22
UA: Firefox 41.0

Re: Custom Buttons

Ultima2m
я не против жестов, но не в данном случае
а DragIt когда-то использовал - неплохое дополнение
я надеюсь, что мои вопросы несложно решить и при помощи Custom Buttons

Отсутствует

 

№901617-10-2015 16:10:27

pofigist
Участник
 
Группа: Members
Зарегистрирован: 22-01-2014
Сообщений: 22
UA: Firefox 41.0

Re: Custom Buttons

решил поэкспериментировать с кодом обработчика:

Выделить код

Код:

addEventListener('DOMMouseScroll', function (event){ setTimeout(function() { gFindBar.onFindAgainCommand(event.detail < 0); }, 200); }, false, gFindBar);

и выяснилось, что он как-то "слетает/пропадает" при переходе/открытии на новую вкладку, поэтому и не работает поиск колесиком
для проверки идеи заменил вот так:

Выделить код

Код:

... false, gBrowser);

и теперь поиск колесом работает везде, но главное РАБОТАЕТ!!! Это что значит, что как-то обработчик надо изменить?
Я в этом мало что понимаю :(
ПОМОГИТЕ!!!

Отсутствует

 

№901717-10-2015 19:50:42

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

Re: Custom Buttons

pofigist
Вариант

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

Выделить код

Код:

addEventListener("wheel", (e, findbar = gBrowser.selectedTab._findBar) =>
    findbar && findbar.matches(":hover") && e.deltaY && findbar.onFindAgainCommand(e.deltaY < 0)
, false, gBrowser);

Отредактировано Dumby (17-10-2015 19:58:25)

Отсутствует

 

№901817-10-2015 20:39:39

pofigist
Участник
 
Группа: Members
Зарегистрирован: 22-01-2014
Сообщений: 22
UA: Firefox 41.0

Re: Custom Buttons

Dumby
Класс! Всё работает, спасибо!!! :)
Один вопросик: в итоге остался вот такой код:

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

Выделить код

Код:

/*Initialization code*/


// настройка функций кликов мыши(Mouse Click settings)
this.onclick = function(event) {
    if(event.button == 0) {
        // Действие при клике ЛКМ
        gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close();
        if (!gFindBar.hidden) setTimeout(function() { gFindBar.toggleHighlight(true) }, 200);
//        if (gFindBar.hidden) setTimeout(function() { gFindBar.toggleHighlight(false) }, 200);
        gFindBar._findField.value = "";
    goDoCommand("cmd_selectNone");
    }
    else if(event.button == 1) {
        // Действие при клике СКМ
        gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close();
        if (!gFindBar.hidden) setTimeout(function() { gFindBar.toggleHighlight(true) }, 200);
//        if (gFindBar.hidden) setTimeout(function() { gFindBar.toggleHighlight(false) }, 200);
        goDoCommand("cmd_selectNone");
        goDoCommand("cmd_paste");
    }
};



// Обработчики следят за переключением табов и поддерживают текущую подсветку слов
addEventListener("TabSelect", function(e) {
     if ( !gBrowser.mCurrentTab.hasAttribute("busy") ) 
    { if (!gFindBar.hidden) { setTimeout(function() { gFindBar.onFindCommand(); gFindBar.toggleHighlight(true) }, 200); }; }     
}, false, gBrowser.tabContainer );

// Обработчики следят за изменением страницы и поддерживают текущую подсветку слов
var progressListener = { onStateChange: function()
     { if (!gFindBar.hidden) { setTimeout(function() { gFindBar.onFindCommand(); gFindBar.toggleHighlight(true) }, 200); }; }
};
gBrowser.addProgressListener(progressListener);
addDestructor(function() { gBrowser.removeProgressListener(progressListener) });

// . . . . .

// find bar, открыть/закрыть двойным СКМ на странице
addEventListener("dblclick", function (event){
    if (event.button !== 1) return;
    event.preventDefault();    
    gFindBar.hidden ? gFindBar.onFindCommand() : gFindBar.close();
        if (!gFindBar.hidden) setTimeout(function() { gFindBar.toggleHighlight(true) }, 150);
    //goDoCommand("cmd_selectNone");
}, false, gBrowser);

// . . . . .

// FindBar, поиск колесиком мыши (FindBar, Mouse Scroll find)
addEventListener("wheel", (e, findbar = gBrowser.selectedTab._findBar) =>
    findbar && findbar.matches(":hover") && e.deltaY && findbar.onFindAgainCommand(e.deltaY < 0)
, false, gBrowser);


поиск работает, всё отлично подсвечивается, единственное  так это то, что счетчик найденного при переходе/открытии новой вкладки или любой ссылки в новую вкладку, сразу не отображается пока не крутнуть колесиком по панели. Типа нужно как-то принудительно его обновить. Это возможно?
заметил еще, что если закрыть панель поиска на другой вкладке и перейти на первую, то она сама опять открывается... Печаль...

И с вопросом по перетягиванию выделенного текста на панель адреса можешь помочь?

Отредактировано pofigist (17-10-2015 20:45:41)

Отсутствует

 

№901918-10-2015 15:39:22

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

Re: Custom Buttons

pofigist пишет

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

В коде пять раз встречается запись gFindBar.onFindCommand()
Попробуй заменить третью и четвёртую на gFindBar._find(false, true)

pofigist пишет

И с вопросом по перетягиванию выделенного текста на панель адреса можешь помочь?

Безотносительно меня, но, насколько я понял, некий код работал на FF24, но перестал работать на FF41.
Краткое описание того, что он делал есть, но сам код не приведён.
Плюс, не предоставлено предпочтение в настройке browser.search.showOneOffButtons

Отсутствует

 

№902018-10-2015 16:00:33

pofigist
Участник
 
Группа: Members
Зарегистрирован: 22-01-2014
Сообщений: 22
UA: Firefox 41.0

Re: Custom Buttons

Dumby
совет с заменой помог - так намного лучше! Спасибо!
С вопросом по перетягиванию:
У меня кода никакого не было. Это ж вроде был такой функционал старых версий FF: выделил текст на странице > схватил его мышкой > потянул к панели поиска > панель раскрылась > перетянул на нужный поисковик > отпустил кнопку мыши на нём > открывается вкладка с результатами поиска этого (выделенного) текста в этом поисковике. А сейчас так: выделил текст на странице > схватил его мышкой > потянул к панели поиска > панель НЕ раскрылась > отпустил кнопку мыши > текст вставился в строку > вручную раскрываю список поисковиков > кликаю на нужном поисковике (текст при этом остается в строке) > кликаю по значку лупы > открывается вкладка с результатами поиска этого текста в этом поисковике. Все стало сложнее/неудобнее!
Вот я и хочу попросить код, эмулирующий старое поведение.
Это возможно?
По поводу browser.search.showOneOffButtons : у меня установлен в "false". Так более привычно.

Отсутствует

 

№902118-10-2015 17:46:21

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 24.0

Re: Custom Buttons

Подскажите, как можно закрывать открытую кнопку-меню PanelUI ? Цель: открываю эту кнопку-меню и жму помещенную на неё CB-кнопку и хочу, чтобы после этого этот popup сам закрывался.
Пробовал так:

Выделить код

Код:

document.getElementById("PanelUI-popup").hidePopup();

и так:

Выделить код

Код:

document.getElementById("PanelUI-menu-button").click();

меню не закрывается. Что не так?

И еще вопрос в тему: CB-кнопки помещенные в это меню не инициализируются при старте FF ? Можно как-то заставить?

Отсутствует

 

№902218-10-2015 21:19:19

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 24.0

Re: Custom Buttons

И еще ситуация:
хочу повесить обработчик на кнопку настроек, которая находится в кнопке-меню

Выделить код

Код:

document.getElementById("preferences-button").addEventListener("click", afunc, false);

но при старте FF кнопка неактивна, не находит такого элемента по id. Как иначе получить доступ???

Отсутствует

 

№902318-10-2015 23:02:42

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

Re: Custom Buttons

pofigist пишет

Это ж вроде был такой функционал старых версий FF

Не смог обнаружить такой функционал :(.
Может подойдёт что-то типа

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

Выделить код

Код:

(bar => {
    var delay = 200;

    var id = 0, popup = bar._popup;
    addEventListener("dragenter", e => {
        clearTimeout(id);
        id = setTimeout(() => popup.parentNode.open = true, delay);
    }, false, bar);
    addEventListener("dragexit", () => clearTimeout(id), false, bar);
    addEventListener("drop", e => {

        if (!e.target.className.contains("searchbar-engine-menuitem")) return;
        e.stopPropagation(); popup.hidePopup();

        var dt = e.dataTransfer;
        var text = dt.getData("text/plain") || dt.getData("text/x-moz-text-internal");
        text && bar.doSearch(text, "tab", e.target.engine);

    }, false, popup);
})(BrowserSearch.searchBar);

Inko7 пишет

открываю эту кнопку-меню и жму помещенную на неё CB-кнопку и хочу, чтобы после этого этот popup сам закрывался

Странно, у меня popup сам закрывается, даже если нажать
на помещенную туда пустую CB-кнопку.

CB-кнопки помещенные в это меню не инициализируются при старте FF ? Можно как-то заставить?

Есть заставлялка. Кстати, вроде даже так работает
PanelUI._isReady || PanelUI.ensureReady();

при старте FF кнопка неактивна, не находит такого элемента по id. Как иначе получить доступ???

Вариант

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

Выделить код

Код:

(pup => addEventListener("popupshowing", function ps() {
    removeEventListener("popupshowing", ps, false, pup);

    alert(document.getElementById("preferences-button"));

}, false, pup))(document.getElementById("PanelUI-popup"));

Отредактировано Dumby (18-10-2015 23:03:06)

Отсутствует

 

№902419-10-2015 20:29:49

pofigist
Участник
 
Группа: Members
Зарегистрирован: 22-01-2014
Сообщений: 22
UA: Firefox 41.0

Re: Custom Buttons

Dumby пишет

Не смог обнаружить такой функционал :(.

Странно, у меня на прежнем ff так было. Специально для этого никакое дополнение не ставил. Может какое само так сделало, не знаю.

Может подойдёт что-то типа

Шикарно!!! Как раз то, что нужно!!! Спасибо!

Добавлено:
А можно ли красоту навести: когда вожу зажатый текст над поисковиками, чтобы тот, над которым нахожусь выделялся курсором? Так просто будет более наглядно...

Отредактировано pofigist (19-10-2015 20:40:31)

Отсутствует

 

№902519-10-2015 21:23:20

Inko7
Участник
 
Группа: Members
Зарегистрирован: 09-11-2009
Сообщений: 1008
UA: Firefox 24.0

Re: Custom Buttons

Dumby пишет

Кстати, вроде даже так работает
PanelUI._isReady || PanelUI.ensureReady();

Да, спасибо, вроде бы работает.

Dumby пишет

Странно, у меня popup сам закрывается, даже если нажать
на помещенную туда пустую CB-кнопку.

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

Выделить код

Код:

// открыть about:config по нажатию СКМ на кнопке настроек в PanelUI

document.getElementById("preferences-button").addEventListener("click", aconf, false);

function aconf(event){
if (event.button==1){
    ( function() {
if (getBrowser().currentURI.spec == "about:blank") loadURI ("about:config");
    else
{ getBrowser (). selectedTab = getBrowser (). addTab ("about:config"); };
      setTimeout(function() { document.getElementById("panelUI-popup").hidePopup(); }, 300);
            })();
        }
};

а оно не работает...
Кнопка, в которой расположен этот код, при запуске становится неактивной

Отсутствует

 

Board footer

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