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

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

№500117-10-2012 09:57:30

feas
Участник
 
Группа: Extensions
Откуда: от DNS
Зарегистрирован: 25-08-2011
Сообщений: 5213
UA: Firefox 18.0
Веб-сайт

Re: Custom Buttons

leex пишет

Ребята подскажите пожалуйста есть ли готовая кнопка для переключения пользовательских словарей?
Кнопка проверки орографии с русского на английский на  и наоборот?

есть готовый словарь: http://forum.mozilla-russia.org/viewtopic.php?id=15316


Добро пожаловать на форум mozilla-russia.org. Здесь вы можете посоветоваться или обратиться за помощью к фанатам и пользователям продуктов Мозиллы. Если не знаете как правильно оформить пост специально для вас расписан пункт 2.2 правил форума
Сброс на примере Firefox – лёгкое решение большинства проблем
Починка браузера. Перенос своих настроек на новый профиль.

Отсутствует

 

№500217-10-2012 22:38:54

leex
Участник
 
Группа: Members
Зарегистрирован: 24-03-2011
Сообщений: 319
UA: Firefox 16.0

Re: Custom Buttons

Пасип

Отсутствует

 

№500318-10-2012 16:04:25

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

Re: Custom Buttons

Infocatcher

Просьба из разряда «мелочных капризов»,
необязательна не только к исполнению, но даже к рассмотрению :)

Можно ли, чтобы Attributes Inspector открывал узел в окне DOM Inspector'а
минимум - отцентрованым по вертикали,
максимум - возможность указать в коде приблизительный процент
                  0 - в самом верху, 100 - в самом низу. ( себе хотелось бы где-то 33 )

Отсутствует

 

№500418-10-2012 18:04:05

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

Re: Custom Buttons

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

Отсутствует

 

№500518-10-2012 18:32:28

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

Re: Custom Buttons

Как перенести текущую вкладку в новую группу и сразу переключиться на эту вкладку в новой группе.

Отсутствует

 

№500618-10-2012 21:50:52

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

Re: Custom Buttons

Dumby пишет

Просьба из разряда «мелочных капризов»,

Лучше бы кто мозилловцев на API для центрирования вразумил. И так версий 10 ждали, когда найденное через Ctrl+F будет центрироваться. :)
Вроде, работает: Center node in DOM Inspector's tree


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

Отсутствует

 

№500718-10-2012 22:58:33

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

Re: Custom Buttons

Infocatcher пишет

+ Добавлено центрирование выбранного узла в панели DOM Inspector'а (настройка "_nodePosition").

Восторг ! Огромное спасибо !  :beer:
Всем рекомендую «обновиться».

Отсутствует

 

№500818-10-2012 23:00:12

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

Re: Custom Buttons

Dumby пишет

Восторг ! Огромное спасибо !  :beer:
Всем рекомендую «обновиться».

Обновился, раньше не задумывался, а так действительно удобней :)

Отсутствует

 

№500919-10-2012 01:06:05

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

Re: Custom Buttons

bunda1 пишет

Как перенести текущую вкладку в новую группу и сразу переключиться на эту вкладку в новой группе.

Вариант:

Выделить код

Код:

var tab = gBrowser.selectedTab;
TabView._window.GroupItems.moveTabToGroupItem(tab);
gBrowser.selectedTab = tab;

Отредактировано Dumby (19-10-2012 10:18:26)

Отсутствует

 

№501019-10-2012 21:04:35

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

Re: Custom Buttons

Dumby
:( Ошибка: TypeError: TabView._window is null

Отредактировано bunda1 (19-10-2012 21:04:58)

Отсутствует

 

№501120-10-2012 12:19:29

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

Re: Custom Buttons

bunda1

Ага, знакомая строка :)

И снова рискну предположить, что на момент исполнения этого кода
ещё не было ни одной группы. У меня так бывает, если запустить браузер
и до тех пор, пока не нажмёшь кнопку «Группы вкладок»
( если, конечно, какая-нибудь кнопка уже не вызвала TabView._initFrame(callback); )

Отсутствует

 

№501220-10-2012 13:22:06

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

Re: Custom Buttons

Dumby
Понятно.
Спасибо за кнопку VT. Пожалуйста сделай так что бы VT открывался по умолчанию в авто режиме поверх страницы без СКМ или двойного клика. И если можно то с анимацией.

Отсутствует

 

№501320-10-2012 14:14:50

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

Re: Custom Buttons

bunda1 пишет

Пожалуйста сделай так что бы VT открывался по умолчанию в авто режиме поверх страницы без СКМ или двойного клика.

Ой, а зачем ? Один раз переключил и всё - запомнит навсегда.
Во всяком случае так задумано...

Если только чтобы при установке «с нуля» сразу, то вот - ничего нового, только дополнительный дефолтный атрибут.

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

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EVT%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wDVEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wDVKP8A1YX/ANUoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wDVFf8A1RUAAAAAAAAAAAAAAAAAAAAA/wDVJP8A1f//ANX//wDV//8A1SQAAAAAAAAAAAAAAAAAAAAA/wDVEv8A1f//ANX//wDVEgAAAAAAAAAA/wDVIP8A1f//ANX//wDV//8A1f//ANX//wDVJgAAAAAAAAAAAAAAAP8A1RH/ANX//wDV//8A1REAAAAAAAAAAP8A1f//ANX//wDV//8A1Tb/ANX//wDV//8A1f//ANUQAAAAAAAAAAD/ANUP/wDV//8A1f//ANUPAAAAAAAAAAD/ANX//wDV//8A1SAAAAAA/wDVIP8A1f//ANX//wDVEQAAAAAAAAAA/wDVD/8A1f//ANX//wDVDwAAAAAAAAAA/wDV//8A1f//ANUMAAAAAP8A1Qz/ANX//wDV//8A1Q8AAAAAAAAAAP8A1Q//ANX//wDV//8A1Q8AAAAAAAAAAP8A1f//ANX//wDVDwAAAAD/ANUP/wDV//8A1f//ANUPAAAAAAAAAAD/ANUP/wDV//8A1f//ANUPAAAAAAAAAAD/ANX//wDV//8A1Q8AAAAA/wDVD/8A1f//ANX//wDVDAAAAAAAAAAA/wDVCv8A1f//ANX//wDVCgAAAAAAAAAA/wDV//8A1f//ANUPAAAAAP8A1Q//ANX//wDV//8A1Qv/ANUL/wDVDP8A1SH/ANX//wDV//8A1SH/ANUK/wDVD/8A1f//ANX//wDVEQAAAAD/ANUR/wDV//8A1f//ANUm/wDV//8A1f//ANX//wDV//8A1f//ANX//wDV//8A1f//ANX//wDV//8A1RIAAAAA/wDVEv8A1f//ANX//wDVJ/8A1f//ANX//wDV//8A1f//ANX//wDV//8A1f//ANX//wDVEf8A1RIAAAAAAAAAAAAAAAD/ANUV/wDVEgAAAAD/ANUQ/wDVEf8A1Q//ANUP/wDVD/8A1Q//ANUP/wDVDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//+sQe//rEHH56xBg8OsQQHDrEEAw6xBEMOsQRDDrEEQw6xBEMOsQRAArEEQAKxBEACsQTkArEH//6xB//+sQQ%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20button%20%3D%20this%3B%0A%0Aconst%20showDelay%20%3D%20555%3B%20//ms%0Aconst%20distanceShow%20%3D%202%3B%0Aconst%20distanceHide%20%3D%2064%3B%0Aconst%20toolbarId%20%3D%20%22vertical_toolbar%22%3B%0Aconst%20toolboxId%20%3D%20toolbarId%20+%20%22_toolbox%22%3B%0Aconst%20img%20%3D%20%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAKP+AAIX/gAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAFf+AABUAAAAAAAAAAAAAAAAAAAAA/4AAJP+AAP//gAD//4AA//+AACQAAAAAAAAAAAAAAAAAAAAA/4AAEv+AAP//gAD//4AAEgAAAAAAAAAA/4AAIP+AAP//gAD//4AA//+AAP//gAD//4AAJgAAAAAAAAAAAAAAAP+AABH/gAD//4AA//+AABEAAAAAAAAAAP+AAP//gAD//4AA//+AADb/gAD//4AA//+AAP//gAAQAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AACAAAAAA/4AAIP+AAP//gAD//4AAEQAAAAAAAAAA/4AAD/+AAP//gAD//4AADwAAAAAAAAAA/4AA//+AAP//gAAMAAAAAP+AAAz/gAD//4AA//+AAA8AAAAAAAAAAP+AAA//gAD//4AA//+AAA8AAAAAAAAAAP+AAP//gAD//4AADwAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AAA8AAAAA/4AAD/+AAP//gAD//4AADAAAAAAAAAAA/4AACv+AAP//gAD//4AACgAAAAAAAAAA/4AA//+AAP//gAAPAAAAAP+AAA//gAD//4AA//+AAAv/gAAL/4AADP+AACH/gAD//4AA//+AACH/gAAK/4AAD/+AAP//gAD//4AAEQAAAAD/gAAR/4AA//+AAP//gAAm/4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AABIAAAAA/4AAEv+AAP//gAD//4AAJ/+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AAEf+AABIAAAAAAAAAAAAAAAD/gAAV/4AAEgAAAAD/gAAQ/4AAEf+AAA//gAAP/4AAD/+AAA//gAAP/4AADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//+sQe//rEHH56xBg8OsQQHDrEEAw6xBEMOsQRDDrEEQw6xBEMOsQRAArEEQAKxBEACsQTkArEH//6xB//+sQQ%3D%3D%22%3B%0Aconst%20imgOver%20%3D%20%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wDVEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wDVKP8A1YX/ANUoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wDVFf8A1RUAAAAAAAAAAAAAAAAAAAAA/wDVJP8A1f//ANX//wDV//8A1SQAAAAAAAAAAAAAAAAAAAAA/wDVEv8A1f//ANX//wDVEgAAAAAAAAAA/wDVIP8A1f//ANX//wDV//8A1f//ANX//wDVJgAAAAAAAAAAAAAAAP8A1RH/ANX//wDV//8A1REAAAAAAAAAAP8A1f//ANX//wDV//8A1Tb/ANX//wDV//8A1f//ANUQAAAAAAAAAAD/ANUP/wDV//8A1f//ANUPAAAAAAAAAAD/ANX//wDV//8A1SAAAAAA/wDVIP8A1f//ANX//wDVEQAAAAAAAAAA/wDVD/8A1f//ANX//wDVDwAAAAAAAAAA/wDV//8A1f//ANUMAAAAAP8A1Qz/ANX//wDV//8A1Q8AAAAAAAAAAP8A1Q//ANX//wDV//8A1Q8AAAAAAAAAAP8A1f//ANX//wDVDwAAAAD/ANUP/wDV//8A1f//ANUPAAAAAAAAAAD/ANUP/wDV//8A1f//ANUPAAAAAAAAAAD/ANX//wDV//8A1Q8AAAAA/wDVD/8A1f//ANX//wDVDAAAAAAAAAAA/wDVCv8A1f//ANX//wDVCgAAAAAAAAAA/wDV//8A1f//ANUPAAAAAP8A1Q//ANX//wDV//8A1Qv/ANUL/wDVDP8A1SH/ANX//wDV//8A1SH/ANUK/wDVD/8A1f//ANX//wDVEQAAAAD/ANUR/wDV//8A1f//ANUm/wDV//8A1f//ANX//wDV//8A1f//ANX//wDV//8A1f//ANX//wDV//8A1RIAAAAA/wDVEv8A1f//ANX//wDVJ/8A1f//ANX//wDV//8A1f//ANX//wDV//8A1f//ANX//wDVEf8A1RIAAAAAAAAAAAAAAAD/ANUV/wDVEgAAAAD/ANUQ/wDVEf8A1Q//ANUP/wDVD/8A1Q//ANUP/wDVDwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//+sQe//rEHH56xBg8OsQQHDrEEAw6xBEMOsQRDDrEEQw6xBEMOsQRAArEEQAKxBEACsQTkArEH//6xB//+sQQ%3D%3D%22%3B%0Aconst%20sep%20%3D%20%22%5Cu00A0%22%3B%0Aconst%20firstAttributes%20%3D%20%22_over%20true%20id%20%25id%25%20class%20chromeclass-toolbar%20fullscreentoolbar%20true%20context%20toolbar-context-menu%20_width%2020%20customizable%20true%20flex%201%20iconize%20large%20mode%20icons%20orient%20vertical%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.replace%28/%20/g%2C%20sep%29.replace%28/%25id%25/%2C%20toolbarId%29%3B%0A//%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0Avar%20supportsString%20%3D%20Components.classes%5B%22@mozilla.org/supports-string%3B1%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.createInstance%28Components.interfaces.nsISupportsString%29%3B%0A%0Avar%20prefs%20%3D%20Components.classes%5B%22@mozilla.org/preferences-service%3B1%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20.getService%28Components.interfaces.nsIPrefService%29%0A%20%20%20%20%20%20%20%20%20%20%20%20.getBranch%28%22custombutton.verticaltoolbar.%22%29%3B%0Abutton.prefs%20%3D%20prefs%3B%0A%0Atry%20%20%20%20%20%20%20%20%7B%20getAttr_pref%28%29%20%7D%0Acatch%28err%29%20%7B%20setAttr_pref%28firstAttributes%29%20%7D%3B%0A%0Afunction%20getAttr_pref%28%29%20%7B%20return%20button.prefs.getComplexValue%28%22attributes%22%2C%20Components.interfaces.nsISupportsString%2C%20supportsString.data%29%3B%20%7D%0Afunction%20setAttr_pref%28a%29%20%7B%20var%20attrString%20%3D%20%22%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%21a%29%20%7B%20var%20attr%20%3D%20document.getElementById%28toolbarId%29.attributes%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20for%20%28var%20i%3D0%3B%20i%3Cattr.length%3B%20i++%29%20%7B%20attrString%20+%3D%20%28attr%5Bi%5D.name%20+%20sep%20+%20attr%5Bi%5D.value%20+%20sep%29%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%20attrString%20%3D%20a%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20supportsString.data%20%3D%20attrString%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.prefs.setComplexValue%28%22attributes%22%2C%20Components.interfaces.nsISupportsString%2C%20supportsString%29%3B%20%7D%0A//%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%09%0Avar%20browser%20%3D%20document.getElementById%28%22browser%22%29%3B%0Avar%20toolbar%20%3D%20document.getElementById%28toolbarId%29%3B%0Avar%20toolbox%20%3D%20document.getElementById%28toolboxId%29%3B%0A%0Aif%20%28%21toolbar%29%20%7B%0A%0A%09toolbox%20%3D%20document.createElement%28%22toolbox%22%29%3B%0A%09toolbox.id%20%3D%20toolboxId%3B%0A%09toolbox.palette%20%3D%20gNavToolbox.palette%3B%0A%09%0A%09toolbar%20%3D%20document.createElement%28%22toolbar%22%29%3B%0A%09toolbar.style.minWidth%20%3D%20%2220px%22%3B%0A%09%0A%09browser.insertBefore%28toolbox%2C%20browser.firstChild%29%3B%0A%09toolbox.appendChild%28toolbar%29%3B%0A%0A//-------------------------------------------------------------------------%0A//%20Thanks%20-%20http%3A//nanto.asablo.jp/blog/2007/04/22/1459018%0A%0A%09const%20style%20%3D%27%5C%0A%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%7B%5Cn%5C%0A%09%09-moz-appearance%3A%20none%3B%5Cn%5C%0A%09%09border-bottom%3A%200px%20none%3B%5Cn%5C%0A%09%09border-top%3A%200px%20none%3B%5Cn%5C%0A%09%09border-right%3A%201px%20solid%20rgb%28170%2C%20188%2C%20207%29%3B%5Cn%5C%0A%09%09background%3A%20none%20repeat%20scroll%200%25%200%25%20rgb%28207%2C%20219%2C%20236%29%3B%5Cn%5C%0A%7D%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20toolbarseparator%2C%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20%5Bid%5E%3D%22wrapper-separator%22%5D%20%7B%5Cn%5C%0A%09%09-moz-appearance%3A%20none%20%21important%3B%5Cn%5C%0A%09%09margin%3A%200.2em%202px%3B%5Cn%5C%0A%09%09border-bottom%3A%201px%20solid%20ThreeDHighlight%3B%5Cn%5C%0A%09%09border-top%3A%201px%20solid%20ThreeDShadow%3B%5Cn%5C%0A%09%09height%3A%202px%3B%5Cn%5C%0A%09%09border-left%3A%20none%3B%5Cn%5C%0A%09%09border-right%3A%20none%3B%5Cn%5C%0A%7D%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20toolbarspacer%2C%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20%5Bid%5E%3D%22wrapper-spacer%22%5D%20%7B%20height%3A%2015px%3B%20%7D%27%0A%0A%09var%20sspi%20%3D%20document.createProcessingInstruction%28%27xml-stylesheet%27%2C%0A%09%09%20%20%27type%3D%22text/css%22%20href%3D%22data%3Atext/css%2C%27%20+%20encodeURI%28style%29%20+%20%27%22%27%29%3B%0A%09document.insertBefore%28sspi%2C%20document.documentElement%29%3B%0A%0A//------------------------------------------------------------------------------%0A%0A%09var%20attr%20%3D%20getAttr_pref%28%29.data.split%28sep%29%3B%0A%09for%20%28var%20i%3D0%3B%20i%3C%28attr.length-1%29%3B%20i+%3D2%29%20%7B%20toolbar.setAttribute%28attr%5Bi%5D%2C%20attr%5Bi+1%5D%29%3B%20%7D%0A%0A%09var%20currentSet%20%3D%20toolbar.getAttribute%28%22currentset%22%29.split%28%22%2C%22%29%3B%0A%09currentSet.forEach%28function%28id%29%7B%20toolbar.insertItem%28id%29%3B%20%7D%29%3B%0A%7D%0A//%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0Avar%20et%20%3D%20gNavToolbox.externalToolbars%3B%0Avar%20already%20%3D%20false%3B%0Afor%20%28var%20i%3D0%3B%20i%3Cet.length%3B%20i++%29%20%7B%20if%20%28et%5Bi%5D%20%3D%3D%20toolbar%29%20already%20%3D%20true%3B%20%7D%0Aif%20%28%21already%29%20et%5Bet.length%5D%20%3D%20toolbar%3B%0A%0Afunction%20lock%28%29%20%7B%0A%0A%09toolbox.style.maxWidth%20%3D%0A%09toolbox.style.minWidth%20%3D%0A%09toolbar.getAttribute%28%22_width%22%29%20*%20%21toolbar.collapsed%20+%20%22px%22%3B%0A%7D%0Afunction%20beforeCustomize%28%29%20%7B%0A%0A%09toolbox.removeAttribute%28%22style%22%29%3B%0A%09toolbox.removeAttribute%28%22width%22%29%3B%0A%09toolbar.removeAttribute%28%22style%22%29%3B%0A%09toolbar.style.minWidth%20%3D%20%2220px%22%3B%0A%7D%0Afunction%20customizationChange%28%29%20%7B%0A%09window.setTimeout%28function%28%29%20%7B%0A%09%09toolbar.setAttribute%28%22_width%22%2C%20toolbar.boxObject.width%20+%204%29%3B%0A%09%7D%2C%20640%29%3B%0A%7D%0Afunction%20afterCustomize%28%29%20%7B%0A%0A%09setAttr_pref%28%29%3B%0A%09removeListeners%28%29%3B%0A%09lock%28%29%3B%0A%7D%0Avar%20distance%3B%0Afunction%20collapser%28e%29%20%7B%0A%0A%09distance%20%3D%20e.screenX%20-%20browser.boxObject.screenX%3B%0A%09if%20%28toolbar.waiting%29%20return%3B%0A%0A%09if%20%28%28distance%20%3C%3D%20distanceShow%29%20%26%26%20%28toolbar.collapsed%29%29%20%7B%0A%0A%09%09if%20%28toolbar.hasAttribute%28%22_over%22%29%29%20toolbar.style.height%20%3D%20browser.boxObject.height%20+%20%22px%22%3B%0A%09%09if%20%28showDelay%20%3C%201%29%20%7B%20toolbar.collapsed%20%3D%20false%3B%20lock%28%29%3B%20return%3B%20%7D%0A%0A%09%09toolbar.waiting%20%3D%20true%3B%0A%09%09window.setTimeout%28function%28%29%20%7B%0A%0A%09%09%09if%20%28distance%20%3E%3D%20distanceShow%29%20%7B%20toolbar.waiting%20%3D%20false%3B%20return%3B%20%7D%0A%09%09%09toolbar.collapsed%20%3D%20false%3B%0A%09%09%09lock%28%29%3B%0A%09%09%09toolbar.waiting%20%3D%20false%3B%0A%0A%09%09%7D%2C%20showDelay%29%3B%0A%09%7D%0A%09if%20%28%28distance%20%3E%3D%20distanceHide%29%20%26%26%20%28%21toolbar.collapsed%29%29%20%7B%0A%09%09toolbar.collapsed%20%3D%20true%3B%0A%09%09lock%28%29%3B%0A%09%7D%0A%7D%0Afunction%20removeListeners%28%29%20%7B%0A%0A%09gNavToolbox.removeEventListener%28%22beforecustomization%22%2C%20beforeCustomize%2C%20false%29%3B%0A%09gNavToolbox.removeEventListener%28%22customizationchange%22%2C%20customizationChange%2C%20false%29%3B%0A%09gNavToolbox.removeEventListener%28%22aftercustomization%22%2C%20afterCustomize%2C%20false%29%3B%0A%7D%0A%0Afunction%20setIcon%28%29%20%7B%20button.image%20%3D%20%28%21toolbar.hasAttribute%28%22_over%22%29%29%20%3F%20img%20%3A%20imgOver%3B%20%7D%0A%0Afunction%20setModeOver%28off%29%20%7B%0A%0A%09if%20%28off%29%20toolbar.removeAttribute%28%22_over%22%29%0A%09else%20toolbar.setAttribute%28%22_over%22%2C%20%22true%22%29%3B%0A%0A%09if%20%28button.checked%29%20off%20%3D%20true%3B%0A%09%0A%09toolbox.style.position%20%3D%20off%20%3F%20%22%22%20%3A%20%22fixed%22%3B%0A%09toolbox.style.height%20%3D%0A%09toolbar.style.height%20%3D%20off%20%3F%20%22%22%20%3A%20browser.boxObject.height%20+%20%22px%22%3B%0A%0A%09toolbar.style.maxWidth%20%3D%0A%09toolbar.style.minWidth%20%3D%20off%20%3F%20%22%22%20%3A%20toolbar.getAttribute%28%22_width%22%29+%20%22px%22%3B%0A%09%0A%09setIcon%28%29%3B%0A%7D%0A%0Athis.onclick%20%3D%20function%28e%29%20%7B%20%0A%0A%09if%20%28e.button%20%3D%3D%201%29%20%7B%0A%09%0A%09%09setModeOver%28toolbar.hasAttribute%28%22_over%22%29%29%3B%0A%09%09setIcon%28%29%3B%0A%09%09return%3B%0A%09%7D%0A%09if%20%28e.button%20%21%3D%200%29%20return%3B%0A%09button.checked%20%3D%20%21button.checked%3B%0A%09toolbar.collapsed%20%3D%20%21button.checked%3B%0A%0A%09if%20%28button.checked%29%20%7B%0A%09%09browser.removeEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%09%09toolbar.setAttribute%28%22_checked%22%2C%20%22true%22%29%3B%0A%09%09var%20over%20%3D%20toolbar.getAttribute%28%22_over%22%29%3B%0A%09%09setModeOver%28true%29%3B%0A%09%09over%20%3F%20toolbar.setAttribute%28%22_over%22%2C%20over%29%20%3A%0A%09%09toolbar.removeAttribute%28%22_over%22%29%3B%0A%09%09setIcon%28%29%3B%0A%09%7D%0A%09else%20%7B%0A%09%09browser.addEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%09%09toolbar.removeAttribute%28%22_checked%22%29%3B%0A%09%09setModeOver%28%21toolbar.hasAttribute%28%22_over%22%29%29%3B%0A%09%7D%0A%09lock%28%29%3B%0A%7D%0Athis.ondblclick%20%3D%20function%28e%29%20%7B%20setModeOver%28toolbar.hasAttribute%28%22_over%22%29%29%3B%20%7D%0A%0Atoolbar.ondblclick%20%3D%20function%28e%29%20%7B%0A%0A%09if%20%28%20%20%20%20e.button%20%21%3D%202%20%7C%7C%0A%09%09e.target.nodeName%20%3D%3D%20%22toolbarbutton%22%20%7C%7C%0A%09%09e.target.nodeName%20%3D%3D%20%22toolbaritem%22%0A%09%29%20return%3B%0A%0A%09button.click%28%29%3B%0A%09setTimeout%28function%28%29%20%7B%20document.getElementById%28%22toolbar-context-menu%22%29.hidePopup%28%29%3B%20%7D%2C%2050%29%3B%0A%09setModeOver%28%21toolbar.hasAttribute%28%22_over%22%29%29%3B%0A%7D%0A%0Aif%20%28%21toolbar.hasAttribute%28%22_checked%22%29%29%20%7B%0A%09browser.addEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%7D%0Aelse%20%7B%20button.checked%20%3D%20true%3B%20lock%28%29%3B%20%7D%0A%0Aif%20%28toolbar.hasAttribute%28%22_over%22%29%29%20%7B%20setModeOver%28false%29%3B%20lock%28%29%3B%20%7D%0A%0AgNavToolbox.addEventListener%28%22beforecustomization%22%2C%20beforeCustomize%2C%20false%29%3B%0AgNavToolbox.addEventListener%28%22customizationchange%22%2C%20customizationChange%2C%20false%29%3B%0AgNavToolbox.addEventListener%28%22aftercustomization%22%2C%20afterCustomize%2C%20false%29%3B%0A%0Athis.onDestroy%20%3D%20function%28%29%20%7B%0A%0A%09browser.removeEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%09if%20%28%21toolbar.hasAttribute%28%22customizing%22%29%29%20removeListeners%28%29%3B%0A%09try%20%7B%20getAttr_pref%28%29%20%7D%20catch%28err%29%20%7B%20return%3B%20%7D%0A%09setAttr_pref%28%29%3B%0A%7D%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%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

Отсутствует

 

№501420-10-2012 14:34:58

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

Re: Custom Buttons

Dumby пишет

Ой, а зачем ? Один раз переключил и всё - запомнит навсегда.
Во всяком случае так задумано...

Как зачем? Что бы не было лишнего кода и ни кому не понравиться что дергается страница когда появляетса VT так что СКМ или двойной клик не нужен.
И пожалуйста убери состояние нажатости (checked) с кнопки когда она нажата, ведь и так видно что VT включено.

Отредактировано bunda1 (20-10-2012 14:42:34)

Отсутствует

 

№501520-10-2012 14:53:34

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

Re: Custom Buttons

А-а-а, теперь дошло, пойду пробовать.
-------
Ну вот. Надеюсь ничего не сломал :)

VT

Выделить код

Код:

custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3EVT%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAKP+AAIX/gAAoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4AAFf+AABUAAAAAAAAAAAAAAAAAAAAA/4AAJP+AAP//gAD//4AA//+AACQAAAAAAAAAAAAAAAAAAAAA/4AAEv+AAP//gAD//4AAEgAAAAAAAAAA/4AAIP+AAP//gAD//4AA//+AAP//gAD//4AAJgAAAAAAAAAAAAAAAP+AABH/gAD//4AA//+AABEAAAAAAAAAAP+AAP//gAD//4AA//+AADb/gAD//4AA//+AAP//gAAQAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AACAAAAAA/4AAIP+AAP//gAD//4AAEQAAAAAAAAAA/4AAD/+AAP//gAD//4AADwAAAAAAAAAA/4AA//+AAP//gAAMAAAAAP+AAAz/gAD//4AA//+AAA8AAAAAAAAAAP+AAA//gAD//4AA//+AAA8AAAAAAAAAAP+AAP//gAD//4AADwAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAAP/4AA//+AAP//gAAPAAAAAAAAAAD/gAD//4AA//+AAA8AAAAA/4AAD/+AAP//gAD//4AADAAAAAAAAAAA/4AACv+AAP//gAD//4AACgAAAAAAAAAA/4AA//+AAP//gAAPAAAAAP+AAA//gAD//4AA//+AAAv/gAAL/4AADP+AACH/gAD//4AA//+AACH/gAAK/4AAD/+AAP//gAD//4AAEQAAAAD/gAAR/4AA//+AAP//gAAm/4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AA//+AABIAAAAA/4AAEv+AAP//gAD//4AAJ/+AAP//gAD//4AA//+AAP//gAD//4AA//+AAP//gAD//4AAEf+AABIAAAAAAAAAAAAAAAD/gAAV/4AAEgAAAAD/gAAQ/4AAEf+AAA//gAAP/4AAD/+AAA//gAAP/4AADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//+sQe//rEHH56xBg8OsQQHDrEEAw6xBEMOsQRDDrEEQw6xBEMOsQRAArEEQAKxBEACsQTkArEH//6xB//+sQQ%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bvar%20button%20%3D%20this%3B%0A%0Aconst%20showDelay%20%3D%20555%3B%20//ms%0Aconst%20distanceShow%20%3D%202%3B%0Aconst%20distanceHide%20%3D%2064%3B%0Aconst%20toolbarId%20%3D%20%22vertical_toolbar%22%3B%0Aconst%20toolboxId%20%3D%20toolbarId%20+%20%22_toolbox%22%3B%0Aconst%20sep%20%3D%20%22%5Cu00A0%22%3B%0Aconst%20firstAttributes%20%3D%20%22id%20%25id%25%20class%20chromeclass-toolbar%20fullscreentoolbar%20true%20context%20toolbar-context-menu%20_width%2020%20customizable%20true%20flex%201%20iconize%20large%20mode%20icons%20orient%20vertical%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.replace%28/%20/g%2C%20sep%29.replace%28/%25id%25/%2C%20toolbarId%29%3B%0A//%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0Avar%20supportsString%20%3D%20Components.classes%5B%22@mozilla.org/supports-string%3B1%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.createInstance%28Components.interfaces.nsISupportsString%29%3B%0A%0Avar%20prefs%20%3D%20Components.classes%5B%22@mozilla.org/preferences-service%3B1%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20.getService%28Components.interfaces.nsIPrefService%29%0A%20%20%20%20%20%20%20%20%20%20%20%20.getBranch%28%22custombutton.verticaltoolbar.%22%29%3B%0Abutton.prefs%20%3D%20prefs%3B%0A%0Atry%20%20%20%20%20%20%20%20%7B%20getAttr_pref%28%29%20%7D%0Acatch%28err%29%20%7B%20setAttr_pref%28firstAttributes%29%20%7D%3B%0A%0Afunction%20getAttr_pref%28%29%20%7B%20return%20button.prefs.getComplexValue%28%22attributes%22%2C%20Components.interfaces.nsISupportsString%2C%20supportsString.data%29%3B%20%7D%0Afunction%20setAttr_pref%28a%29%20%7B%20var%20attrString%20%3D%20%22%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%21a%29%20%7B%20var%20attr%20%3D%20document.getElementById%28toolbarId%29.attributes%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20for%20%28var%20i%3D0%3B%20i%3Cattr.length%3B%20i++%29%20%7B%20attrString%20+%3D%20%28attr%5Bi%5D.name%20+%20sep%20+%20attr%5Bi%5D.value%20+%20sep%29%3B%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20else%20%7B%20attrString%20%3D%20a%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20supportsString.data%20%3D%20attrString%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20button.prefs.setComplexValue%28%22attributes%22%2C%20Components.interfaces.nsISupportsString%2C%20supportsString%29%3B%20%7D%0A//%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%09%0Avar%20browser%20%3D%20document.getElementById%28%22browser%22%29%3B%0Avar%20toolbar%20%3D%20document.getElementById%28toolbarId%29%3B%0Avar%20toolbox%20%3D%20document.getElementById%28toolboxId%29%3B%0A%0Aif%20%28%21toolbar%29%20%7B%0A%0A%09toolbox%20%3D%20document.createElement%28%22toolbox%22%29%3B%0A%09toolbox.id%20%3D%20toolboxId%3B%0A%09toolbox.palette%20%3D%20gNavToolbox.palette%3B%0A%09%0A%09toolbar%20%3D%20document.createElement%28%22toolbar%22%29%3B%0A%09toolbar.style.minWidth%20%3D%20%2220px%22%3B%0A%09%0A%09browser.insertBefore%28toolbox%2C%20browser.firstChild%29%3B%0A%09toolbox.appendChild%28toolbar%29%3B%0A%0A//-------------------------------------------------------------------------%0A//%20Thanks%20-%20http%3A//nanto.asablo.jp/blog/2007/04/22/1459018%0A%0A%09const%20style%20%3D%27%5C%0A%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%7B%5Cn%5C%0A%09%09-moz-appearance%3A%20none%3B%5Cn%5C%0A%09%09border-bottom%3A%200px%20none%3B%5Cn%5C%0A%09%09border-top%3A%200px%20none%3B%5Cn%5C%0A%09%09border-right%3A%201px%20solid%20rgb%28170%2C%20188%2C%20207%29%3B%5Cn%5C%0A%09%09background%3A%20none%20repeat%20scroll%200%25%200%25%20rgb%28207%2C%20219%2C%20236%29%3B%5Cn%5C%0A%7D%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20toolbarseparator%2C%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20%5Bid%5E%3D%22wrapper-separator%22%5D%20%7B%5Cn%5C%0A%09%09-moz-appearance%3A%20none%20%21important%3B%5Cn%5C%0A%09%09margin%3A%200.2em%202px%3B%5Cn%5C%0A%09%09border-bottom%3A%201px%20solid%20ThreeDHighlight%3B%5Cn%5C%0A%09%09border-top%3A%201px%20solid%20ThreeDShadow%3B%5Cn%5C%0A%09%09height%3A%202px%3B%5Cn%5C%0A%09%09border-left%3A%20none%3B%5Cn%5C%0A%09%09border-right%3A%20none%3B%5Cn%5C%0A%7D%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20toolbarspacer%2C%5Cn%5C%0A%09toolbar%5Borient%3D%22vertical%22%5D%20%3E%20%5Bid%5E%3D%22wrapper-spacer%22%5D%20%7B%20height%3A%2015px%3B%20%7D%27%0A%0A%09var%20sspi%20%3D%20document.createProcessingInstruction%28%27xml-stylesheet%27%2C%0A%09%09%20%20%27type%3D%22text/css%22%20href%3D%22data%3Atext/css%2C%27%20+%20encodeURI%28style%29%20+%20%27%22%27%29%3B%0A%09document.insertBefore%28sspi%2C%20document.documentElement%29%3B%0A%0A//------------------------------------------------------------------------------%0A%0A%09var%20attr%20%3D%20getAttr_pref%28%29.data.split%28sep%29%3B%0A%09for%20%28var%20i%3D0%3B%20i%3C%28attr.length-1%29%3B%20i+%3D2%29%20%7B%20toolbar.setAttribute%28attr%5Bi%5D%2C%20attr%5Bi+1%5D%29%3B%20%7D%0A%0A%09var%20currentSet%20%3D%20toolbar.getAttribute%28%22currentset%22%29.split%28%22%2C%22%29%3B%0A%09currentSet.forEach%28function%28id%29%7B%20toolbar.insertItem%28id%29%3B%20%7D%29%3B%0A%7D%0A//%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0Avar%20et%20%3D%20gNavToolbox.externalToolbars%3B%0Avar%20already%20%3D%20false%3B%0Afor%20%28var%20i%3D0%3B%20i%3Cet.length%3B%20i++%29%20%7B%20if%20%28et%5Bi%5D%20%3D%3D%20toolbar%29%20already%20%3D%20true%3B%20%7D%0Aif%20%28%21already%29%20et%5Bet.length%5D%20%3D%20toolbar%3B%0A%0Afunction%20lock%28%29%20%7B%0A%0A%09var%20f%20%3D%20button._checked%3B%0A%09var%20width%20%3D%20toolbar.getAttribute%28%22_width%22%29%3B%0A%09%0A%09toolbox.style.position%20%3D%20f%20%3F%20%22%22%20%3A%20%22fixed%22%3B%0A%09toolbox.style.height%20%3D%0A%09toolbar.style.height%20%3D%20f%20%3F%20%22%22%20%3A%20browser.boxObject.height%20+%20%22px%22%3B%0A%0A%09toolbar.style.maxWidth%20%3D%0A%09toolbar.style.minWidth%20%3D%0A%09toolbox.style.maxWidth%20%3D%0A%09toolbox.style.minWidth%20%3D%20width%20*%20%21toolbar.collapsed%20+%20%22px%22%3B%09%0A%7D%0Afunction%20beforeCustomize%28%29%20%7B%0A%0A%09toolbox.removeAttribute%28%22style%22%29%3B%0A%09toolbox.removeAttribute%28%22width%22%29%3B%0A%09toolbar.removeAttribute%28%22style%22%29%3B%0A%09toolbar.style.minWidth%20%3D%20%2220px%22%3B%0A%7D%0Afunction%20customizationChange%28%29%20%7B%0A%09window.setTimeout%28function%28%29%20%7B%0A%09%09toolbar.setAttribute%28%22_width%22%2C%20toolbar.boxObject.width%20+%204%29%3B%0A%09%7D%2C%20640%29%3B%0A%7D%0Afunction%20afterCustomize%28%29%20%7B%0A%0A%09setAttr_pref%28%29%3B%0A%09removeListeners%28%29%3B%0A%09lock%28%29%3B%0A%7D%0Avar%20distance%3B%0Afunction%20collapser%28e%29%20%7B%0A%0A%09distance%20%3D%20e.screenX%20-%20browser.boxObject.screenX%3B%0A%09if%20%28toolbar.waiting%29%20return%3B%0A%0A%09if%20%28%28distance%20%3C%3D%20distanceShow%29%20%26%26%20%28toolbar.collapsed%29%29%20%7B%0A%0A%09%09if%20%28showDelay%20%3C%201%29%20%7B%20toolbar.collapsed%20%3D%20false%3B%20lock%28%29%3B%20return%3B%20%7D%0A%0A%09%09toolbar.waiting%20%3D%20true%3B%0A%09%09window.setTimeout%28function%28%29%20%7B%0A%0A%09%09%09if%20%28distance%20%3E%3D%20distanceShow%29%20%7B%20toolbar.waiting%20%3D%20false%3B%20return%3B%20%7D%0A%09%09%09toolbar.collapsed%20%3D%20false%3B%0A%09%09%09lock%28%29%3B%0A%09%09%09toolbar.waiting%20%3D%20false%3B%0A%0A%09%09%7D%2C%20showDelay%29%3B%0A%09%7D%0A%09if%20%28%28distance%20%3E%3D%20distanceHide%29%20%26%26%20%28%21toolbar.collapsed%29%29%20%7B%0A%09%09toolbar.collapsed%20%3D%20true%3B%0A%09%09lock%28%29%3B%0A%09%7D%0A%7D%0Afunction%20removeListeners%28%29%20%7B%0A%0A%09gNavToolbox.removeEventListener%28%22beforecustomization%22%2C%20beforeCustomize%2C%20false%29%3B%0A%09gNavToolbox.removeEventListener%28%22customizationchange%22%2C%20customizationChange%2C%20false%29%3B%0A%09gNavToolbox.removeEventListener%28%22aftercustomization%22%2C%20afterCustomize%2C%20false%29%3B%0A%7D%0A%0Athis.onclick%20%3D%20function%28e%29%20%7B%20%0A%0A%09if%20%28e.button%20%21%3D%200%29%20return%3B%0A%09button._checked%20%3D%20%21button._checked%3B%0A%09toolbar.collapsed%20%3D%20%21button._checked%3B%0A%0A%09if%20%28button._checked%29%20%7B%0A%09%09browser.removeEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%09%09toolbar.setAttribute%28%22_checked%22%2C%20%22true%22%29%3B%0A%09%7D%0A%09else%20%7B%0A%09%09browser.addEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%09%09toolbar.removeAttribute%28%22_checked%22%29%3B%0A%09%7D%0A%09lock%28%29%3B%0A%7D%0A%0Atoolbar.ondblclick%20%3D%20function%28e%29%20%7B%0A%0A%09if%20%28%20%20%20%20e.button%20%21%3D%202%20%7C%7C%0A%09%09e.target.nodeName%20%3D%3D%20%22toolbarbutton%22%20%7C%7C%0A%09%09e.target.nodeName%20%3D%3D%20%22toolbaritem%22%0A%09%29%20return%3B%0A%0A%09button.click%28%29%3B%0A%09setTimeout%28function%28%29%20%7B%20document.getElementById%28%22toolbar-context-menu%22%29.hidePopup%28%29%3B%20%7D%2C%2050%29%3B%0A%7D%0A//%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0Aif%20%28%21toolbar.hasAttribute%28%22_checked%22%29%29%20%7B%0A%09browser.addEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%7D%0Aelse%20button._checked%20%3D%20true%3B%0A%0Alock%28%29%3B%0A%0AgNavToolbox.addEventListener%28%22beforecustomization%22%2C%20beforeCustomize%2C%20false%29%3B%0AgNavToolbox.addEventListener%28%22customizationchange%22%2C%20customizationChange%2C%20false%29%3B%0AgNavToolbox.addEventListener%28%22aftercustomization%22%2C%20afterCustomize%2C%20false%29%3B%0A%0A//%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A%0Athis.onDestroy%20%3D%20function%28%29%20%7B%0A%0A%09browser.removeEventListener%28%22mousemove%22%2C%20collapser%2C%20false%29%3B%0A%09if%20%28%21toolbar.hasAttribute%28%22customizing%22%29%29%20removeListeners%28%29%3B%0A%09try%20%7B%20getAttr_pref%28%29%20%7D%20catch%28err%29%20%7B%20return%3B%20%7D%0A%09setAttr_pref%28%29%3B%0A%7D%0A%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%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

Отредактировано Dumby (20-10-2012 17:18:19)

Отсутствует

 

№501620-10-2012 20:56:16

rsuan
Участник
 
Группа: Members
Зарегистрирован: 30-12-2010
Сообщений: 116
UA: Firefox 15.0

Re: Custom Buttons

Есть ли готовая кнопка (или может кто изготовит) вместо кнопки создания новой вкладки "+", чтобы по умолчанию создавалась вкладка там, где определено браузером (в Tab Mix Plus), а с зажатой клавишей Ctrl, Shift или Alt наоборот. Например по умолчанию справа от текущей, а с зажатой клавишей - последней справа.
И как бы ещё создать клавиатурное сочетание для этого действия.

Отсутствует

 

№501720-10-2012 22:27:45

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

Re: Custom Buttons

Dumby пишет

Ну вот. Надеюсь ничего не сломал :)

Спасыбо Dumby, все работает.

Отсутствует

 

№501821-10-2012 00:07:37

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

Re: Custom Buttons

rsuan пишет

а с зажатой клавишей - последней справа.

Это не ответ, это - вопрос:

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

Выделить код

Код:

this.onclick = function(e) {

    if (e.button != 0) return;
    var keys = e.ctrlKey || e.shiftKey || e.altKey;
    BrowserOpenTab();
    if (keys) gBrowser.moveTabToEnd();
}

Отредактировано Dumby (21-10-2012 04:32:55)

Отсутствует

 

№501921-10-2012 14:44:34

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

Re: Custom Buttons

Ребята, по моему вопросу есть какие-нибудь мысли?
Если нет, то как хотя бы определить, что закрывается последняя вкладка?

Отсутствует

 

№502021-10-2012 14:52:09

liteTua
Участник
 
Группа: Members
Зарегистрирован: 02-10-2012
Сообщений: 73
UA: Firefox 16.0

Re: Custom Buttons

Есть какая-нибудь статья "Уроки кнопкописания", как например "Уроки стилеписания"?

Отредактировано liteTua (21-10-2012 14:52:24)

Отсутствует

 

№502121-10-2012 15:13:13

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

Re: Custom Buttons

Отсутствует

 

№502221-10-2012 15:58:56

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

Re: Custom Buttons

google пишет

Подскажите что написать в userChrome.css, чтобы по щелчку колесом по папке с закладками на bookmarks toolbar ничего не происходило (по дефолту открываются все закладки из этой папки)?

Через userChrome.css не возможно сделать.
А для Custom Buttons можно так:

Выделить код

Код:

function stopOpenBookFold(aEvent) { 
   
    var target = aEvent.originalTarget;
        
    // стоп, если не средний клик и папка закладок на панели закладок ....
    if ( target.localName !== "toolbarbutton" && aEvent.button !== 1) return;
   
         aEvent.preventDefault();
         aEvent.stopPropagation();    
}
document.getElementById("PlacesToolbar").addEventListener("mouseup", stopOpenBookFold, false);
this.onDestroy = function() {
    document.getElementById("PlacesToolbar").removeEventListener("mouseup", stopOpenBookFold,  false);
};

Добавлено 21-10-2012 16:26:38

Inko7 пишет

как хотя бы определить, что закрывается последняя вкладка?

Выделить код

Код:

gBrowser.tabContainer.addEventListener("TabClose", tabCloseHandler, false);
function tabCloseHandler(event) {
    var tab = event.target;
    if (!tab.previousSibling) custombuttons.alertSlide("alert", "закрывается последняя вкладка" );
};

Отредактировано bunda1 (21-10-2012 16:26:38)

Отсутствует

 

№502321-10-2012 16:33:00

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

Re: Custom Buttons

Inko7 пишет

Если открыто несколько групп вкладок (панорамы), то закрытие последней вкладки в одной из групп приводит к открытию панели групп вкладок.

У меня переключается на изначальную группу.

Отсутствует

 

№502421-10-2012 16:46:03

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

Re: Custom Buttons

bunda1 пишет

У меня переключается на изначальную группу.

А если групп три или больше? Тогда на предыдущую?
У меня же открывается менеджер групп: сама группа не закрывается, а просто висит пустая без вкладок. Может это Tab Mix так делает...
Нужно по действию что-то типа такого, но только для одной последней вкладки:

Выделить код

Код:

function midclick(event){
if (event.button==1){
    ( function() {
        var br = getBrowser();
        var cTab = br.mCurrentTab;
        br.removeAllTabsBut(cTab);
        br.addTab("about:blank");
        br.removeTab(cTab);
        setTimeout("gURLBar.focus();", 0);
            })();
                }           
};

Т.е. содержимое этой функции можно поместить в твой код вместо алерта???

Отсутствует

 

№502521-10-2012 17:00:43

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

Re: Custom Buttons

Inko7 пишет

А если групп три или больше? Тогда на предыдущую?

Да на предыдущую.

Добавлено 21-10-2012 17:08:46

Выделить код

Код:

gBrowser.tabContainer.addEventListener("TabClose", tabCloseHandler, false);
function tabCloseHandler(event) {
    var tab = event.target;
    if ( !tab.previousSibling ) {
         gBrowser.removeAllTabsBut(gBrowser.addTab("about:blank"));
         setTimeout("gURLBar.focus()", 0);
         }
};

Отредактировано bunda1 (21-10-2012 17:09:06)

Отсутствует

 

Board footer

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