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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№10122-05-2006 10:53:33

Dimanish
Участник
 
Группа: Extensions
Зарегистрирован: 31-03-2005
Сообщений: 2371

Re: Custom Buttons

Хм, не уловил момент, но иногда кнопка Scrapbook (оба варианта) отказывается работать, лечится открытием окна редактирования с последующим нажатием "OK".


Тут должна была быть подпись. А, да... Вот она и есть.

Отсутствует

 

№10223-05-2006 02:00:15

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Custom Buttons

Dimanish
Если еще такое будет, то надо бы:
1) Заглянуть в JS-консоль.
2) Запустить DOM-инспектор, найти в нём кнопку, переключиться из режима "DOM node" в режим "Javascript Object", и посмотреть, чему равно свойство onclick.

Тогда может быть станет что-то ясно..

Отсутствует

 

№10323-05-2006 12:30:36

Dimanish
Участник
 
Группа: Extensions
Зарегистрирован: 31-03-2005
Сообщений: 2371

Re: Custom Buttons

Yan
Попробую посмотреть.
Еще вопросы|предложения:
1. Как сделать кнопку для запуска стороннего приложения?
2. Можно ли сделать кнопку с выпадающим меню, как в Опере?
3. Может кнопки, сделанные Custom Buttons, сбрасывать в отдельное окно, а не в общее со всеми кнопками?


Тут должна была быть подпись. А, да... Вот она и есть.

Отсутствует

 

№10423-05-2006 21:21:45

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Custom Buttons

Dimanish

1. Как сделать кнопку для запуска стороннего приложения?
2. Можно ли сделать кнопку с выпадающим меню, как в Опере?

Вчера как раз сделал себе кнопку "External Applications" с выпадающим меню для запуска сторонних приложений:

Выделить код

Код:

custombutton://External%20Applications%5D%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACkElEQVR4XqXNa2jVZQAG8N//nJ3jmbs4l6XZhSGI0sWhQ9CCpKhcWljOYCLZDZEgsA+RFEQWCcEsF8vsy9yHLiKCGxgsVnZZzLm2BV2kYdgWJ7cyN6Zn7nLO8bwh9KmBX/rB8/F5niiE4H/r2qX+xLPaTu4TPt1mvG2LyfYnjaAYcdcQXS1PxBzOZnh4L0bI/M7oKL+ccD6W1Vt7VB1yKMwauPpcvd6m6+7BcWQxByVkphjKcbbd4cfa7MDUf0dilzM2Dg0gzfRl6e//sG84q7Ww0ExZDVVLyOdsbqn1IlKIAEDfHiH0C6FTSO/ViuW4teEFa3/rrSyEv4WZHuHI1lRI7vwod8u2lqeQQASxzBky3chy8002vVHnelw8OPXJK5svNEcqSMb5NXOnxTXriiZnHCqrb0nfsKV5OxKxfNLuzi9cchGlole3+ybT6UC5P28zXkEBw6xeNGDZYJ/b77s/mn/XqoX5bHYDSiMkv3zG5XvvVqQYU5iLxYhjEEmG0rxz7vn+gQdfW1UqGX1+sp++gY4YcoWk/EiCn0bJ1mAMP+MvXKL7K3q+lW7a/97TUTT8VmpJifLVa2QrylfGEKbH7Ow56nTXcQ2nWl2BoTGGKrGCsYvzfLbmyHlMd9RWN5bk4yZGZ4TxTCoCJFCO4o5dTi99VHnPuy4cG1u3oG7FDxpT+5294wk3zg0SybiRqci5HLraRYAIRYg3r7c15NUeiuq/O7Xs8YbUvMpocnkVySpGUYoJ/NguMXAmbTYJzMeiBRvffq7ykaYPyjYc6PX+YPDmSHCwO/g6hKjuwwKqzSZCEZIoRmXZA417vHwsxHd8PD1n7esNsYeapotW7n4JSyPXFiGOJEr/DVxBwOQ/YMb/YyJTjUkAAAAASUVORK5CYII%3D%5D%5B%5D%5Bvar%20apps%3Dnew%20Array%3B%0A//------menu%20items--------%0Aapps.push%28%5B%27Proxomitron%27%2C%27D%3A/Program%20files/ProxN45_nohlp/Proxomitron.exe%27%5D%29%3B%0Aapps.push%28%5B%27Notepad%27%2C%27c%3A/windows/notepad.exe%27%5D%29%3B%0Aapps.push%28%27separator%27%29%3B%0Aapps.push%28%5B%27Opera%27%2C%27D%3A/Program%20files/Opera9/Opera.exe%27%5D%29%3B%0Aapps.push%28%5B%27IE%27%2C%27c%3A/Program%20files/Internet%20Explorer/IEXPLORE.EXE%27%5D%29%3B%0A//------/menu%20items-------%0A%0Avar%20nMItem%3Dfunction%28label%2Cpath%2Cargs%2Cobj%29%7B%0A%20%20var%20m%3Ddocument.createElement%28%27menuitem%27%29%3B%0A%20%20m.setAttribute%28%27label%27%2Clabel%29%3B%0A%20%20m.f%3Dobj.startProcess.bind%28obj%29%3B%0A%20%20m.setAttribute%28%27oncommand%27%2C%27this.f%28%22%27+path+%27%22%2C%22%27+args+%27%22%29%27%29%3B%0A%20%20return%20m%3B%0A%7D%0Athis.startProcess%3Dfunction%28path%2Cargs%29%7B%0Avar%20file%20%3D%20Components.classes%5B%27@mozilla.org/file/local%3B1%27%5D%0A%20%20%20%20.createInstance%28Components.interfaces.nsILocalFile%29%3B%0Avar%20process%20%3D%20Components.classes%5B%27@mozilla.org/process/util%3B1%27%5D%0A%20%20%20%20.getService%28Components.interfaces.nsIProcess%29%3B%0A%20file.initWithPath%28path.replace%28/%5C//g%2C%27%5C%5C%5C%5C%27%29%29%3B%20%0A//%20file.launch%28%29%3B%0A%20process.init%28file%29%3B%0A%20process.run%28false%2C%5Bargs%5D%2C1%29%3B%20%0A%7D%0A%0Athis.orient%3D%22vertical%22%3B%0Avar%20mP%3Ddocument.createElement%28%27menupopup%27%29%3B%0Afor%20%28var%20i%3D0%3Bi%3Capps.length%3Bi++%29%7B%0A%20if%20%28apps%5Bi%5D%20%3D%3D%27separator%27%29%7B%0A%20%20mP.appendChild%28document.createElement%28%27menuseparator%27%29%29%3B%0A%20%7Delse%7B%0A%20%20if%20%28%21apps%5Bi%5D%20%5B2%5D%29%20apps%5Bi%5D%20%5B2%5D%3D%27%27%3B%0A%20%20mP.appendChild%28nMItem%28apps%5Bi%5D%20%5B0%5D%2Capps%5Bi%5D%20%5B1%5D%2Capps%5Bi%5D%20%5B2%5D%2Cthis%29%29%3B%0A%20%7D%0A%7D%0Athis.appendChild%28mP%29%3B%0A%0A

(Для установки кнопки нужно выделить код и вставить его в адресную строку)

3. Может кнопки, сделанные Custom Buttons, сбрасывать в отдельное окно, а не в общее со всеми кнопками?

Вряд ли возможно что-то приемлемое. Кнопки на самом деле добавляются не в окно, а в "спец. хранилище", откуда окно их потом "подцепляет". Если писать своё окно с кнопками, то очень многие стандартные функции (типа drag'n'drop, сохранение положения на тулбарах) придется заново переписать. Лишний код, лишнее время, лишние баги.. К тому же совместимость с другими расширениями ухудшится (с тем же AIOS, например).

Отсутствует

 

№10523-05-2006 22:40:53

Dimanish
Участник
 
Группа: Extensions
Зарегистрирован: 31-03-2005
Сообщений: 2371

Re: Custom Buttons

Yan
Теперь понял как создавать менюшки. Спасибо.
Мне бы просто кнопку для запуска приложения, например, Proxomitron.
При этом приложение должно быть запущено с определенным параметром -  Dimanish.cfg, т.е. с моим набором настроек прокса:
командная строка - "C:\Program Files\Proxomitron\Proxomitron.exe" Dimanish.cfg

И еще, кнопка Scrapbook (и видимо остальные также) перестает работать после того, как открываешь окно "Настройка панелей инструментов", в котором находятся все кнопки. Стоит открыть окно редактирования кнопки и нажать "OK" или перезапустить браузер - все становится нормально.
Видимо, не совсем верно функционирует /*Initialization Code*/.


Тут должна была быть подпись. А, да... Вот она и есть.

Отсутствует

 

№10623-05-2006 23:09:41

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Custom Buttons

Dimanish

Мне бы просто кнопку для запуска приложения, например, Proxomitron.
При этом приложение должно быть запущено с определенным параметром -  Dimanish.cfg, т.е. с моим набором настроек прокса:
командная строка - "C:\Program Files\Proxomitron\Proxomitron.exe" Dimanish.cfg

Выделить код

Код:

var path='C:\\Program Files\\Proxomitron\\Proxomitron.exe';
var arguments=['Dimanish.cfg'];

var file = Components.classes['@mozilla.org/file/local;1']
    .createInstance(Components.interfaces.nsILocalFile);
var process = Components.classes['@mozilla.org/process/util;1']
    .getService(Components.interfaces.nsIProcess);
 file.initWithPath(path); 
 process.init(file);
 process.run(false,arguments,arguments.length);

Также можно в предыдущей кнопке указать аргументы запуска третьим параметром:

Выделить код

Код:

...
apps.push(['Opera','D:/Program files/Opera9/Opera.exe','http://forum.mozilla.ru/viewtopic.php?pid=109351#p109351']);
...

И еще, кнопка Scrapbook (и видимо остальные также) перестает работать после того, как открываешь окно "Настройка панелей инструментов", в котором находятся все кнопки. Стоит открыть окно редактирования кнопки и нажать "OK" или перезапустить браузер - все становится нормально.
Видимо, не совсем верно функционирует /*Initialization Code*/.

Мда... Именно так. :(
Странный глюк. Через DOM-инспектор посмотрел - все свойства на месте, всё должно работать. А на деле не работает. Не знаю даже, где у этого бага корни искать. :(

Отсутствует

 

№10724-05-2006 14:26:26

Lain_13
Забанен
 
Группа: Members
Откуда: Волшебная Страна
Зарегистрирован: 26-04-2006
Сообщений: 10320

Re: Custom Buttons

Хм... отличная идея с плагином для кнопок но есть парочка мелких замечаний и вопросов:
1. Почему только русский язык? Я использую ФФ 1.5.0.3 русский и лолифокс 0.2.2 английский (нет пока русского да и не хочу). В первом все смотрится нормально, но вот во втором... ну неуместно как-то смотрится русский текст Ж). Просто локаль добавь, а?
2. А можно окно редактирования в сайдбар запихнуть? Во всяко случае интересная возможность, как по мне. (Это должно быть опционально).
3. Чья-то кнопка "Панель закладок" действует до первого перезапуска (лолифокс, он кстати на бонэхо построен).
4. Можно ли в коде кнопки генерировать окно с элементами управления и сохранять установки в нем и как это сделать (просто есть проапгрейдить часы до часов с кукушкой, что б каждые пол часа сигнал издавали, но так, что бы это можно было бы настраивать)?
5. Можно ли перехватывать нажатие правой кнопкой мыши по кнопке, но при этом не заменять меню на свое а дополнять его новыми пунктами и реструктурировать старые (например вынести их в подменю)?

Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.1a2) Gecko/20060513 lolifox/0.2.2

Отредактировано Lain_13 (24-05-2006 16:27:37)

Отсутствует

 

№10824-05-2006 16:08:47

Lain_13
Забанен
 
Группа: Members
Откуда: Волшебная Страна
Зарегистрирован: 26-04-2006
Сообщений: 10320

Re: Custom Buttons

Вообщем, плюнул и перевел сам Ж).
Для повторения моего фокуса требуется изменить приведенные ниже файлы так как я укажу в поле кода.
1. Переименовать chrome\custombuttons\locale\en-US в chrome\custombuttons\locale\ru-RU
2. Добавить в файл chrome.manifest строку, указывающую на русскую локализацию как показано тут

Выделить код

Код:

overlay	chrome://browser/content/browser.xul	chrome://custombuttons/content/overlay.xul
content	custombuttons	chrome/custombuttons/content/custombuttons/

locale	custombuttons	en-US	chrome/custombuttons/locale/en-US/custombuttons/
locale	custombuttons	ru-RU	chrome/custombuttons/locale/ru-RU/custombuttons/

skin	custombuttons	classic/1.0	chrome/custombuttons/skin/classic/
style	chrome://browser/content/browser.xul	chrome://custombuttons/skin/custombuttons.css
style	chrome://global/content/customizeToolbar.xul	chrome://custombuttons/skin/custombuttons.css

3. Файл chrome\custombuttons\locale\ru-RU\custombuttons\custombuttons.properties

Выделить код

Код:

RemoveConfirm=Удалить кнопку "%s"?
ButtonAddedAlert=Кнопка была успешно создана. Вы можете добавить её на любую панель инструментов через меню "Вид -> Панели инструментов -> Настроить..."
InstallConfirm=Установить кнопку "%s"?
ButtonErrors=Кнопка не может быть создана, потому что содержит ошибки!

4. Создать папку chrome\custombuttons\locale\en-US
5. Потом создать папку chrome\custombuttons\locale\en-US\custombuttons
6. Создать в ней файл chrome\custombuttons\locale\en-US\custombuttons\custombuttons.dtd

Выделить код

Код:

<!ENTITY custombuttons.viewMenu_Item     			"Add new button...">
<!ENTITY custombuttons.buttonPopup.edit     		"Edit...">
<!ENTITY custombuttons.buttonPopup.remove     		"Delete">
<!ENTITY custombuttons.buttonPopup.clone     		"Clone">
<!ENTITY custombuttons.buttonPopup.copyURI     		"Copy code to clipboard">

7. Так же создать chrome\custombuttons\locale\en-US\custombuttons\custombuttons.properties

Выделить код

Код:

RemoveConfirm=Delete button "%s"?
ButtonAddedAlert=The button was successfully created.\nYou can add it to any toolbar via "View -> Toolbars -> Customize..."
InstallConfirm=Do you wish to install "%s" button?
ButtonErrors=The button can not be created because it contains errors!

8. И еще chrome\custombuttons\locale\en-US\custombuttons\editor.dtd

Выделить код

Код:

<!ENTITY editor.dialog.title		"Edit bitton">
<!ENTITY editor.name				"Name:">
<!ENTITY editor.name.tooltiptext		"Use this to create label and popup help for button">
<!ENTITY editor.image			"Image:">
<!ENTITY editor.select			"Browse...">
<!ENTITY editor.base64			"⇒ base64">
<!ENTITY editor.base64.tooltiptext		"Convert image in base64 format (data:image/png;base64,...)">
<!ENTITY editor.code				"Code">
<!ENTITY editor.code.tooltiptext		"Executing when button pressed">
<!ENTITY editor.initCode			"Initialize">
<!ENTITY editor.initCode.tooltiptext	"Executing when browser loaded">
<!ENTITY editor.code.defaultValue		"/*CODE*/">
<!ENTITY editor.initCode.defaultValue	"/*Initialization Code*/">

Вот так вот примерно Ж). Люблю я длинные посты. Если есть ашЫпки в переводе, то исправьте и отпишите.

З.Ы. Спасибо афтару за отличный плагин!
З.З.Ы. 3 строки английского перевода уже были в плагине в файле chrome\custombuttons\locale\en-US\custombuttons\custombuttons.properties. Только как то странно они были объявлены... Вот так примерно:

Выделить код

Код:

InstallConfirm_en=ффф Do you wish to install "%s" button?

Для чего это было??? Вообщем выкинул.

Отредактировано Lain_13 (24-05-2006 16:18:28)

Отсутствует

 

№10924-05-2006 17:18:29

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Custom Buttons

Lain_13

1. Почему только русский язык? Я использую ФФ 1.5.0.3 русский и лолифокс 0.2.2 английский (нет пока русского да и не хочу). В первом все смотрится нормально, но вот во втором... ну неуместно как-то смотрится русский текст Ж). Просто локаль добавь, а?

Так не успел еще. Beta всё-таки. Пока отлов багов считаю более важным.

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

Попробую.

3. Чья-то кнопка "Панель закладок" действует до первого перезапуска (лолифокс, он кстати на бонэхо построен).

Наверное, кнопка-то работает, но панель не сохраняет положение. Так? Чтобы сохранялось, надо посложнее код писать..

4. Можно ли в коде кнопки генерировать окно с элементами управления и сохранять установки в нем и как это сделать (просто есть проапгрейдить часы до часов с кукушкой, что б каждые пол часа сигнал издавали, но так, что бы это можно было бы настраивать)?

Окно - вряд ли. Сложно. А вот разные параметры можно в коде кнопки через JS задавать.

5. Можно ли перехватывать нажатие правой кнопкой мыши по кнопке, но при этом не заменять меню на свое а дополнять его новыми пунктами и реструктурировать старые (например вынести их в подменю)?

Вообще, можно всё. :) Надо знать JS и DOM. Будет время - напишу примерчик.

P.S. За перевод спасибо. Я его немного подправлю, и потом добавлю.

Отредактировано Yan (24-05-2006 17:54:36)

Отсутствует

 

№11024-05-2006 17:48:43

stoneflash
Хитрый Лис
 
Группа: Extensions
Откуда: Msk
Зарегистрирован: 02-04-2006
Сообщений: 4341

Re: Custom Buttons

Yan
Может добавишь поддержку Flock? У меня стоит это расширение, вроде работает.


«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator

Отсутствует

 

№11124-05-2006 17:54:00

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Custom Buttons

stoneflash
Поставлю Flock, погляжу..

Отсутствует

 

№11226-05-2006 12:48:33

Lain_13
Забанен
 
Группа: Members
Откуда: Волшебная Страна
Зарегистрирован: 26-04-2006
Сообщений: 10320

Re: Custom Buttons

При запуске лолифокса (напомню, это бонэхо) в консоли джаваскрипта выдается:

Выделить код

Код:

Warning: Warning: Ignoring unrecognized chrome manifest instruction.
Source File: file:///C:/Documents%20and%20Settings/YGolovanyov/Application%20Data/altimit-dev/lolifox/Profiles/yr0p9crz.default/extensions/custombuttons@xsms.org/chrome.manifest
Line: 1

Интересно, в оригинальной версии это есть? или это я напортачил 1 строчку добавив. Хотя нет, я строку 1 не правил... значит ашипка где-то в ней...

Отредактировано Lain_13 (26-05-2006 12:49:21)

Отсутствует

 

№11326-05-2006 13:10:07

Lain_13
Забанен
 
Группа: Members
Откуда: Волшебная Страна
Зарегистрирован: 26-04-2006
Сообщений: 10320

Re: Custom Buttons

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

установить мою модификацию (версия 0.0.1.1).

Так же там изменен стиль оформления данных о плагине. Данные о дате и времени билда перемещены в окно информации о претензии. В окне расширений виден ТОЛЬКО номер билда. Кстати, обычно в названии плагина номер его версии вообще не пишут, для этого есть поле "версия". В дальнейем наверное информацию о версии и билде желательно размещать там и только там (иначе в окне информации о плагине заголовок просто НЕ ВЛЕЗАЕТ в окно).

Отсутствует

 

№11426-05-2006 19:37:17

Крыска
Участник
 
Группа: Members
Откуда: Минск
Зарегистрирован: 08-02-2005
Сообщений: 670

Re: Custom Buttons

Yan
хочу конопочек :blush:

Просьба не путать, это не флейм.
Sergeys


"всё-равно его не брошу, потому что Лис хороший!" (c) Ewgen

Отсутствует

 

№11527-05-2006 13:37:33

Dark-Demon
Участник
 
Группа: Members
Зарегистрирован: 20-02-2006
Сообщений: 1278

Re: Custom Buttons

Крыска, а какие кнопочки интересуют?


!

Отсутствует

 

№11627-05-2006 15:23:40

Крыска
Участник
 
Группа: Members
Откуда: Минск
Зарегистрирован: 08-02-2005
Сообщений: 670

Re: Custom Buttons

Dark-Demon
я и не знаю. заранее не знаешь, что пригодиться пока не увидишь в работе.
а вообще есть кнопка переключения между альбомами скрапбука.... но я сомневаюсь, что её можно реализовать.


"всё-равно его не брошу, потому что Лис хороший!" (c) Ewgen

Отсутствует

 

№11728-05-2006 01:03:07

Dark-Demon
Участник
 
Группа: Members
Зарегистрирован: 20-02-2006
Сообщений: 1278

Re: Custom Buttons

переделанный image show-hide. переключает между тремя режимами.

Выделить код

Код:

custombutton://image%20show-hide%5D%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAA3NCSVQICAjb4U/gAAAAD1BMVEUfact50/fF+v/M//////8mt18DAAAABXRSTlP/////APu2DlMAAAAJcEhZcwAACvAAAArwAUKsNJgAAAAgdEVYdFNvZnR3YXJlAE1hY3JvbWVkaWEgRmlyZXdvcmtzIE1Yu5EqJAAAADhJREFUeJxjcHFgAAIXFwYXB2NjYwYWEMNQUJCZAcYwYIEwGBigDEFhDIYQ+QygpUZKIAbIGQwsANX+EGaBLn8yAAAAAElFTkSuQmCC%5D%5Bswitch%28this.PS.getIntPref%28this.pref%29%29%7B%0A%09case%201%3A%20this.PS.setIntPref%28this.pref%2C2%29%3Bbreak%3B%0A%09case%202%3A%20this.PS.setIntPref%28this.pref%2C3%29%3Bbreak%3B%0A%09case%203%3A%20this.PS.setIntPref%28this.pref%2C1%29%3Bbreak%3B%0A%7D%5D%5Bthis.pref%3D%27permissions.default.image%27%3B%0Athis.setState%3Dfunction%28%29%7B%0Aswitch%28this.PS.getIntPref%28this.pref%29%29%7B%0Acase%201%3A%7B%0A%20%20this.image%3D%0A%27data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAACXBIWXMAAAsSAAALEgHS3X78AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACp0lEQVR42mL4//8/g3zm6f8AAcQAYvz4uuc/QACBeSAOQAAx/P75/X/ukY//AQIILHXhz///lZe//wfJAgQQWOBui9D/P78t/6ftffcfIIAYYKbA9AIEEIjDWnPtx3+YIEAAMXz7/P7/75+v/mcADQQJAAQQ0HTt/y9nqv73W/caLAAQQDAzWC8CbWq89et//fWf/5HNBAgguIJzIKdc+v6/7Py3/8Wnv/wvPPkZrAgggMAKfv+c8P/f+8r//x+mAZ03/X/g5nf/sw68BysACCCIH78p///zSeb/n4ci/39d4P+/4+f//0d//QcrAAggFH8gY5A4CAMEEFxB0+1f/xtu/vxfc+X7f5CDYYoAAgiuoP7Gz//VV378r7j4HdkkVoAAgisA6Sy/8O1/ydmvYB+c+g02hRUggBgaw6T+g4Iegq//B/Fzj376fwLiSFaAAAIr+HI17f//l4X//9+JAyvIPPjh/3GoAoAAAit4MEns/71Gof+f1hmCFaQCownqTVaAAAIr+PNb4f+fFxL//9wUACsAScIUAAQQA8y/IA7IsSAvgvAFKD4PxdjCCIQBAgjDgAvQSK0DRmrtNWDQXAUFzTewxjNAn5/8/R/FIIAAwjAAZFsdMEFVAcMUFPkgzaAEUAoKvlOfkYMQ7AWAAAJrBvmLEC4Aasw/DsTHPiG7ghUggOAG/PkFTCG/p/3//6P///+PLf//vwamrsc5///+WQc2IHLX+//Zhz/+zz4EjwKwAQABBDfg90/d/w+mSvx/DEztPy+G//9/K/r//6vBwBhoBhvgv/HN//T97/9n7Hv//xiSAQABhDDgl8b/B33C/++3C/6/38T//34d7//7Vdz//0Kjzm/dq/9pe979T939Fp6UQQYABBDRYSAZdghrkgcIMAD5xMj+kGsEXgAAAABJRU5ErkJggg%3D%3D%27%3B%0A%20%7D%3B%20break%3B%0Acase%202%3A%7B%0A%20%20this.image%3D%0A%27data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAA3NCSVQICAjb4U/gAAAAD1BMVEUfact50/fF+v/M//////8mt18DAAAABXRSTlP/////APu2DlMAAAAJcEhZcwAACvAAAArwAUKsNJgAAAAgdEVYdFNvZnR3YXJlAE1hY3JvbWVkaWEgRmlyZXdvcmtzIE1Yu5EqJAAAADhJREFUeJxjcHFgAAIXFwYXB2NjYwYWEMNQUJCZAcYwYIEwGBigDEFhDIYQ+QygpUZKIAbIGQwsANX+EGaBLn8yAAAAAElFTkSuQmCC%27%3B%0A%20%7D%3B%20break%3B%0Acase%203%3A%7B%0A%20%20this.image%3D%0A%27data%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAACXBIWXMAAAsSAAALEgHS3X78AAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAACdklEQVR42mL4//8/g3zm6f8AAcQAYvz69es/QACBeSAOQAAx/Pnz5//Z20/+AwQQWOrHv///n7x89R8kCxBAYIEuXdb/f//+/X/w8oP/AAHEADMFphcggEAc1pdv3vyHCQIEEMPPnz//gwy8dPcpWAAggMCmnzp16v+Rqw/BAgABBDOD9RfQpncf3v1/9RahHSQHEEBwBd+BCh4DnXLv6Yv/Nx89/3/l/jOwIoAAAisAGXv9+vX/MOedvvn4//Frj8AKAAII7keQBAj//v37//M///8/+/0frAAggFD8gYxB4iAMEEBwBR8+vvv/5v1bYJC8/v/733+4IoAAgit4/e7t/+evX/9/9OIVskmsAAEEV/D01ev/D56//H/78Yv/1x48+//uD9gUVoAAYlizZg04pGAYxD8PjIbXUAUAAQRWMMmA9f+VK1f+dwK9CeKfuP7o/0uoAoAAAivo02f9f+7cuf9tOhAFh4DR9BziTVaAAAIrgIUBCIP4IEloOLACBBADzL8gDsixIC+C4uUnFP+AYmxhBMIAAYRhwE9wpL79/wYYLKCIfQEMmofPIUHz6e///2///EcxCCCAMAwA2fYCmKCeATWC0uFDYNDdf/by/50nL/5fBQbf5ftP/7//CzeEFSCAwJpB/iKErwJTz6V7T/9fBCZMJFewAgQQ3ABQAE0BBjcoyCcAQxUUsj16rP///fsHNuAcMG7OAFPZqRuP/79CMgAggOAGgCIRpBEUX6BkCYqWDh1WeMiD4u4oMBeAcsILJAMAAgjFgF6gjSDNII2gOG3RRhhw+MrD/wcvPfi//+J9eFIGGQAQQESHAa4kDxBgAMjdAQviliYiAAAAAElFTkSuQmCC%27%3B%0A%20%7D%3B%20break%3B%0A%7D%0A%7D%0A%0Athis.PS%3D%0A%20Components.classes%5B%27@mozilla.org/preferences-service%3B1%27%5D%0A%20.getService%28Components.interfaces.nsIPrefBranch%29%3B%0Athis.ob%3D%7B%7D%3B%0Athis.ob.observe%3Dthis.setState.bind%28this%29%3B%0Athis.PS.addObserver%28this.pref%2Cthis.ob%2Cfalse%29%3B%0Athis.setState%28%29%3B

!

Отсутствует

 

№11828-05-2006 01:56:23

Dark-Demon
Участник
 
Группа: Members
Зарегистрирован: 20-02-2006
Сообщений: 1278

Re: Custom Buttons

Крыска, а нафига несколько альбомов? там же можно дерево папок соорудить...

Yan, что-то у тебя на сайте оформление полетело... черные буквы на тёмно синем фоне плохо смотрятся...


!

Отсутствует

 

№11928-05-2006 12:04:43

Крыска
Участник
 
Группа: Members
Откуда: Минск
Зарегистрирован: 08-02-2005
Сообщений: 670

Re: Custom Buttons

Dark-Demon

а нафига несколько альбомов? там же можно дерево папок соорудить...

кхм... а тормоза не мешают? :whistle:


"всё-равно его не брошу, потому что Лис хороший!" (c) Ewgen

Отсутствует

 

№12028-05-2006 14:09:29

Dimanish
Участник
 
Группа: Extensions
Зарегистрирован: 31-03-2005
Сообщений: 2371

Re: Custom Buttons

Yan

var path='C:\\Program Files\\Proxomitron\\Proxomitron.exe';
var arguments=['Dimanish.cfg'];

var file = Components.classes['@mozilla.org/file/local;1']
    .createInstance(Components.interfaces.nsILocalFile);
var process = Components.classes['@mozilla.org/process/util;1']
    .getService(Components.interfaces.nsIProcess);
file.initWithPath(path);
process.init(file);
process.run(false,arguments,arguments.length);

Proxomitron ругается:
pr1212s.png
и запускается с настройками по-умолчанию.
При этом Firefox виснет пока не закроешь Proxomitron.


Тут должна была быть подпись. А, да... Вот она и есть.

Отсутствует

 

№12128-05-2006 17:10:20

petrovich
Участник
 
Группа: Members
Зарегистрирован: 12-02-2005
Сообщений: 484

Re: Custom Buttons

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

Я поставлю галочку "Не показывать больше".

Можно ещё добавить к сообщению кнопку "настроить сейчас", которая откроет окно с кнопками.

А вообще, имхо, стоит отказаться от контекстной менюшки. Для настроек кнопок юзать спец менеджер, а в остальном они должны вести себя как самые обычные кнопки.

А по мне, так наоборот, контекстное меню - самый удобный способ управления кнопками. Кнопку можно отредактировать в пару кликов, и тут же проверить работоспособность.

Имхо, скоро появятся странички с большим количеством кнопок, доступных для установки(эта например). И пользователю не придётся делать кнопки самому, только пользоватся ими.
Идея с менеджером не такая уж и плохая. Можно будет увидеть сразу все кнопки, установленные расширением, быстро удалить, отредактировать их. В меню можно оставить один пункт "Manage Custom Buttons".

После установки, расширение не появляется в менеджере расширений. FF 2.0a3

Отличное расширение.

Отсутствует

 

№12228-05-2006 23:15:27

Cwer
Участник
 
Группа: Members
Зарегистрирован: 04-03-2005
Сообщений: 26

Re: Custom Buttons

после того как настраиваю тулбар все меню остается серым (не активным)
при отключении расширения все норм.
это только у меня так?

Отсутствует

 

№12329-05-2006 00:25:42

Dark-Demon
Участник
 
Группа: Members
Зарегистрирован: 20-02-2006
Сообщений: 1278

Re: Custom Buttons

fit to width - выравнивает текущую страницу по ширине окна. Полезно для убирания горизонтального скролла на некоторых сайтах при открытом сайдбаре.

Выделить код

Код:

custombutton://fit%20to%20width%5D%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAA3NCSVQICAjb4U/gAAAAFVBMVEX///8AzP8AAAAAzP8Amf8AAMwAAACWs84cAAAAB3RSTlMAd3f/////1grLHQAAAAlwSFlzAAALEgAACxIB0t1+/AAAACB0RVh0U29mdHdhcmUATWFjcm9tZWRpYSBGaXJld29ya3MgTVi7kSokAAAAFnRFWHRDcmVhdGlvbiBUaW1lADA1LzI4LzA2GvIWfQAAAEpJREFUeJxjYMAErKGhgRCGi0uIAJjhbBxiCGO4AIUUgIzQ0AAmhiQgw9gkQI0hTRXECEpDiChAGExgXUAGxEAXlwCIFUDtWOwGAHj3ENTzyS3QAAAAAElFTkSuQmCC%5D%5Bvar%20s%3Dcontent.document.styleSheets%5B0%5D%3B%0As.insertRule%28%27*%20%7Bmin-width%3A0%21important%3B%20white-space%3Anormal%21important%3B%20margin%3A0%21important%3B%20padding%3A0%21important%3B%20float%3Anone%3B%7D%27%2C0%29%3B%0As.insertRule%28%27div%2Ctable%2Ctbody%2Ctr%2Ctd%2Cp%2Col%2Cul%2Ch1%2Ch2%2Ch3%2Chr%20%7Bmax-width%3A99%25%21important%3B%7D%27%2C0%29%3B%0As.insertRule%28%27table%2Ctbody%2Ctr%2Ctd%20%7Bdisplay%3Ablock%21important%7D%27%2C0%29%3B%0A%0Avar%20i%3D%20content.document.images%3B%0Afor%20%28var%20j%3D0%3B%20j%3Ci.length%3B%20j++%29%20%7B%0A%20%20var%20k%3D%20content.window.innerWidth/i%5Bj%5D.width*.95%3B%0A%20%20if%20%28k%3C1%29%20%7Bi%5Bj%5D.width*%3Dk%3B%20i%5Bj%5D.height*%3Dk%3B%7D%3B%0A%7D%0A%0A%0A%5D%5B

Код еще довольно сырой, но в некоторых случаях помогает. В общем - тестируем и подкидываем идеи по улучшению :)

Отредактировано Dark-Demon (29-05-2006 00:50:27)


!

Отсутствует

 

№12429-05-2006 00:40:49

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Custom Buttons

Lain_13

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

установить мою модификацию (версия 0.0.1.1).

Так же там изменен стиль оформления данных о плагине. Данные о дате и времени билда перемещены в окно информации о претензии. В окне расширений виден ТОЛЬКО номер билда. Кстати, обычно в названии плагина номер его версии вообще не пишут, для этого есть поле "версия". В дальнейем наверное информацию о версии и билде желательно размещать там и только там (иначе в окне информации о плагине заголовок просто НЕ ВЛЕЗАЕТ в окно).

Гм. Может это, с самодеятельностью чуток поаккуратнее? :)
Я понимаю, что есть время, желание, хочется помочь - это всегда приветствуется. Но что касается выпуска новых версий - это всё-таки моя прерогатива.
Нехорошо как-то получается. Я еще 0.0.1 до финала не довел, а ты уже 0.0.1.1 выпустил. Вот поставит пользователь себе твою 0.0.1.1, и будет думать, что у него стоит последняя версия, в то время как последней на самом деле будет 0.0.1 final. (0.0.1<0.0.1.1). К тому же я в финальных версиях дату сборки уберу, совсем путаница будет.
Что касается стиля билда - так надо, я так решил, и мне так удобнее.
Ну и самое важное: твоя сборка в Firefox 1.5.0.x не работает...

Dimanish

Proxomitron ругается:
...
и запускается с настройками по-умолчанию.
При этом Firefox виснет пока не закроешь Proxomitron.

Мда, не знаю в чем дело. Другие программы нормально запускаются, а с проксомитроном у меня та же штука..

petrovich

Можно ещё добавить к сообщению кнопку "настроить сейчас", которая откроет окно с кнопками.

Да, я так и хотел сделать.

Идея с менеджером не такая уж и плохая. Можно будет увидеть сразу все кнопки, установленные расширением, быстро удалить, отредактировать их. В меню можно оставить один пункт "Manage Custom Buttons".

Идея-то хорошая. Но реализовывать относительно долго. Пока на это время тратить не буду, может в следующих версиях сделаю.

После установки, расширение не появляется в менеджере расширений. FF 2.0a3

Спасибо, посмотрю, что они там поменяли..

Cwer

после того как настраиваю тулбар все меню остается серым (не активным)
при отключении расширения все норм.
это только у меня так?

Нет, должно быть всё нормально.
Какие расширения установлены?
На новом профиле то же самое?

Отсутствует

 

№12529-05-2006 00:53:12

Yan
Участник
 
Группа: Extensions
Откуда: Москва
Зарегистрирован: 27-02-2005
Сообщений: 1019

Re: Custom Buttons

Dimanish

И еще, кнопка Scrapbook (и видимо остальные также) перестает работать после того, как открываешь окно "Настройка панелей инструментов", в котором находятся все кнопки. Стоит открыть окно редактирования кнопки и нажать "OK" или перезапустить браузер - все становится нормально.

Как исправить баг не знаю, но можно задавать обработчик onclick не через свойство, а через атрибут. Т.е. вместо:


Неправильно:

this.onclick=function(event){
switch (event.button){
  case 0:alert('левая кнопка');break;
  case 1:alert('средняя кнопка');break;
}
}

писать надо так:


Правильно:

this.onclickFunction=function(event){
switch (event.button){
  case 0:alert('левая кнопка');break;
  case 1:alert('средняя кнопка');break;
}
}
this.setAttribute('onclick','this.onclickFunction(event);');

Так обработка onclick пропадать не будет.

Отсутствует

 

Board footer

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