BraVo123
В принципе одна. Но если очень хочется, то всё можно сделать через JavaScript.
Например, вставить код типа
if (!this.checked){ this.checked=true; this.image="file:///F:/knopki/variant1.png"; }else{ this.checked=false; this.image="file:///F:/knopki/variant2.png"; }
this в коде указывает на саму кнопку.
Пока у этого способа много недостатков (например, теряется состояние кнопки при перезагрузке браузера), но в alpha3 я планировал что-то с этим сделать.
Отсутствует
Yan, не стоит использовать абсолютных путей...
!
Отсутствует
Где? В коде для смены картинки? Если да, то почему?
Ну например, я использую PortableFireFox .... (в том числе)
З.Ы. Конечно можно и base64 конвертнуть ...
Отредактировано BraVo123 (28-04-2006 17:13:39)
Отсутствует
BraVo123
Ну например, я использую PortableFireFox .... smile (в том числе)
З.Ы. Конечно можно и base64 конвертнуть ...
Ну это уже от желания пользователя зависит.. Если надо - придется конвертить.
Можно, конечно, попробовать запихнуть картинку на chrome://, т.е. в папку расширения.. Но тогда при установке новой версии всё потрется.. Так что выхода я пока не вижу..
Отсутствует
Лучше в профиле создавать папку и кидать туда картинки.
А если указывать через file:///f... то возникает траблы.
Напр. в unix-подобных системах нет никакого диска f: (и c: тоже нет)
Закрой кран
Включи свет ©
Fire! Kill IE is your desire | NULL | NULL
Отсутствует
Напр. в unix-подобных системах нет никакого диска f: (и c: тоже нет)
Ну так для юникс-подобных систем свой путь и вводить. Типа file:///home/yan/......
Кстати, можно вообще хоть из нета картинки использовать. Типа http://forum.mozilla.ru/favicon.ico.
Повторюсь, это уже как пользователю удобнее будет. От меня тут мало что зависит. Что человек напишет в полях Image и Code, такая кнопка у него и получится.
Отсутствует
Anton прислал мне код для конвертации картинок в base64, так что проблемы с абсолютными путями отпадают.
Кроме этого, в alpha3 я добавил поле Initialization. В него вписывается код, который будет выполнен один раз при загрузке браузера. Например, это может быть код, устанавливающий начальное состояние кнопки, меняющий её тип, её свойства.
Это позволит создавать кнопки с довольно сложным функционалом. Для примера я сделал часики и Cookie button (по аналогии с одноименным расширением).
На этом добавление новых функций, пожалуй, заканчиваю. В дальнейшем планирую сделать нормальную локализацию, и улучшить пользовательский интерфейс. Ну и баги исправлять буду по мере нахождения, естественно.
Отсутствует
Интересная иконка:
На кнопке тоже так будет?
Отредактировано INFOMAN (14-05-2006 02:43:30)
Закрой кран
Включи свет ©
Fire! Kill IE is your desire | NULL | NULL
Отсутствует
Интересная иконка: http://xsms.nm.ru/custombuttons/icons/clocks88.xbm
На кнопке тоже так будет?
ага. так и работает
"всё-равно его не брошу, потому что Лис хороший!" (c) Ewgen
Отсутствует
...часики...
Устанавливаются почему-то только при отключенном JavaScript - мол, кнопка недоступна, установите необходимое расширение. Но работают без этого расширения.
Отредактировано Anton (14-05-2006 13:11:22)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
INFOMAN
Интересная иконка: http://xsms.nm.ru/custombuttons/icons/clocks88.xbm
На кнопке тоже так будет?
Не знал, какое время для примера взять. Вообще, часы синхронизируются с системным временем каждую минуту.
Крыска
раз 20 щёлкал. у меня не работает.
а вот как только переустановил кнопку, то заработала
Странно. Надо будет мне получше потестировать установку кнопок..
А можно сделать кнопку scrapbook'a "захватить"?
Да:
Code:
var menuItem=document.getElementById('ScrapBookContextMenu4');
menuItem.click();Image:
chrome://scrapbook/skin/capture_entire_as.png
Anton
Устанавливаются почему-то только при отключенном JavaScript - мол, кнопка недоступна, установите необходимое расширение.
Это я перемудрил со скриптом. Сейчас подправил.
Отредактировано Yan (14-05-2006 17:14:10)
Отсутствует
Крыска
а как код операции находить?
В общем случае как и в keyconfig.
Но в случае со Scrapbook не все эти способы подходят, т.к. в самом коде Scrapbook используется обработка нажатого пункта меню. Т.е. один и тот же код, но для разных пунктов меню.
Поэтому в этом случае нужно имитировать клик по пункту меню.
ID пункта меню можно узнать через DOM Inspector, или выполнив в кнопке код:
var ar=document.getElementsByAttribute('label','Захватить как...'); alert(ar[0].id);
Ну и потом вписать этот ID в код:
var menuItem=document.getElementById('ScrapBookContextMenu4');
menuItem.click();
Отсутствует
Yan
Респект за полезное расширение!
Вопросы|предложения:
1. Что конкретно делает операция "конвертации картинок в base64"?
К примеру, если я назначаю кнопке какой-то значок, расположенный на диске, а затем удаляю значок с диска, то кнопка остается с назначенным значком. Это как понимать? Куда прописывается иконка кнопки?
2. Может стоит конфирмить удаление кнопки, я уже парочку с трудом сделанных кнопок потер.
3. Планируется ли ввести возможность настройки всплывающих подсказок кнопок, обработки событий, соотвествующих разным нажатиям на кнопку (middle click, rught click)?
4. И еще, предлагаю открыть ветку, посвященную Custom Buttons в разделе Extensions на forums.mozillazine.org. Расширение в рабочем состоянии, местные умельцы быстро кнопок наклепают.
Отредактировано Dimanish (15-05-2006 12:07:56)
Тут должна была быть подпись. А, да... Вот она и есть.
Отсутствует
И еще, предлагаю открыть ветку, посвященную Custom Buttons в разделе Extensions на forums.mozillazine.org. Расширение в рабочем состоянии, местные умельцы быстро кнопок наклепают.
прально... пора выходить на мировой уровень
"всё-равно его не брошу, потому что Лис хороший!" (c) Ewgen
Отсутствует
Куда прописывается иконка кнопки?
Предполагаю, что прямо в кнопку в виде data:image/png;base64.....
Закрой кран
Включи свет ©
Fire! Kill IE is your desire | NULL | NULL
Отсутствует
...умельцы быстро кнопок наклепают.
А чтобы "умельцам" было проще, пусть само расширение компонует ссылки для установки кнопок.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует