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

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

№600127-02-2013 09:51:20

Anton
Участник
 
Группа: Extensions
Откуда: от верблюда
Зарегистрирован: 14-12-2004
Сообщений: 3057
UA: Firefox 19.0
Веб-сайт

Re: Custom Buttons

Dumby пишет

Как мне кажется addEventListener одинокий и как таковой
уже любезно переопределён автором Custom Buttons.

Нет, не так. addEventListener — это функция, и она не переопределяет одноимённый метод DOM'овских объектов, а определяется вместе с кодом кнопки всякий раз, как он выполняется, так же, как если бы её код был записан вместе с кодом кнопки.

bunda1 пишет

в custombuttons-0.0.5.6pre4-20130127.xpi лишние обработчики теперь сами удаляются?

Обработчики, которые ставятся с помощью функции (не метода) addEventListener, автоматически снимаются при удалении, редактировании или обновлении кнопки.


Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!

Отсутствует

 

№600227-02-2013 12:11:47

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

Re: Custom Buttons

custombuttons-0.0.5.6pre5-20130226 115kB

    Marked compatible with Firefox 22.0a1
    Implemented synchronization of the custom buttons' list in the Add-ons Manager for operations with the buttons in the browser window

Отсутствует

 

№600327-02-2013 21:53:32

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

Re: Custom Buttons

Anton пишет
bunda1 пишет

в custombuttons-0.0.5.6pre4-20130127.xpi лишние обработчики теперь сами удаляются?

Обработчики, которые ставятся с помощью функции (не метода) addEventListener, автоматически снимаются при удалении, редактировании или обновлении кнопки.

Спасибо. Желаю тебе успехов в работе над Custom Buttons :)

Добавлено 27-02-2013 21:59:33

villa7 пишет

bunda1
Почему то эта Context Search не встраивается в общий стиль.

Не знаю, но думаю что это можно легко исправить если использовать Уроки стилистики (CSS) | Форум Mozilla Россия Мне для ответа нужно знать что у тебя за тема установлена или стили.

Отредактировано bunda1 (27-02-2013 21:59:33)

Отсутствует

 

№600428-02-2013 00:27:39

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: unknown 0.0

Re: Custom Buttons

[

bunda1 пишет

Мне для ответа нужно знать что у тебя за тема установлена или стили.

Я уже там чёто похимичил, стало как надо. Спасибо.


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№600528-02-2013 12:55:08

behlarenec
Участник
 
Группа: Members
Зарегистрирован: 25-09-2012
Сообщений: 7
UA: Firefox 15.0

Re: Custom Buttons

Здравствуйте!

Может кто-нибудь подсказать код для кнопки открывающей "Библиотеку" (именно окно с закладками, а не панель), и чтобы при ее открытии была активна та папка, которая была активна на момент последнего закрытия "Библиотеки"?

С уважением.

Отсутствует

 

№600628-02-2013 18:46:11

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: unknown 0.0

Re: Custom Buttons

behlarenec
Не уверен, но может подойдет.
http://forum.mozilla-russia.org/viewtopic.php?pid=397938#p397938


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№600701-03-2013 21:13:00

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

Re: Custom Buttons

Anton

bunda1 пишет

Спасибо. Желаю тебе успехов в работе над Custom Buttons :)

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

behlarenec пишет

Может кто-нибудь подсказать код для кнопки

Тоже весьма не уверен

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

Выделить код

Код:

var win = Services.wm.getMostRecentWindow("Places:Organizer");
if (!win) {
    openDialog("chrome://browser/content/places/places.xul", "",
        "chrome,toolbar=yes,dialog=no,resizable", "AllBookmarks");
    return;
}
win.focus();

Инициализация

Выделить код

Код:

const pn = " SomePrefNane.folderURI";
var prefs = Application.prefs;
if (!prefs.has(pn)) prefs.setValue(pn, "");
var pref = prefs.get(pn);

const url = "chrome://browser/content/places/places.xul";
var observer = {

    observe: function(win) {
        win.addEventListener("load", this, false);
    },
    handleEvent: function(e) {

        var doc = e.target;
        var win = doc.defaultView;
        
        if (e.type == "unload") {
            pref.value = win.PlacesOrganizer.location;
            return;
        }
        win.removeEventListener("load", this, false);
        if (doc.location.href != url) return;
        win.addEventListener("unload", this, false);
        setTimeout(function() {
            if (pref.value) win.PlacesOrganizer.location = pref.value;
            win.PlacesOrganizer._places.focus();
        }, 100);
    }
}
Services.obs.addObserver(observer, "domwindowopened", false);

this.onDestroy = function(reason) {
    try {
        Services.obs.removeObserver(observer, "domwindowopened");
    } catch (ex) {}
    if (reason == "delete") pref.reset();
}

Отредактировано Dumby (01-03-2013 21:23:46)

Отсутствует

 

№600801-03-2013 21:45:39

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

Re: Custom Buttons

Dumby пишет

Тоже весьма не уверен

Да это же отличный код, но как добиться то же самое если открыть chrome://browser/content/places/places.xul как вкладку:

Выделить код

Код:

// Обработчик следит запуском всех команд и запускает нужные коды и функции .........................................
window.addEventListener("command", function(e) {
 
   var command = e.target.getAttribute("oncommand");
   
   // открывать 'Библиотеку' в вкладке ....
   if ( command == "PlacesCommandHook.showPlacesOrganizer('History');" || 
        command == "PlacesCommandHook.showPlacesOrganizer('AllBookmarks');") {  
        e.preventDefault();
        e.stopPropagation();          
        gBrowser.loadOneTab("chrome://browser/content/places/places.xul", null, null, null, false, false);
        }    
}, true);

Отсутствует

 

№600901-03-2013 22:50:39

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

Re: Custom Buttons

bunda1
№6539
Ещё в редакторе кнопок Custom Buttons и  стилий Stylish не работает

Добавлено 01-03-2013 22:53:06

bunda1 пишет

Да это же отличный код, но как добиться то же самое если открыть chrome://browser/content/places/places.xul как вкладку:

Как я понимаю скоро появится очередная замечательная кнопочка? Ждёмс.:)

Отредактировано voqabuhe (01-03-2013 22:53:06)

Отсутствует

 

№601001-03-2013 22:58:31

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

Re: Custom Buttons

voqabuhe пишет

Ещё в редакторе кнопок Custom Buttons и  стилий Stylish не работает
Как я понимаю скоро появится очередная замечательная кнопочка? Ждёмс.:)

Исправим. И кнопку сделаем если добрый Dumby поможет.

Отсутствует

 

№601102-03-2013 18:15:13

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

Re: Custom Buttons

bunda1 пишет

как добиться то же самое если открыть chrome://browser/content/places/places.xul как вкладку:

Вот, попытка...

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

Выделить код

Код:

const pn = " SomePrefName.folderURI";
var prefs = Application.prefs;
if (!prefs.has(pn)) prefs.setValue(pn, "");
var pref = prefs.get(pn);

const url = "chrome://browser/content/places/places.xul";
const command = "PlacesCommandHook.showPlacesOrganizer('AllBookmarks');"

function openInTab(e) {

    if (e.target.getAttribute("oncommand") != command) return;
    e.stopPropagation();

    for (var tab = gBrowser.tabs[0]; tab; tab = tab.nextSibling) {
        var loc = tab.linkedBrowser.contentDocument.location;
        if (loc == url) {
            var tvti = tab._tabViewTabItem;
            if (tvti && tvti.parent != TabView._window.GroupItems._activeGroupItem)
                TabView.moveTabTo(tab, TabView._window.GroupItems._activeGroupItem.id);
            gBrowser.selectedTab = tab;
            return;
        }
    }
    gBrowser.loadOneTab(url, null, null, null, false, false);
}
function onDCL(e) {

    var win = e.target.defaultView;
    if (win.location != url) return;

    setTimeout(function() {
        if (pref.value) win.PlacesOrganizer.location = pref.value;
        win.PlacesOrganizer._places.focus();
    }, 100);

    win.addEventListener("unload", function onUnload(e) {
        win.removeEventListener("unload", onUnload, false);
        pref.value = win.PlacesOrganizer.location;
    }, false);
}
addEventListener("click", openInTab, true, window);
addEventListener("command", openInTab, true, window);
addEventListener("DOMContentLoaded", onDCL, false, gBrowser);

this.onDestroy = function(reason) {
    if (reason == "delete") pref.reset();
};


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

посмотрев что хранится в конфиге выяснил что папки там просто пронумерованы,а можно ли както получить общее количество папок

Пронумерованы они странно, сам посмотри (жмяк)

Выделить код

Код:

var bookmarksService = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].getService(Ci.nsINavBookmarksService);
var historyService = Cc["@mozilla.org/browser/nav-history-service;1"].getService(Ci.nsINavHistoryService);

var options = historyService.getNewQueryOptions();
var query = historyService.getNewQuery();

var str = "";
var count = 0;
function test(folderId) {

    query.setFolders([folderId], 1);
    var folder = historyService.executeQuery(query, options).root;

    folder.containerOpen = true;
    for (var i = 0; i < folder.childCount; i ++) {

        var child = folder.getChild(i);
        if (child.type != child.RESULT_TYPE_FOLDER) continue;

        var title = child.title || "(без заголовка)";
        str += "[" + child.itemId + "]  " + title + "\n";
        count++;
        test(child.itemId);
    }
    folder.containerOpen = false;
}
test(bookmarksService.placesRoot);

alert(count);
alert(str);

и соответственно по номеру получить её название

Это, вроде, не сложно

Выделить код

Код:

var folderId = 2;

var navBookmarksService = Cc["@mozilla.org/browser/nav-bookmarks-service;1"].getService(Ci.nsINavBookmarksService);
var title = navBookmarksService.getItemTitle(folderId);
alert(title);

есть ли у папки какойто атрибут позволяющий её скрывать или делать недоступной?

А вот это мне неведомо

Отсутствует

 

№601202-03-2013 21:26:19

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

Re: Custom Buttons

okkamas_knife пишет

есть ещё пожелание чтоб работало еще и с этой кнопкой

Строка:    addEventListener("DOMContentLoaded", onDCL, false, gBrowser);
попробуй заменить    gBrowser    на
document.getElementById("appcontent")

Отсутствует

 

№601302-03-2013 23:13:23

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

Re: Custom Buttons

Dumby
Спасибо, вроде все работает. Ты лучший :)

Отредактировано bunda1 (02-03-2013 23:13:52)

Отсутствует

 

№601403-03-2013 00:08:34

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

Re: Custom Buttons

bunda1 пишет

Ты лучший :)

Шутишь ?
Лучший - сам знаешь Кто, а я и «рядом не стоял».
Но всё равно спасибо, рад что пригодился :).

Отсутствует

 

№601507-03-2013 22:56:08

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

Re: Custom Buttons

Anton пишет

Обработчики, которые ставятся с помощью функции (не метода) addEventListener, автоматически снимаются при удалении, редактировании или обновлении кнопки.

Кстати, в SeaMonkey 2.16 + Custom Buttons 0.0.5.6pre5 не работает:

Выделить код

Код:

addEventListener("TabOpen", function(e) {
    var tab = e.originalTarget || e.target;
    var doc = tab.ownerDocument;
    var box = doc.getAnonymousElementByAttribute(tab, "class", "tab-middle box-inherit");
    if(!box)
        throw new Error("Can't find hbox.tab-middle");
    var btn = doc.createElement("toolbarbutton");
    btn.setAttribute("oncommand", "gBrowser.removeTab(this.parentNode.parentNode);");
    btn.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAq1BMVEWsP0mvQkymOUSGICh4FyGDHyj////9hYWtP0ngeXrienrtfX+pO0X6eXnebm/MlJXYqanRcXKlNkD3a2vfY2TSk5T0gYHUnp+bLDXxgIDQNDS7OTqWJzDQLS3GLS2yODnEhoeSJS3SMDC8LzDIjIzGhoeOIyvXNjbANTW9dnfEfX6/PT6LISncPT3VPD3FOzzIOzzYPT3XUFHVNTX+jo7FhYayRU6IIiruX18GggqCAAAABnRSTlOZmTOZM5nlPZ+bAAAAeklEQVR4Xi3AUwLDQBAA0Ikmtm1bbe9/sv7sA5r6EBQNID+EDCDwniiFoSR6vACKqumGaRq6pipg2Y6Lvo+uY1sQ3FH8Ir5xdAeQpFleIBZ5liZQVnWDbYtNXZXQ9cM4zfM0Dn0Hy7rtx3ke+7YuwFw/4mKA5b4Ex/4BzUsRs1W0PbwAAAAASUVORK5CYII=");
    btn.tooltipText = "Close Tab";
    box.appendChild(btn);
}, true);

(инициализация)
После перезапуска и добавления новой вкладки кнопок на ней окажется две.

И да, это типа пример добавления кнопок на вкладки без переопределения XBL-binding'а для .tabbrowser-tab.
Только кнопки эти не работают. :D
И как сделать их доступными без тех же binding'ов, я не знаю.
Но у меня просили пример, и вот он. :D


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

Отсутствует

 

№601607-03-2013 23:30:58

rota
Участник
 
Группа: Members
Зарегистрирован: 07-03-2013
Сообщений: 12
UA: Firefox 15.0

Re: Custom Buttons

Здравствуйте, сделал кнопку для открытия url - всё работает. Есть два вопроса:
1. Как сделать так чтобы по средней кнопке мыши url добавлялась вкладка как она добавляется по умолчанию в ff при нажатии на любой адресс
2. Как уменьшить границы кнопки с иконкой, т.е. чтобы иконка оставалась такой же, а расстояние до краёв кнопки и собственно сама кнопка была меньше дефолтной?

Спасибо.

Отсутствует

 

№601708-03-2013 00:04:41

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

Re: Custom Buttons

rota пишет

1. Как сделать так чтобы по средней кнопке мыши url добавлялась вкладка как она добавляется по умолчанию в ff при нажатии на любой адресс
2. Как уменьшить границы кнопки с иконкой, т.е. чтобы иконка оставалась такой же, а расстояние до краёв кнопки и собственно сама кнопка была меньше дефолтной?

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

Отсутствует

 

№601808-03-2013 01:27:05

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

Re: Custom Buttons

Infocatcher пишет

пример добавления кнопок на вкладки без переопределения XBL-binding'а для .tabbrowser-tab.

Более полноценный пример: tabButtons.js


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

Отсутствует

 

№601908-03-2013 04:10:46

vom
Участник
 
Группа: Members
Зарегистрирован: 30-08-2011
Сообщений: 155
UA: Firefox 20.0

Re: Custom Buttons

Подскажите пожалуйста, можно ли сделать перевод этой кнопкой Translate, по примеру дополнения Google Translator, заменой иностранного текста на русский. С активацией через контекстное меню при выделении текста.

Отсутствует

 

№602008-03-2013 08:29:08

Kamui
Участник
 
Группа: Members
Зарегистрирован: 31-03-2011
Сообщений: 1796
UA: Firefox 20.0

Re: Custom Buttons

bunda1
Translate после обновления странно работает, переводит в гугле, даже если выбран переводчик MS и если отключена опция "Перевод страницы с заменой текста". Если опция "Перевод страницы с заменой текста" включена и выбран переводчик MS, то тогда нормально переводит в MS, но если выбран переводчик гугл при включенной опции "Перевод страницы с заменой текста", то тогда вообще ничего не переводится.

Отсутствует

 

№602108-03-2013 10:49:06

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: unknown 0.0

Re: Custom Buttons

LEX1
Давно хотел, да повода не было, а тут как раз про переводчики тема пошла. Использую именно Вашу кнопку, для меня наиболее удобную, (активация из контекстного меню, не надо к кнопке тянуться, не перегружена пунктами меню, подменю, всего два, для меня достаточно)
но есть маленькое неудобство, уж слишком маленькая кнопка закрытия окна, не всегда с первого раза удаётся закрыть, особенно когда хочется быстро. Может можно увеличить область действия кнопки закрытия, ну а в идеале закрывать кликом по странице в любом месте, как в этой кнопке http://forum.mozilla-russia.org/viewtop … 50#p486850 Спасибо.


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№602208-03-2013 17:27:45

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

Re: Custom Buttons

okkamas_knife пишет

в  [seamonkey]2.16 кнопку создаёт но она не рабочая.

Что именно не рабочее?
По поводу SeaMonkey там уже написано:

Выделить код

Код:

// Note: this is just an example, added buttons isn't accessible in SeaMonkey.

Боюсь, с этим – к разработчикам SeaMonkey. Я вот не понимаю, в чем смысл создавать свой <tabbrowser> и делать свои вкладки, когда можно взять готовый и доработать стилями.


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

Отсутствует

 

№602308-03-2013 17:37:25

rota
Участник
 
Группа: Members
Зарегистрирован: 07-03-2013
Сообщений: 12
UA: Firefox 15.0

Re: Custom Buttons

bunda1 пишет
rota пишет

1. Как сделать так чтобы по средней кнопке мыши url добавлялась вкладка как она добавляется по умолчанию в ff при нажатии на любой адресс
2. Как уменьшить границы кнопки с иконкой, т.е. чтобы иконка оставалась такой же, а расстояние до краёв кнопки и собственно сама кнопка была меньше дефолтной?

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

скрытый текст
Untitled-1%20copy.png

p.s. лучше задам вопрос по-другому:
как запилить в строку поиска рядом с лупой поиск по картинкам и по картам
search%20add%202%20buttons.png

Отредактировано rota (08-03-2013 17:57:17)

Отсутствует

 

№602408-03-2013 20:22:37

Lex1
Участник
 
Группа: Members
Зарегистрирован: 07-07-2007
Сообщений: 260
UA: Firefox 19.0

Re: Custom Buttons

villa7
Оно закрывается ещё и по Esc. Размер можно изменить здесь: display:block;float:right;width:18px;height:18px;
И добавить после этого:

Выделить код

Код:

background-repeat:no-repeat;background-size:100%;

Отсутствует

 

№602508-03-2013 20:23:15

rota
Участник
 
Группа: Members
Зарегистрирован: 07-03-2013
Сообщений: 12
UA: Firefox 15.0

Re: Custom Buttons

okkamas_knife, а нет готового решения "поиска" случаем?

Отсутствует

 

Board footer

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