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

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№907621-11-2015 19:53:56

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

Re: Custom Buttons

selevo пишет

хочу кнопку которая показывает список расширений  FF
в виде  html или текста
чтоб был статус понятен вкыл выкл

Выделить код

Код:

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%3E%u0421%u043F%u0438%u0441%u043E%u043A%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u0439%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsSAAALEgHS3X78AAAFHUlEQVQ4jX2UW4id1RmGv2+t9e9/H/5/9mF2Zh8m455tdMjJatpqQERIUUOhiNAWCqa1hwsvWoQ24E17a5EqlOKF0BPeKBLBeKC9EqoSo8SW0kQbO8l2MpnzzD7O/s9rre/rRWpvCn0v3xeemwdeZGYAACAitGAREQEBJQA4DGyZmRAAAYARUTIgIrBmZssAfGthECBBCgmK4Rbw3PVz/Nu//w7afot917uj5tfONivNOgqKjckkANpYJ972cOvTaTx9IaJsm4idct6z42xMD7Tux5/c/VNWDIzMzNcG19oXb3xwe7PctErKZiGXKxxbPP61Tmu+YoWmIErE8tr1zZXNleuZMXdFWTIHTMtVb0bvBLtYQMV8D4ESICCjTHh577tnTj3+y/lyMwqSMARJKQIKrQ2nlBIyiGZ1zinP+A/VCrUnr6+t3NwZbHyr6lVyIMRJP++/BwD/UgyMQkgGgb3ljavnx4PtP6UmXWw25n88W6nO9OOxidNIEhEbZQ+AMPXQjrla9haU035eOuJQvlroZgDnLNEPFQGRQARme3l5ezlwZg/9JdLx0r4Ov7HkLM1O06kN4khIRLRoWesMhmbErnRz+aL7QMZJSQFIS9wmAKkkSLRkQYJ6ZLHVebpUql5M9s1MYKLDe9MROw6gI5VFQhxMxnoUDuhgrV0Kg3R7befq8wfK9Tu04Hs7VfO2AExvSQGGUEdlRFxwCu63C9YT0XTAqU54rtpQVlqMwhSjvSRIEp1EWVqaBNNJp3jojSQJbvR2e/5X/ROhEsgKAYGIoB8OKaI4TWwYFQp5dax+xCMgDLIADGeY6BQ8zy0WSgckSgBEIU+0v+L9bfvSsUgnX56Y6ccM8JkCAJYo4WjtyJUtu/r7Gvofrk5WDu7a3afm6gfae8FQR8lUMTJq1+Q0aSVJgSpx69L44jNxIep0l1p3JkSvamueVADAQgpoePU1dzd/Yc6ZO78S9w5f3fnsjHRkO8oimkQBCYnCkIE0TYUQDETkfbK7e7rsF52y64lROF4iJkcxMFoiuNy/fN+F/rtPLZv6Y4N4WJKJ0w3XY1Ayh56tkACEUTDOwnRC7pwqsZFbJysnnttI1hfWR4OTj971ndfyKv8fKUww3B82huPhcSenjloBQoECmADXZ+sO5QzHUYr9yShjxjQZ61IRCqNnHn729U8GVzbeufnebT84/r0tiZIUAAAAg4yVbiStrBU2NCBjvlksgCUIaJ8NWcgg5bwvC3lRl9YA6Iicf6xf8Zb3lr/0ea938tX8KxeOnD7+qUJAECh5sdb5Z2e789KsqLyzPl5fGAXDn9VmK/OTZGoSnSACoBXWMVo7OZEDxqz9q/effS7FpBvE0e1uzz33CzI/UghIQgjoNrq9zt7im91K589Bsn/4wxuXzuSLx+YRmUbTkYMohMopynRqI4gVIJQmZnLa90qyXWxg2a12GFgqZhaWCS5d++upt6689XS1MtPTWepU65Wjqzurg/1w/NGs39hBZt7a2Wy5RfeeQinfTgKz3vU7P18bbNy9NRh+/f4HHzzvKidTjMzAjPt24o/0cF4aOOgoZVylnNXNjVHXv+21P37zD+eZCJ54+fuP3QzWO9JR7UKuOP7Noy9eWJusvvLR6se/PnvqbF+hw/jFY+9F/cow7tdzIscMTJYtGDLOjDMzbvmtPgPD5nSzHuiwIlGyQqUXygtbjnRSwwYU3vL7X+D/yxevjoD/0yMwEgAKEAQA8G+QDuH4X0FBaQAAAABJRU5ErkJggg%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3Etry%20%7B%20Cu.import%28%22resource%3A//custombuttons-modules/addons4.js%22%2C%20%7B%7D%29%3B%20%7D%20catch%28ex%29%20%7B%7D%0A%0Afunction%20gatherInfo%28type%29%20%7B%0A%0A%20%20%20%20var%20tmp%20%3D%20%5B%5D%2C%20map%20%3D%20%7B%7D%2C%20sort%20%3D%20%5B%5D%3B%0A%20%20%20%20items.forEach%28function%28item%29%20%7B%0A%20%20%20%20%20%20%20%20if%20%28item.type%20%21%3D%20type%29%20return%3B%0A%0A%20%20%20%20%20%20%20%20var%20name%20%3D%20item.name%20%3F%20item.name.toUpperCase%28%29%20%3A%20%22UNNAMED%22%3B%0A%20%20%20%20%20%20%20%20name%20+%3D%20item.id%0A%0A%20%20%20%20%20%20%20%20tmp.push%28name%29%3B%0A%20%20%20%20%20%20%20%20map%5Bname%5D%20%3D%20item%3B%0A%20%20%20%20%7D%29%3B%0A%20%20%20%20tmp.sort%28%29%3B%0A%20%20%20%20tmp.forEach%28function%28name%29%20%7B%20sort.push%28map%5Bname%5D%29%20%7D%29%3B%0A%20%20%20%20%0A%20%20%20%20var%20list%20%3D%20%22%22%2C%20enabled%20%3D%200%2C%20disabled%20%3D%200%3B%0A%20%20%20%20sort.forEach%28function%28item%29%20%7B%0A%20%20%20%20%0A%20%20%20%20%20%20%20%20list%20+%3D%20%28item.name%20%7C%7C%20%22unnamed%22%29%20+%20%22%20%22%20+%20%28item.version%20%7C%7C%20%22%22%29%3B%0A%0A%20%20%20%20%20%20%20%20if%20%28item.type%20%21%3D%20%22custombuttons%22%20%26amp%3B%26amp%3B%20%28item.userDisabled%20%7C%7C%20item.appDisabled%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20list%20+%3D%20%22%20%5B%20%u0432%u044B%u043A%u043B%u044E%u0447%u0435%u043D%20%5D%5Cn%22%3B%20disabled++%3B%20return%3B%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20else%20if%20%28item.type%20%3D%3D%20%22custombuttons%22%29%20%7B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20str%20%3D%20item.id%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20id%20%3D%20str.substring%28str.lastIndexOf%28%22custombuttons-button%22%29%2C%20str.length%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20var%20button%20%3D%20document.getElementById%28id%29%3B%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28%21button%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20list%20+%3D%20%22%20%5B%20%u041D%u0415%20%u0412%u042B%u0422%u0410%u0429%u0415%u041D%u0410%20%5D%5Cn%22%3B%20disabled++%3B%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28button.hasAttribute%28%22initializeerror%22%29%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20list%20+%3D%20%22%20%5B%20%u041E%u0428%u0418%u0411%u041A%u0410%20%u0418%u041D%u0418%u0426%u0418%u0410%u041B%u0418%u0417%u0410%u0426%u0418%u0418%20%5D%5Cn%22%3B%20disabled++%3B%20return%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20enabled++%3B%20list%20+%3D%20%22%5Cn%22%3B%0A%20%20%20%20%7D%29%3B%0A%20%20%20%20return%20%5Benabled%20+%20disabled%2C%20enabled%2C%20disabled%2C%20list%5D%3B%0A%7D%0Avar%20items%20%3D%20%5B%5D%3B%0Afunction%20extensionsCallback%28extensions%29%20%7B%0A%20%20%20%20var%20list%20%3D%20%22%22%3B%0A%20%20%20%20items%20%3D%20extensions%3B%0A%20%20%20%20%0A%20%20%20%20var%20info%20%3D%20Cc%5B%22@mozilla.org/xre/app-info%3B1%22%5D.getService%28Ci.nsIXULAppInfo%29%3B%0A%20%20%20%20%0A%20%20%20%20list%20+%3D%20info.vendor%20+%20%22%20%22%20+%20info.name%20+%20%22%20%22%20+%20info.version%20+%20%22%20%28build%20%22%20+%20info.appBuildID%20+%20%22%29%5Cn%22%3B%0A%20%20%20%20list%20+%3D%20%22User%20Agent%3A%20%22%20+%20navigator.userAgent%20+%20%22%5Cn%5Cn%22%3B%0A%0A%20%20%20%20for%28var%20type%20in%20AddonManager.addonTypes%29%20%7B%0A%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20var%20name%3B%0A%20%20%20%20%20%20%20%20var%20addonType%20%3D%20AddonManager.addonTypes%5Btype%5D%3B%0A%20%20%20%20%20%20%20%20if%20%28addonType.name%29%20name%20%3D%20addonType.name%3B%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20else%20if%20%28addonType.id%20%3D%3D%20%22custombuttons%22%29%20name%20%3D%20%22%u041A%u043D%u043E%u043F%u043A%u0438%22%3B%0A%0A%20%20%20%20%20%20%20%20list%20+%3D%20%22***%20%22%20+%20name%3B%0A%20%20%20%20%20%20%20%20var%20ext%20%3D%20gatherInfo%28addonType.id%29%3B%0A%20%20%20%20%20%20%20%20list%20+%3D%20%22%20%28%20%u0412%u043A%u043B%u044E%u0447%u0435%u043D%u043E%3A%20%22%20+%20ext%5B1%5D%20+%20%22%2C%20%u041E%u0442%u043A%u043B%u044E%u0447%u0435%u043D%u043E%3A%20%22%20+%20ext%5B2%5D%20+%20%22%2C%20%u0412%u0441%u0435%u0433%u043E%3A%20%22%20+%20ext%5B0%5D%20+%20%22%20%29%5Cn%22%20+%20ext%5B3%5D%20+%20%22%5Cn%22%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20var%20dialog%20%3D%20%27%5C%0A%20%20%20%20%20%20%20%20%26lt%3B%3Fxml-stylesheet%20href%3D%22chrome%3A//global/skin/%22%3F%26gt%3B%5Cn%5C%0A%20%20%20%20%20%20%20%20%26lt%3Bdialog%20xmlns%3D%22http%3A//www.mozilla.org/keymaster/gatekeeper/there.is.only.xul%22%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20xmlns%3Ahtml%3D%22http%3A//www.w3.org/1999/xhtml%22%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20id%3D%22cbbExtensionsLister%22%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20persist%3D%22width%20height%20screenX%20screenY%22%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20title%3D%22%u0421%u043F%u0438%u0441%u043E%u043A%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u0439%22%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20width%3D%22640%22%20height%3D%22480%22%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20buttons%3D%22accept%2Cextra1%22%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20buttonlabelextra1%3D%22%u041A%u043E%u043F%u0438%u0440%u043E%u0432%u0430%u0442%u044C%20%u0432%u0441%u0435%u2026%22%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20onload%3D%22init%28%29%22%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20ondialogextra1%3D%22copy%28%29%22%26gt%3B%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3Bscript%20type%3D%22application/x-javascript%22%26gt%3B%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3B%21%5BCDATA%5B%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20init%20%28%29%20%7B%7D%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20function%20copy%20%28%29%20%7B%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20var%20tb%20%3D%20document.getElementById%28%22addonslist%22%29%3B%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20window.arguments%5B0%5D.write%28%28opener.navigator.platform.indexOf%28%22Win%22%29%20%21%3D%20-1%29%20%3F%20tb.value.replace%28/%5C%5Cn/g%2C%20%22%5C%5Cr%5C%5Cn%22%29%20%3A%20tb.value%29%3B%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20tb.focus%20%28%29%3B%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%5D%5D%26gt%3B%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3B/script%26gt%3B%5Cn%5C%0A%20%20%20%20%20%20%20%20%20%20%20%20%26lt%3Btextbox%20id%3D%22addonslist%22%20flex%3D%221%22%20multiline%3D%22true%22%20/%26gt%3B%5Cn%5C%0A%20%20%20%20%26lt%3B/dialog%26gt%3B%27%3B%0A%20%20%20%20dialog%20%3D%20%22data%3Aapplication/vnd.mozilla.xul+xml%2C%22%20+%20encodeURIComponent%28dialog%29%3B%0A//%20%20%20%20var%20win%20%3D%20window.openDialog%20%28dialog%2C%20%22%22%2C%20%22chrome%2Cdependent%2Cdialog%3Dno%2Cminimizable%22%2C%20custombuttonsUtils.gClipboard%29%3B%0A%20%20%20%20var%20win%20%3D%20window.openDialog%20%28dialog%2C%20%22%22%2C%20%22chrome%2Cdependent%2Cdialog%3Dno%22%2C%20custombuttonsUtils.gClipboard%29%3B%0A%0A%20%20%20%20addEventListener%28%22load%22%2C%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20var%20doc%20%3D%20win.document%3B%0A%20%20%20%20%20%20%20%20var%20textbox%20%3D%20doc.querySelector%28%22textbox%22%29%3B%0A%20%20%20%20%20%20%20%20textbox.value%20%3D%20list%3B%0A%20%20%20%20%20%20%20%20textbox.inputField.selectionStart%20%3D%0A%20%20%20%20%20%20%20%20textbox.inputField.selectionEnd%20%3D%200%3B%0A%20%20%20%20%7D%2C%20true%2C%20win%29%3B%0A%7D%0AAddonManager.getAllAddons%28extensionsCallback%29%3B%0A%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

Отсутствует

 

№907721-11-2015 21:10:54

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

Re: Custom Buttons

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

Отредактировано Inko7 (21-11-2015 21:11:52)

Отсутствует

 

№907822-11-2015 16:45:40

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

Re: Custom Buttons

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

Отсутствует

 

№907922-11-2015 17:10:57

lokiju
Участник
 
Группа: Members
Зарегистрирован: 30-01-2012
Сообщений: 208
UA: Firefox 42.0

Re: Custom Buttons

bunda1,  может http://pastebin.com, https://github.com ?

Отсутствует

 

№908022-11-2015 19:50:22

jars
Забанен
 
Группа: Members
Зарегистрирован: 28-07-2015
Сообщений: 235
UA: Palemoon 25.0

Re: Custom Buttons

https://gist.github.com/

Отсутствует

 

№908122-11-2015 20:06:15

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

Re: Custom Buttons

Спасибо.

Отсутствует

 

№908223-11-2015 13:07:52

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

Re: Custom Buttons

Inko7 пишет

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

Поверка адреса на существующую закладку с таким же адресом:

Выделить код

Код:

var itemId = PlacesUtils.getMostRecentBookmarkForURI( gBrowser.currentURI );
alert( itemId !== -1 );

получаем массив с id всех закладок с текущем адресом:

Выделить код

Код:

var bmkIds = PlacesUtils.bookmarks.getBookmarkIdsForURI( gBrowser.currentURI );
alert( bmkIds )

запускаем цикл который перебирает массив id закладок и создаёт массив с названиями соответствущих папок закладок:

Выделить код

Код:

for ( var folderList = [], i = 0; i < bmkIds.length; i++ ) {
      var folderId = PlacesUtils.bookmarks.getFolderIdForItem( bmkIds[i] );
      var folder = PlacesUtils.getFolderContents( folderId ).root;

      folderList.push( folder.title ); 
};
alert( folderList.join("\n") );

Отредактировано bunda1 (23-11-2015 13:10:24)

Отсутствует

 

№908323-11-2015 14:31:13

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

Re: Custom Buttons

bunda1
код отдает имя только последней папки, а хотелось бы, чтоб был полный путь
например:
"панель закладок\работа\сервис\учет"
"закладки\новости\мир"

Отсутствует

 

№908423-11-2015 16:30:03

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

Re: Custom Buttons

Inko7 пишет

например:
"панель закладок\работа\сервис\учет"

Вариант

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

Выделить код

Код:

var {bookmarks, placesRootId, tagsFolderId} = PlacesUtils, result = [];
for(var id of BookmarkingUI._itemIds) {
    var arr = [];
    while((id = bookmarks.getFolderIdForItem(id)) != placesRootId) {
        if (id == tagsFolderId) { arr = []; break; }
        arr.unshift(bookmarks.getItemTitle(id) || "(без заголовка)");
    }
    arr.length && result.push(arr.join("\\"));
}
alert(result.join("\n\n"));

Отредактировано Dumby (23-11-2015 16:30:37)

Отсутствует

 

№908523-11-2015 18:42:10

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

Re: Custom Buttons

Dumby
вроде работает :)

Добавлено 23-11-2015 18:52:09
осталось только выяснить, какой id у звёздочки...
или как на нее EventListener повесить?

скрытый текст
caec9fbef1ca.jpg

Отредактировано Inko7 (23-11-2015 18:52:09)

Отсутствует

 

№908623-11-2015 22:11:18

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 36.0
Веб-сайт

Re: Custom Buttons

Inko7 пишет

Dumby
вроде работает :)

Добавлено 23-11-2015 18:52:09
осталось только выяснить, какой id у звёздочки...
или как на нее EventListener повесить?

star-button


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№908723-11-2015 22:37:17

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

Re: Custom Buttons

Inko7 пишет

осталось только выяснить, какой id у звёздочки...

Там нет id. Вот так вроде:

Выделить код

Код:

document.getAnonymousElementByAttribute(document.getElementById('bookmarks-menu-button'), "anonid", "button");

Добавлено 23-11-2015 22:37:48

difabor пишет

star-button

Нет на FF42 по другому.

Отредактировано bunda1 (23-11-2015 22:38:04)

Отсутствует

 

№908824-11-2015 09:54:20

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

Re: Custom Buttons

bunda1, Dumby
спасибо, всё получилось! :rock:

Отсутствует

 

№908924-11-2015 10:57:00

jars
Забанен
 
Группа: Members
Зарегистрирован: 28-07-2015
Сообщений: 235
UA: Palemoon 25.0

Re: Custom Buttons

Туплю. Не въеду - как можно(ли) сделать индикацию нажатия на кнопку если заданы действия для ПКМ и СКМ. Что бы был "эффект нажатия" как и при ЛКМ :|
вот такая кнопка

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

Выделить код

Код:

/* Initialization code */
 this.onclick = function(e) {
     if ( e.button == 0 ) reloadUserChromeCSS();
     if ( e.button == 1 ) gShowPopup(this);
     if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey ) {
             e.preventDefault();
             reloadUserContentCSS();
             }
   };

(function(){
.............. // а дальше идет ф-ция в которой действия описаны .........
})();


как ?

Отредактировано jars (24-11-2015 10:58:01)

Отсутствует

 

№909024-11-2015 11:20:26

lolipop
Участник
 
Группа: Members
Зарегистрирован: 03-07-2015
Сообщений: 126
UA: Firefox 42.0

Re: Custom Buttons

Нужен пример кода кнопки который берёт значение css стиля элемента и устанавливает какому-то элементу css стиль.
Элементы из

Выделить код

Код:

@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);

Пример нужен с инициализацией и прочим служебным кодом.

Отредактировано lolipop (24-11-2015 11:22:20)

Отсутствует

 

№909124-11-2015 11:22:54

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

Re: Custom Buttons

jars пишет

Туплю. Не въеду - как можно(ли) сделать индикацию нажатия на кнопку если заданы действия для ПКМ и СКМ. Что бы был "эффект нажатия" как и при ЛКМ :|
вот такая кнопка

Может поможет self.checked = true;

Отсутствует

 

№909224-11-2015 12:06:31

jars
Забанен
 
Группа: Members
Зарегистрирован: 28-07-2015
Сообщений: 235
UA: Palemoon 25.0

Re: Custom Buttons

bunda1 пишет

Может поможет self.checked = true;

это да, это когда нужно показать что кнопка нажата, что кнопка работает. Тогда да. ВКЛ/ВЫКЛ кнопка.
А хотелось бы просто "клик", как по любой кнопке при ЛКМ - нажатие-отжатие. Пробовал self.clicked = true;self.pressed = true; :lol:  не оно.
lolipop
Здесь на форуме кто-то из гуру делал давно уже, стили в Help клади с указанием @namespace:

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

Выделить код

Код:

/*Код*/
// Стили ложить во вкладку Help
  this.toggleStyle();
Выделить код

Код:

/*Initialization*/
// Применить отменить доп.стили для сайтов или бравзера
this.toggleStyle = function(enable) {
    var cssURI = makeURI("data:text/css," + encodeURIComponent(this.Help));
    var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"]
        .getService(Components.interfaces.nsIStyleSheetService);

    this.toggleStyle = function(enable) {
        if(enable == undefined)
            enable = !this.checked;
        this.checked = enable;
        document.persist(this.id, "checked");
        var has = sss.sheetRegistered(cssURI, sss.AGENT_SHEET);
        
        if(enable && !has){
            sss.loadAndRegisterSheet(cssURI, sss.AGENT_SHEET);
           this.image = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAB70lEQVR42qWTPU/bQBjHnwwFX86BVqRBJKoKAvoFmO2RDPaIl0rxELkSQ93JlfgISPVUMyDVyuBILO5oD2GMZ74ALwJUJQg3qIXkcoYOrXOmltuIiKp/+T/c49Pvnpe7HPyncn8HWq0Wruzvb7/a3dWeEMKNYj8wjg43N+3O+vpWtVolDwI8zxMkWW5POtH3PFGW5WAM4LqusKEo7cek/dl1RUVRghTgOA6uqeoguykqFOA29kjT/T5wsbNqOg6vqiphgHa9bgmNxtvfP78tLMD3chno7Cxbo+treNrtwrOLixQQ1Os7YqOhM0CEEJ2mlDWM8jx0V1fhqlKB4cwM25y/uYG5TgfKR0eABkmitwhFHKWIAX6yL9HV/Dx0lpfha5xBFvA8zqBycgJzl5fZCeTGAL1SCb4sLUEYl0Hue4Dj+ktx+i9OT6EYhuOAIcdRFEWsBJLPw/niIoRxJv17QGEEiE9+eXYGeDhkMcpxUT6KkhJcSbI2fD9tYlgsMvcxTgCEQKnXY05HKUk7iu8nTTQMA38wzT/GOECIeSSeUuas3hsGb5omSS+SruvCR8t61EV6p+uiZVnB2FXWNE34ZNsTIW80TbRtO3jwMdVqNSwcH2+/PjjQ8N1d0tipqWhvbc0OVla2ms0mmfga/1W/AJGwwhGE1upoAAAAAElFTkSuQmCC";
           }        
        else if(!enable && has){
            sss.unregisterSheet(cssURI, sss.AGENT_SHEET);
           this.image = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABDUlEQVQ4y62Tv2rCcBCAvzvc8hY+QLcsgYCbS6CTo+IQ6BB8ka6SLUPR0dXFTQhkydYH6FsICZG7LlbairaxvfHg992/7wd/DPme2O12gYhk7h4B4Sldi0jl7vl4PD5cBWy329jMXoDhlYJvqjpPkqS8AGw2mxjYA/pD1waMJpNJeQasVqtAVV9vVL7oxMweZrPZYQBwPB4zdx/22N1QRDLgeQDQtm3k7v22LxIBDACapgnvuGB4BrRte7cHH4AaeOz5tv48QiUivQDuXp0BXdflZvbU54yqmn8RabFYxGb2K5FUdbRcLssLldM0jYGbKgPzoijKq59pOp0GQAZEIhKe5q2BCsjX6/WB/4x3hklnbSvl1ocAAAAASUVORK5CYII=";
           }
    };

    this.toggleStyle(enable);
 };

 if(this.checked) this.toggleStyle(true);

 this.onclick = function(e) {
     if ( e.button == 1 ) custombuttons.editButton(this);             // gShowPopup(this);
  };

Отредактировано jars (24-11-2015 12:09:44)

Отсутствует

 

№909324-11-2015 12:32:36

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

Re: Custom Buttons

jars

Выделить код

Код:

this.onmousedown =()=> { self.checked = true; setTimeout(()=> self.checked = false, 150) };

Отсутствует

 

№909424-11-2015 13:27:50

jars
Забанен
 
Группа: Members
Зарегистрирован: 28-07-2015
Сообщений: 235
UA: Palemoon 25.0

Re: Custom Buttons

.ля, вот я валянок. Точняк, гений блин :P

Отсутствует

 

№909524-11-2015 16:22:45

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 36.0
Веб-сайт

Re: Custom Buttons

Inko7 пишет

bunda1, Dumbyспасибо, всё получилось!

Inko7, Вы бы не смогли код кнопки опубликовать?
Спасибо


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№909624-11-2015 16:39:36

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

Re: Custom Buttons

lolipop пишет

Нужен пример кода кнопки который берёт значение css стиля элемента и устанавливает какому-то элементу css стиль.
Элементы из

Выделить код

Код:

@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);

Пример нужен с инициализацией и прочим служебным кодом.

Стили, getComputedStyle

Отсутствует

 

№909724-11-2015 16:50:34

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

Re: Custom Buttons

difabor

пока такой вариант

Выделить код

Код:

/*Initialization Code*/

// ПОКАЗАТЬ АДРЕС СУЩЕСТВУЮЩЕЙ ЗАКЛАДКИ ПРИ НАВЕДЕНИИ НА ЗВЕЗДОЧКУ

var starbutt = document.getAnonymousElementByAttribute(document.getElementById('bookmarks-menu-button'), "anonid", "button");

starbutt.onmouseover = function() {
    var {bookmarks, placesRootId, tagsFolderId} = PlacesUtils, result = [];
    for(var id of BookmarkingUI._itemIds) {
    var arr = [];
    while((id = bookmarks.getFolderIdForItem(id)) != placesRootId) {
        if (id == tagsFolderId) { arr = []; break; }
        arr.unshift(bookmarks.getItemTitle(id) || "(без заголовка)");
        }
    arr.length && result.push(arr.join("\\"));
    }

    if (result.join()) { var rezz = result.join("\n");
       starbutt.tooltipText = "Адрес закладки:" + "\n"+rezz;
       }
};

Отсутствует

 

№909824-11-2015 17:48:31

difabor
Участник
 
Группа: Members
Зарегистрирован: 21-09-2013
Сообщений: 539
UA: Firefox 36.0
Веб-сайт

Re: Custom Buttons

Inko7 пишет

difabor

пока такой вариант

Выделить код

Код:

/*Initialization Code*/

// ПОКАЗАТЬ АДРЕС СУЩЕСТВУЮЩЕЙ ЗАКЛАДКИ ПРИ НАВЕДЕНИИ НА ЗВЕЗДОЧКУ

var starbutt = document.getAnonymousElementByAttribute(document.getElementById('bookmarks-menu-button'), "anonid", "button");

starbutt.onmouseover = function() {
    var {bookmarks, placesRootId, tagsFolderId} = PlacesUtils, result = [];
    for(var id of BookmarkingUI._itemIds) {
    var arr = [];
    while((id = bookmarks.getFolderIdForItem(id)) != placesRootId) {
        if (id == tagsFolderId) { arr = []; break; }
        arr.unshift(bookmarks.getItemTitle(id) || "(без заголовка)");
        }
    arr.length && result.push(arr.join("\\"));
    }

    if (result.join()) { var rezz = result.join("\n");
       starbutt.tooltipText = "Адрес закладки:" + "\n"+rezz;
       }
};

Спасибо!


Хорошо, когда у человека есть выбор, но плохо, когда он перед ним стоит ©

Отсутствует

 

№909925-11-2015 08:33:15

>ORG@niZM<
Участник
 
Группа: Members
Зарегистрирован: 20-08-2013
Сообщений: 66
UA: Firefox 38.0

Re: Custom Buttons

Inko7 пишет

difabor

пока такой вариант

Выделить код

Код:

/*Initialization Code*/

// ПОКАЗАТЬ АДРЕС СУЩЕСТВУЮЩЕЙ ЗАКЛАДКИ ПРИ НАВЕДЕНИИ НА ЗВЕЗДОЧКУ

var starbutt = document.getAnonymousElementByAttribute(document.getElementById('bookmarks-menu-button'), "anonid", "button");

starbutt.onmouseover = function() {
    var {bookmarks, placesRootId, tagsFolderId} = PlacesUtils, result = [];
    for(var id of BookmarkingUI._itemIds) {
    var arr = [];
    while((id = bookmarks.getFolderIdForItem(id)) != placesRootId) {
        if (id == tagsFolderId) { arr = []; break; }
        arr.unshift(bookmarks.getItemTitle(id) || "(без заголовка)");
        }
    arr.length && result.push(arr.join("\\"));
    }

    if (result.join()) { var rezz = result.join("\n");
       starbutt.tooltipText = "Адрес закладки:" + "\n"+rezz;
       }
};

И от меня благодарность.

Отсутствует

 

№910025-11-2015 20:07:57

oleg.sgh
Участник
 
Группа: Members
Зарегистрирован: 19-04-2014
Сообщений: 3141
UA: Firefox 42.0

Re: Custom Buttons

Есть кнопка (чья не знаю) которая открывает новую вкладку рядом  с активной но при перезапуске [firefox] расставляет по своему вкладки.
Удалено
Нужен код (часть кода из кнопки) что  бы новая вкладка всегда открывалась сразу за активной...и все.

Отредактировано oleg.sgh (26-11-2015 13:57:18)

Отсутствует

 

Board footer

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