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

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

№210121-10-2010 23:00:58

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

Re: Custom Buttons

Anton
дабавил if (e.target.nodeName != "xul:toolbarbutton") return; после this.leftclick = function(e){
но серавно  this.leftclick = function(e){  неработает +  выскакивает меню кнопки при нажатие на дропмаркер
все остальное работает

Отредактировано bunda1 (22-10-2010 00:00:58)

Отсутствует

 

№210221-10-2010 23:45:59

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

Re: Custom Buttons

if (e.target.nodeName != "xul:toolbarbutton") return;

Черт. Должно быть originalTarget:

Выделить код

Код:

if (e.originalTarget.nodeName != "xul:toolbarbutton") return;
bunda1 пишет

выскакивает меню кнопки при нажатие на дропмаркер

При нажатии на дропмаркер меню не выскакивает. При выборе пункта меню, может быть ?
Замени:

Выделить код

Код:

"parentNode.parentNode.selectEngine(parentNode.parentNode, event)");

на

Выделить код

Код:

"event.preventDefault();event.stopPropagation();parentNode.parentNode.selectEngine(parentNode.parentNode, event);");

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

Отсутствует

 

№210321-10-2010 23:59:03

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

Re: Custom Buttons

ааааааааааааааааа пахоже кнопка работает
я на эту кнопку потратил 4 дня и никак!!!!!

Anton

Спасибо огромное,твоя помощь неоценима!

Отредактировано bunda1 (22-10-2010 00:06:51)

Отсутствует

 

№210422-10-2010 00:25:14

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

Re: Custom Buttons

bunda1
: )
Благодаря твоей настойчивости я нашел баг в реализации gQuot.
Спасибо.


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

Отсутствует

 

№210522-10-2010 04:07:32

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

Re: Custom Buttons

Anton

Kод который дабавляет в контекстное меню менеджера раширений пункт- открыть папку расширения серавно не работает, даже на новом профиле. Я питался по всякому запустить этот код и на portable и на обичном Firefox, на разных сборках Firefox. Мистика какая-то.

Больше скажу если поместить этот код в /*Initialization Code*/ кнопка становится блеклой а так обычно происходит если что то не порядке с кодом.

Отредактировано bunda1 (22-10-2010 13:38:17)

Отсутствует

 

№210623-10-2010 08:32:03

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

Re: Custom Buttons

bunda1 пишет

если поместить этот код в /*Initialization Code*/ кнопка становится блеклой а так обычно происходит если что то не порядке с кодом.

А, понял. Код без изменений должен будет работать в 0.0.5.2.
Чтобы работало в предыдущих версиях, надо добавить в начало

Выделить код

Код:

var xulns = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";

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

Отсутствует

 

№210723-10-2010 12:10:42

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 4.0

Re: Custom Buttons

Стили и расширение  Sidebar AutoHide в [firefox] 4.0* не работают ,All-in-One Sidebar ведёт себя очень задумчиво-пока не пнёшь каким-нибудь действием закрываться не торопится ....а посему хотелось бы кнопочку  > автоматически скрывать \ показывать sidebar :angel:

Отсутствует

 

№210823-10-2010 12:10:49

Fest0
Участник
 
Группа: Members
Зарегистрирован: 24-04-2010
Сообщений: 23
UA: Firefox 3.5

Re: Custom Buttons

Всем привет! А возможно сделать кнопочку, которая бы не открывала одинаковые ссылки, т.е. если ссылка на сайт уже открыта во вкладках, второй раз клик по этой ссылке бы ничего не загружал, а просто мигало то окошко, которое уже открыто... Спасибо

Отсутствует

 

№210923-10-2010 19:44:18

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

Re: Custom Buttons

Крошка Ру

попробуй AiOS 0.7.12 B4

Отредактировано bunda1 (23-10-2010 21:07:53)

Отсутствует

 

№211023-10-2010 21:05:29

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 4.0

Re: Custom Buttons

bunda1  так именно он и тормозил со скрытием :).... и вообще AiOS глюки периодически выдаёт и для меня функционально избыточен ,раньше вполне хватало связки
Ez Sidebar + Sidebar Autohide.... в четвёрке они не хотят работать :dumb:

Отсутствует

 

№211123-10-2010 21:13:42

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

Re: Custom Buttons

Крошка Ру
или такой код

с Firefox 3.6.10 и без AiOS работает только измени if (evt. pageX >= 100) так как тебе удобней

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

Выделить код

Код:

this. toolbarController. handleMouseMove = !this. checked;

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

Выделить код

Код:

this. toolbarController =
{
    _handleMouseMove: true,
    
    set handleMouseMove (val)
    {
        this. _handleMouseMove = val;
        
        document. getElementById ("sidebar-box"). collapsed = val;
    },
    handleEvent: function (evt)
        {
        if (!this. _handleMouseMove)
        return;            
                           var toolbar = document. getElementById ("sidebar-box");
            if (evt. pageX <= 5)
                toolbar. collapsed = false;
            if (evt. pageX >= 100)
                toolbar. collapsed = true;
        }
};
window. addEventListener ("mousemove", this. toolbarController, true);
this. type = "checkbox";

Отредактировано bunda1 (23-10-2010 21:15:11)

Отсутствует

 

№211223-10-2010 21:14:23

CoolCmd
Участник
 
Группа: Members
Зарегистрирован: 29-09-2008
Сообщений: 688
UA: Firefox 3.6

Re: Custom Buttons

Всем прювет. Нужны были кнопки для открытия меню tools и bookmarks. Расширение toolbar buttons во-первых глючит (задваивает содержимое меню bookmarks), во-вторых показывает статичное меню, а оно на самом деле меняется, например пункт private browsing в tools. Код для custom buttons на этом форуме вроде тоже делает копию меню. Пришлось изобретать велосипед. Вод этот вариант показывает реальное меню, а не его устаревшую копию:

Выделить код

Код:

function ctbShowMainMenuOnToolbar(objEvent, strMenuID)
// strMenuID:
// bookmarksMenu - bookmarks
// tools-menu - tools
{
    var emMenu = document.getElementById(strMenuID);
    var emPopup = emMenu.lastChild;
    emMenu.replaceChild(document.createElementNS(
        'http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'menupopup'), emPopup);
    objEvent.target.appendChild(emPopup);
    emPopup.addEventListener('popuphidden',
        function(objEvent)
        {
            if (objEvent.target == objEvent.currentTarget)
            {
                objEvent.target.removeEventListener('popuphidden', arguments.callee, false);
                emMenu.replaceChild(objEvent.target, emMenu.lastChild);
            }
        },
        false);
    emPopup.openPopup(objEvent.target, "after_start");
}

Два вопроса:
1. Чем конкретно отличается обычная toolbar button от кнопки с типом menu? Я пробовал оба варианта и отличий не увидел.
2. Есть дока на русском по java script, описывающая азы? Только по стандарту, а не ту хрень, которую осел поддерживает. Я например до конца не понимаю, каким образом анонимная функция получает доступ к переменным функции, в которой она определена (в моем случае переменная emMenu).

И еще. В первом сообщении по ссылке грузится старье, да еще какой-то КВИП в придачу. А после установки Custom Buttons 2 не смог загрузить ни одной кнопки. Видимо не судьба. :)


леса живет в лису?

Отсутствует

 

№211323-10-2010 21:15:19

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 4.0

Re: Custom Buttons

или такой код с Firefox 3.6.10 и без AiOS работает .....

bunda1  а вот кнопочка работает :lol:.... и в [firefox] 4.0b8pre  :beer: Спасибо! :angel:

Добавлено 23-10-2010 21:19:48

...только измени if (evt. pageX >= 100) так как тебе удобней

этим как я понял можно регулировать ширину открытия панели ?:)

Отредактировано Крошка Ру (23-10-2010 21:17:56)

Отсутствует

 

№211423-10-2010 21:26:43

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

Re: Custom Buttons

Крошка Ру

нет это расстояние от левого края страницы когда сработает Autohide(закроется sidebar)

Отредактировано bunda1 (24-10-2010 14:36:01)

Отсутствует

 

№211523-10-2010 21:41:44

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 4.0

Re: Custom Buttons

bunda1 а как сделать чтобы пока курсор в поле sidebar  он не схлопывался?:sick:  а то невозможно с ним  работать:whistle: :angel:
.... а, всё - после открытия буду жать на саму кнопку ,хотя это не совсем удобно но вполне приемлемо :) .... вначале хотел её спратать в панели закладок (она у меня скрыта) чтобы зря не светилась ...

Отредактировано Крошка Ру (23-10-2010 21:50:21)

Отсутствует

 

№211623-10-2010 21:53:34

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

Re: Custom Buttons

Крошка Ру пишет

bunda1 а как сделать чтобы пока курсор в поле sidebar  он не схлопывался?:sick:  а то невозможно с ним  работать:whistle: :angel:

измени if (evt. pageX >= 100) на if (evt. pageX >= 300) а лучше на if (evt. pageX >= 400) в коде
100 это расстояние от левого края страницы когда закроется sidebar.

Отредактировано bunda1 (24-10-2010 14:34:36)

Отсутствует

 

№211723-10-2010 22:17:30

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 4.0

Re: Custom Buttons

bunda1 ага - сделал .... просто раньше надо было перезапустить браузер чтобы изменения в силу вступили :lol: :dumb:
...повесил кнопку на Vertical toolbarl - стало совсем удобно :)

Отсутствует

 

№211824-10-2010 15:21:45

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 4.0

Re: Custom Buttons

bunda1 работает почти идеально... а можно сделать полоску невидимой и время отклика увеличить? ... а то очень шустро реагирует :lol:



Господа,как вам такая идея - "Сказка сказок" Кнопка кнопок :)

1vO8Rkr.png

Shortcuts


.... и ещё одно впомнил как вариант >

zOwtry1.png

Iconized Bookmarks Popup

.... вообщем чтобы можно было добавлять кнопки (и желательно другие элементы интерфейса) в выпадающее меню или на возникающую панель:)

Отредактировано Крошка Ру (24-10-2010 15:38:01)

Отсутствует

 

№211924-10-2010 16:06:16

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

Re: Custom Buttons

Fest0 пишет

Всем привет! А возможно сделать кнопочку, которая бы не открывала одинаковые ссылки, т.е. если ссылка на сайт уже открыта во вкладках, второй раз клик по этой ссылке бы ничего не загружал, а просто мигало то окошко, которое уже открыто... Спасибо

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

Код

Выделить код

Код:

if (this. cbController. registered)
    this. cbController. unregister ();
else
    this. cbController. register ();


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

Выделить код

Код:

var Cc = Components. classes;
var Ci = Components. interfaces;

var btn = this;

this. cbController =
{
    registered: false,
    oldAddTabMethod: null,
    isURLOpenedTopic: "3900c2e9-6032-4338-95eb-7ba8fd1f8a33:isURLOpened?",
    focusWindowIfURLIsOpenedTopic: "3900c2e9-6032-4338-95eb-7ba8fd1f8a33:focusWindowIfURLIsOpened",
    notificationSender: false,

    get os ()
    {
    return Cc ["@mozilla.org/observer-service;1"]. getService (Ci. nsIObserverService);
    },

    register: function ()
    {
    this. oldAddTabMethod = gBrowser. addTab;
    gBrowser. addTab = (function (context)
    {
        return function addTab (aURI, aReferrerURI, aCharset, aPostData, aOwner, aAllowThirdPartyFixup)
        {
        return context. addTab. apply (context, arguments);
        };
    }) (this);
    this. os. addObserver (this, this. isURLOpenedTopic, false);
    this. os. addObserver (this, this. focusWindowIfURLIsOpenedTopic, false);
    this. registered = true;
    btn. checked = true;
    },

    unregister: function ()
    {
    gBrowser. addTab = this. oldAddTabMethod;
    this. oldAddTabMethod = null;
    this. os. removeObserver (this, this. focusWindowIfURLIsOpenedTopic);
    this. os. removeObserver (this, this. isURLOpenedTopic);
    this. registered = false;
    btn. checked = false;
    },

    getTabIndex: function (url)
    {
    var res = -1;
    var num = gBrowser. browsers. length;
    var br;
    for (var i = 0; i < num; i++)
    {
        br = gBrowser. getBrowserAtIndex (i);
        if (br. currentURI. spec == url)
        {
        res = i;
        break;
        }
    }
    return res;
    },

    observe: function (subject, topic, data)
    {
    if (this. notificationSender)
        return;
    if (!(subject instanceof Ci. nsISupportsPRBool))
        return;
    if (this. getTabIndex (data) != -1)
    {
        subject. data = true;
        window. getAttention ();
        if (topic == this. focusWindowIfURLIsOpenedTopic)
        window. focus ();
    }
    },

    addTab: function addTab (aURI, aReferrerURI, aCharset, aPostData, aOwner, aAllowThirdPartyFixup)
    {
    if (aURI == "about:blank")
        return this. oldAddTabMethod. apply (gBrowser, arguments);
    var topic = this. isURLOpenedTopic;
    var index = this. getTabIndex (aURI);
    if (index == -1)
        topic = this. focusWindowIfURLIsOpenedTopic;
    var isURLOpened = Cc ["@mozilla.org/supports-PRBool;1"]. createInstance (Ci. nsISupportsPRBool);
    isURLOpened. data = false;
    this. notificationSender = true;
    this. os. notifyObservers (isURLOpened, topic, aURI);
    this. notificationSender = false;
    if (index != -1)
        return gBrowser. selectedTab = gBrowser. tabContainer. childNodes [index];
    else if (!isURLOpened. data)
        return this. oldAddTabMethod. apply (gBrowser, arguments);
    else
        return gBrowser. selectedTab;
    }
};

this. onDestroy = function ()
{
    this. cbController. unregister ();
};

setTimeout
(
    function ()
    {
    btn. cbController. register ();
    },
    1000
);

Добавлено 24-10-2010 16:12:10
CoolCmd

Чем конкретно отличается обычная toolbar button от кнопки с типом menu? Я пробовал оба варианта и отличий не увидел.

Кнопка с типом menu может иметь меню, раскрывающееся при нажатии на кнопку. Например:

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

Выделить код

Код:

var menu = <menupopup xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
              xmlns:cb="http://xsms.nm.ru/custombuttons/"
              onclick="this. parentNode. handleClick (event);">
        <menuitem label="Engadget"
              class="menuitem-iconic"
              image="http://www.blogsmithmedia.com/www.engadget.com/media/favicon.ico"
              cb:url="http://www.engadget.com/"/>
        <menuitem label="ScienceDaily"
              class="menuitem-iconic"
              image="http://www.sciencedaily.com/favicon.ico"
              cb:url="http://www.sciencedaily.com/"/>
        <menuitem label="New Scientist"
              class="menuitem-iconic"
              image="http://www.newscientist.com/favicon.ico"
              cb:url="http://www.newscientist.com/"/>
        <menuitem label="Popular Mechanics"
              class="menuitem-iconic"
              image="http://www.popularmechanics.com/favicon.ico"
              cb:url="http://www.popularmechanics.com/"/>
        <menuitem label="Popular Science"
              class="menuitem-iconic"
              image="http://www.popsci.com/favicon.ico"
              cb:url="http://www.popsci.com/"/>
        <menuitem label="Physics.org"
              class="menuitem-iconic"
              image="http://www.physorg.com/favicon.ico"
              cb:url="http://www.physorg.com/"/>
      </menupopup>;
this. appendChild (custombuttonsUtils. makeXML (menu));
this. type = "menu";
this. orient = "horizontal";
 
this. handleClick = function (event)
{
    var menuitem = event. target;
    var url = menuitem. getAttributeNS ("http://xsms.nm.ru/custombuttons/", "url");
    if (event. button == 0)
    {
        let newTab = gBrowser.addTab(url)
               gBrowser.selectedTab = newTab;// loads into a new tab;
        }
    else if (event. button == 1)
        gBrowser. addTab (url);
    this. open = false;
};

Есть дока на русском по java script, описывающая азы?

Можно посмотреть на http://javascript.ru

И еще. В первом сообщении по ссылке грузится старье, да еще какой-то КВИП в придачу. А после установки Custom Buttons 2 не смог загрузить ни одной кнопки. Видимо не судьба.

https://addons.mozilla.org/en-US/firefox/addon/2707/
http://custombuttons.mozdev.org/


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

Отсутствует

 

№212024-10-2010 16:42:16

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

Re: Custom Buttons

Крошка Ру пишет

вообщем чтобы можно было добавлять кнопки (и желательно другие элементы интерфейса) в выпадающее меню или на возникающую панель

Вот так, что ли:

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%7Eabc%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bhttp%3A//i116.photobucket.com/albums/o26/squiresmurf/Firefox/ATOM1.png%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20menu%20%3D%20%3Cpanel%20xmlns%3D%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%0A%09%09%20%20%20%20%20%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%0A%09%09%20%20%20%20%20%20onclick%3D%22this.%20parentNode.%20handleClick%20%28event%29%3B%22%3E%0A%09%09%3Chbox%3E%0A%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.blogsmithmedia.com/www.engadget.com/media/favicon.ico%22%0A%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.engadget.com/%22/%3E%0A%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.sciencedaily.com/favicon.ico%22%0A%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.sciencedaily.com/%22/%3E%0A%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.newscientist.com/favicon.ico%22%0A%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.newscientist.com/%22/%3E%0A%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.popularmechanics.com/favicon.ico%22%0A%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.popularmechanics.com/%22/%3E%0A%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.popsci.com/favicon.ico%22%0A%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.popsci.com/%22/%3E%0A%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.physorg.com/favicon.ico%22%0A%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.physorg.com/%22/%3E%0A%09%09%3C/hbox%3E%0A%3C/panel%3E%3B%0Athis.%20appendChild%20%28custombuttonsUtils.%20makeXML%20%28menu%29%29%3B%0Athis.%20type%20%3D%20%22menu%22%3B%0Athis.%20orient%20%3D%20%22horizontal%22%3B%0A%20%0Athis.%20handleClick%20%3D%20function%20%28event%29%0A%7B%0A%09var%20menuitem%20%3D%20event.%20target%3B%0A%09var%20url%20%3D%20menuitem.%20getAttributeNS%20%28%22http%3A//xsms.nm.ru/custombuttons/%22%2C%20%22url%22%29%3B%0A%09if%20%28event.%20button%20%3D%3D%200%29%0A%09%09loadURI%20%28url%29%3B%0A%09else%20if%20%28event.%20button%20%3D%3D%201%29%0A%09%09gBrowser.%20addTab%20%28url%29%3B%0A%09this.%20open%20%3D%20false%3B%0A%7D%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B//alert%20%28custombuttonsUtils.%20makeXML%29%3B%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%7Eabc%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bhttp%3A//i116.photobucket.com/albums/o26/squiresmurf/Firefox/ATOM1.png%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20menu%20%3D%20%3Cpanel%20xmlns%3D%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%0A%09%09%20%20%20%20%20%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%0A%09%09%20%20%20%20%20%20onclick%3D%22this.%20parentNode.%20handleClick%20%28event%29%3B%22%3E%0A%09%3Cgrid%3E%0A%09%09%3Ccolumns%3E%0A%09%09%09%3Ccolumn/%3E%0A%09%09%09%3Ccolumn/%3E%0A%09%09%3C/columns%3E%0A%09%09%3Crows%3E%0A%09%09%09%3Crow%3E%0A%09%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.blogsmithmedia.com/www.engadget.com/media/favicon.ico%22%0A%09%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.engadget.com/%22/%3E%0A%09%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.sciencedaily.com/favicon.ico%22%0A%09%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.sciencedaily.com/%22/%3E%0A%09%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.newscientist.com/favicon.ico%22%0A%09%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.newscientist.com/%22/%3E%0A%09%09%09%3C/row%3E%0A%09%09%09%3Crow%3E%0A%09%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.popularmechanics.com/favicon.ico%22%0A%09%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.popularmechanics.com/%22/%3E%0A%09%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.popsci.com/favicon.ico%22%0A%09%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.popsci.com/%22/%3E%0A%09%09%09%09%3Ctoolbarbutton%20image%3D%22http%3A//www.physorg.com/favicon.ico%22%0A%09%09%09%09%09%20%20%20%20%20%20%20cb%3Aurl%3D%22http%3A//www.physorg.com/%22/%3E%0A%09%09%09%3C/row%3E%0A%09%09%3C/rows%3E%0A%09%3C/grid%3E%0A%3C/panel%3E%3B%0Athis.%20appendChild%20%28custombuttonsUtils.%20makeXML%20%28menu%29%29%3B%0Athis.%20type%20%3D%20%22menu%22%3B%0Athis.%20orient%20%3D%20%22horizontal%22%3B%0A%20%0Athis.%20handleClick%20%3D%20function%20%28event%29%0A%7B%0A%09var%20menuitem%20%3D%20event.%20target%3B%0A%09var%20url%20%3D%20menuitem.%20getAttributeNS%20%28%22http%3A//xsms.nm.ru/custombuttons/%22%2C%20%22url%22%29%3B%0A%09if%20%28event.%20button%20%3D%3D%200%29%0A%09%09loadURI%20%28url%29%3B%0A%09else%20if%20%28event.%20button%20%3D%3D%201%29%0A%09%09gBrowser.%20addTab%20%28url%29%3B%0A%09this.%20open%20%3D%20false%3B%0A%7D%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B//alert%20%28custombuttonsUtils.%20makeXML%29%3B%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

?


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

Отсутствует

 

№212124-10-2010 17:23:55

Крошка Ру
Участник
 
Группа: Extensions
Зарегистрирован: 19-10-2008
Сообщений: 8718
UA: Firefox 4.0

Re: Custom Buttons

Anton ага , именно так :D .... но ещё вариант чтобы можно было  custombuttons - кнопки туда впихивать :angel: .... наводишь курсор - появляется панелька с кнопками , адресная или поисковая строка .....

Отсутствует

 

№212224-10-2010 21:49:04

CoolCmd
Участник
 
Группа: Members
Зарегистрирован: 29-09-2008
Сообщений: 688
UA: Firefox 3.6

Re: Custom Buttons

Anton пишет

Кнопка с типом menu может иметь меню, раскрывающееся при нажатии на кнопку. Например:

Спасибо!

Anton пишет

Можно посмотреть на http://javascript.ru

Да, уже нашел там книгу Флэнагана, грят это лучшее что есть.

Anton пишет

https://addons.mozilla.org/en-US/firefox/addon/2707/
http://custombuttons.mozdev.org/

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


леса живет в лису?

Отсутствует

 

№212324-10-2010 22:14:37

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

Re: Custom Buttons

Крошка Ру]bunda1 работает почти идеально... а можно сделать полоску невидимой ...

в  Stylish
#sidebar-splitter
{-moz-appearance: none !important;
display:none!important;}

или в /*Initialization Code*/ кнопки

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

Выделить код

Код:

//Hide sidebar-splitter
var cssStr = <![CDATA[

#sidebar-splitter
{-moz-appearance: none !important;
display:none!important;}

]]>
    .toString()
    .replace(/%button%/g, "#" + this.id);
var cssURI = this._cssURI = makeURI( // chrome://global/content/contentAreaUtils.js
    "data:text/css,"
    + encodeURIComponent(cssStr)
);
this.setSheet = function(cssURI, addFlag) {
    var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"]
        .getService(Components.interfaces.nsIStyleSheetService);
    if(sss.sheetRegistered(cssURI, sss.AGENT_SHEET) && !addFlag)
        sss.unregisterSheet(cssURI, sss.AGENT_SHEET);
    if(addFlag)
        sss.loadAndRegisterSheet(cssURI, sss.AGENT_SHEET);
}
this.setSheet(cssURI, true);
this.onDestroy = function() {
this.setSheet(this._cssURI, true);
};

Отредактировано bunda1 (24-10-2010 22:16:38)

Отсутствует

 

№212425-10-2010 11:48:36

imyax
пользователь FF c 2010года
 
Группа: Members
Откуда: Сейчас здесь
Зарегистрирован: 13-04-2010
Сообщений: 209
UA: Firefox 3.6

Re: Custom Buttons

Крошка Ру Может подойдет  popup-toolbar
1.Создать панель "__customToolbar_"
2.Разместить на созданной панели кнопки
3.Скрыть панель, установить popup-toolbar
При нажатии на кнопку popup-toolbar или при наведении курсора на неё (зависит от настройки) будет появляться всплывающая панель с кнопками
размещёнными на скрытой панели.  Когда я ею пользовался - у меня работало  нормально -
на FF3.6.4pre - 3.6.6pre
Ко всем  - кто знает: что нужно добавить в код, который привёл bunda1 в сообщении №2429 чтобы при нажатии кнопка отключалась до следующего нажатия , а следущее нажатие включало действие указанной кнопки

Отредактировано imyax (25-10-2010 11:55:18)

Отсутствует

 

№212525-10-2010 19:56:35

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

Re: Custom Buttons

imyax пишет

что нужно добавить в код, который привёл bunda1 в сообщении №2429 чтобы при нажатии кнопка отключалась до следующего нажатия , а следущее нажатие включало действие указанной кнопки

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

Выделить код

Код:

this. checked = !this. checked;
if (this. checked)
    {this. image = "data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgMBAAQIAAcEBwAIBAcACAQHAAgEBwAIBAcACAQHAAgEBwAIBAcACAMEAQEAAAAAAAAAAAAAAAACAwADAAAAABUnAB9cqgC3a7wB4Gq5Ad1qugHearoB3mq6Ad5qugHearoB3mi4AN1qugHgYrMAxR43AC8AAAAAAAEAAAECAAQAAAQAV6AAprP9Vv/W/qn80/+f/9T/ov/U/6L/1P+i/9T/ov/U/6L/1/+n/9X+pfy3/WL/Y7QAvwEAAQAAAAAAFSgAH1ehAKlyzwD1htgf/YzcJ/2K2yP9i9sk/YvbJf2L2yX9i9sm/YnaIv2b4kP92/21/Nf+qv9quwHdBQkACAAAAQBeqwCzr/tR/8X0j/u+8X//vvJ//77ygP++8oD/vvKA/77yf/+98n7/wvSH/4zcKv+e4kv93v+0/2i5AN0DBwAIBQkACGu8AdzV/af/4v/B/d//u//h/7//4f+//+H/v//h/7//4f+//9/+u//n/8n/w/GK/4zaK/3g/7r/aroC3gMHAAgEBwAIarkC3dX/pf/g/sD93v67/9/+vv/g/r//4P6//+D+v//f/r7/3f66/+T/xv/B8Yb/j9st/eT/w/9qugPeAwcACAQHAAhqugLe2v+w/+j/z/3l/8r/5//N/+f/zv/n/87/5//O/+f/zf/l/sj/7P/W/8Xyj/+Q2y/96f/N/2q6A94DBwAIBAcACGq6At7f/7n/7v/c/ev/1v/t/9n/7f/a/+3/2v/t/9r/7f/Z/+r+1f/y/+P/yPKW/5DbMf3s/9X/aroE3gMHAAgEBwAIaroC3uP/wf/z/+j98P/h//L/5P/z/+X/8//l//P/5f/y/+T/8P7g//j/7v/L8p3/kdsy/fD/3P9rugTeAwcACAQHAAhqugLe5v/J//j/8v31/+r/9v/t//f/7v/3/+//9//u//b/7f/0/un//f/4/87yo/+R2zL98f/f/2q5Bd0DBwAIBAcACGq6At7p/8///P/6/fj/8f/6//T/+v/1//r/9f/6//X/+v/0//f+8P//////0fGo/5PbNf30/+f/a7wE3AQJAAgEBwAIabkC3er/0f/+//79+v/0//v/9//8//j//P/4//z/+P/7//f/+f70///////T8qz/i9go+8P9ef9dqwCzAAACAAUJAAhquwHd7f7a//////z+//39/////f////3////9/////f////39/vz9/////dzzvv5v0AD1VqECqRUnAB8AAAAAAQACAGK0AL/J/Yf/8v7k/O3/1//u/9n/7v/Z/+7/2f/u/9n/7v/Z/+3/1//x/eP8vfxu/1WgAKYAAAUAAQIABAABAAAAAAAAHjcALmGzAMVquwLgarkC3Wq6At5qugLearoC3mq6At5qugLearkC3Wu8AeBbqgC3FScAHwAAAAACAwADAAAAAAAAAAAAAAAAAwQCAQQIAAgEBwAIBAcACAQHAAgEBwAIBAcACAQHAAgEBwAIBAgABwMDAgAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
    var cssStr = <![CDATA[

#sidebar-splitter
{-moz-appearance: none !important;
display:none!important;}

]]>
    .toString()
    .replace(/%button%/g, "#" + this.id);
var cssURI = this._cssURI = makeURI( // chrome://global/content/contentAreaUtils.js
    "data:text/css,"
    + encodeURIComponent(cssStr)
);
this.setSheet = function(cssURI, addFlag) {
    var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"]
        .getService(Components.interfaces.nsIStyleSheetService);
    if(sss.sheetRegistered(cssURI, sss.AGENT_SHEET) && !addFlag)
        sss.unregisterSheet(cssURI, sss.AGENT_SHEET);
    if(addFlag)
        sss.loadAndRegisterSheet(cssURI, sss.AGENT_SHEET);
}
this.setSheet(cssURI, true);
this.onDestroy = function() {
    this.setSheet(this._cssURI, true);};}
else
    {this. image = "data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAgEDAAQACAcEAAcIBAAHCAQABwgEAAcIBAAHCAQABwgEAAcIBAAHCAMBBAEAAAAAAAAAAAAAAAACAAMDAAAAABUAJx9cAKq3awG84GoBud1qAbreagG63moBut5qAbreagG63mgAuN1qAbrgYgCzxR4ANy8AAAAAAAABAAEAAgQABAAAVwCgprNW/f/Wqf7805///9Si///Uov//1KL//9Si///Uov//16f//9Wl/vy3Yv3/YwC0vwEBAAAAAAAAFQAoH1cAoalyAM/1hh/Y/Ywn3P2KI9v9iyTb/Ysl2/2LJdv9iybb/Yki2v2bQ+L927X9/Neq/v9qAbvdBQAJCAABAABeAKuzr1H7/8WP9Pu+f/H/vn/y/76A8v++gPL/voDy/75/8v+9fvL/wof0/4wq3P+eS+L93rT//2gAud0DAAcIBQAJCGsBvNzVp/3/4sH//d+7///hv///4b///+G////hv///4b///9+7/v/nyf//w4rx/4wr2v3guv//agK63gMABwgEAAcIagK53dWl///gwP793rv+/9++/v/gv/7/4L/+/+C//v/fvv7/3br+/+TG///BhvH/jy3b/eTD//9qA7reAwAHCAQABwhqArre2rD//+jP//3lyv//583//+fO///nzv//587//+fN///lyP7/7Nb//8WP8v+QL9v96c3//2oDut4DAAcIBAAHCGoCut7fuf//7tz//evW///t2f//7dr//+3a///t2v//7dn//+rV/v/y4///yJby/5Ax2/3s1f//agS63gMABwgEAAcIagK63uPB///z6P/98OH///Lk///z5f//8+X///Pl///y5P//8OD+//ju///LnfL/kTLb/fDc//9rBLreAwAHCAQABwhqArre5sn///jy//316v//9u3///fu///37///9+7///bt///06f7//fj//86j8v+RMtv98d///2oFud0DAAcIBAAHCGoCut7pz////Pr//fjx///69P//+vX///r1///69f//+vT///fw/v//////0ajx/5M12/305///awS83AQACQgEAAcIaQK53erR///+/v/9+vT///v3///8+P///Pj///z4///79///+fT+///////TrPL/iyjY+8N5/f9dAKuzAAIAAAUACQhqAbvd7dr+//////z+/f/9/////f////3////9/////f////39/P79/////dy+8/5vAND1VgKhqRUAJx8AAAAAAQIAAGIAtL/Jh/3/8uT+/O3X///u2f//7tn//+7Z///u2f//7tn//+3X///x4/38vW78/1UAoKYABQAAAQACBAAAAQAAAAAAHgA3LmEAs8VqArvgagK53WoCut5qArreagK63moCut5qArreagK53WsBvOBbAKq3FQAnHwAAAAACAAMDAAAAAAAAAAAAAAAAAwIEAQQACAgEAAcIBAAHCAQABwgEAAcIBAAHCAQABwgEAAcIBAAIBwMCAwAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=";
    this.setSheet(this._cssURI, false);}

Отсутствует

 

Board footer

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