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

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

№67607-05-2015 18:18:27

manuk
Участник
 
Группа: Members
Зарегистрирован: 17-10-2010
Сообщений: 275
UA: Palemoon 25.0

Re: Обсуждение кнопок CB

Как сделать кнопку для вызова настроек  дополнения friGate, чтобы при клике появлялось окошко

скрытый текст
2015-05-07_181516.png

Отсутствует

 

№67708-05-2015 09:12:07

HaGEN
Забанен
 
Группа: Members
Зарегистрирован: 04-07-2013
Сообщений: 155
UA: Palemoon 25.0

Re: Обсуждение кнопок CB

manuk
Есть кнопка-меню вызова настроек для всех плугов у кот. есть настройки.

Кнопка быстрого вызова настроек расширений. URl

Выделить код

Код:

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%u0411%u044B%u0441%u0442%u0440%u044B%u0439%20%u0434%u043E%u0441%u0442%u0443%u043F%20%u043A%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%u043C%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u0439%20%5BExtensions%20Options%20Menu%5D%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABVUlEQVQ4y2P4//8/AyWYoALpQsb9ftPM/4tnM+4nywCQ5s5jRf8d+7T+k2VAxHzH/TUHkv57TDMgzgWyJYz74xZ6/E9Y4vU/ZaXv/9Jd0f/LDkb+j13v8N9xmtp/oy6J/xqN/P+5Ihj2YzUApHnxtb7/My83/e8+W/C/9nj8//yD/v+T99j/D99u8N9nk/J/h9Vi/+Vq2P5jNQBkMz7NTuvE/1ut5v0vV8+M3QCQs3Fptlsh+l93Ktd/pTaW/wKpjAgDYFEFCjCQn3HZDNLME8tYANLDEcrgADcAFlWg0AYFGC5nK3ew/McaC6BEAopnUFSBQhubZpMVbP81JrFgdwEyBkUVup9BNoM0681hBdMYYYCMQfGMzc8gGqQZ5BIQxhkLoEQCimeQs0E2IcuB+CDNxkvZ/ktX4jAAlMJAiQRkA8iZML+CaBAfJA7SDOTvJyovEMIAruB4gKjNkYMAAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*%0A%20*%20%20This%20Source%20Code%20Form%20is%20subject%20to%20the%20terms%20of%20the%20Mozilla%20Public%0A%20*%20%20License%2C%20v.%202.0.%20If%20a%20copy%20of%20the%20MPL%20was%20not%20distributed%20with%20this%0A%20*%20%20file%2C%20You%20can%20obtain%20one%20at%20http%3A//mozilla.org/MPL/2.0/.%0A%20*/%0A%0Afunction%20%24%28aId%29%20%7B%0A%20%20return%20document.getElementById%28aId%29%3B%0A%7D%0A%0Afunction%20%24xml%28aXML%29%20%7B%0A%20%20return%20%28new%20DOMParser%29.parseFromString%28aXML%2C%20%22application/xml%22%29%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.documentElement%3B%0A%7D%0A%0Afunction%20sort%28aArray%29%20%7B%0A%20%20aArray.sort%28function%28a%2C%20b%29%20%7B%0A%20%20%20%20a%20%3D%20a.name.toLowerCase%28%29%3B%0A%20%20%20%20b%20%3D%20b.name.toLowerCase%28%29%3B%0A%20%20%20%20if%20%28a%20%3C%20b%29%20return%20-1%3B%0A%20%20%20%20if%20%28a%20%3E%20b%29%20return%201%3B%0A%20%20%20%20return%200%3B%0A%20%20%7D%29%0A%7D%0A%0Afunction%20openAM%28aView%29%20%7B%0A%20%20if%20%28%22toEM%22%20in%20window%29%20%7B%0A%20%20%20%20toEM%28aView%29%3B%0A%20%20%7D%20else%20if%20%28%22openAddonsMgr%22%20in%20window%29%20%7B%0A%20%20%20%20openAddonsMgr%28aView%29%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20BrowserOpenAddonsMgr%28aView%29%3B%0A%20%20%7D%0A%7D%0A%0Athis.openOption%20%3D%20function%28aId%29%20%7B%0A%20%20AddonManager.getAddonByID%28aId%2C%20function%28aAddon%29%20%7B%0A%20%20%20%20if%20%28aAddon.optionsType%20%26%26%20%28parseInt%28aAddon.optionsType%29%20%3E%201%29%29%20%7B%0A%20%20%20%20%20%20switch%20%28parseInt%28aAddon.optionsType%29%29%20%7B%0A%20%20%20%20%20%20%20%20case%203%3A%0A%20%20%20%20%20%20%20%20%20%20switchToTabHavingURI%28aAddon.optionsURL%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%20%20break%3B%0A%20%20%20%20%20%20%20%20case%202%3A%0A%20%20%20%20%20%20%20%20%20%20openAM%28%22addons%3A//detail/%22%20+%20encodeURIComponent%28aAddon.id%29%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+%20%22/preferences%22%29%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%20else%20%7B%0A%20%20%20%20%20%20openDialog%28aAddon.optionsURL%2C%20%22%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22chrome%2C%20dialog%2C%20close%2C%20minimizable%2C%20%22%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22titlebar%2C%20toolbar%2C%20scrollbars%2C%20centerscreen%22%29%3B%0A%20%20%20%20%7D%0A%20%20%7D%29%0A%7D%0A%0Athis.setStatus%20%3D%20function%28aString%29%20%7B%0A%20%20XULBrowserWindow.setOverLink%28aString%29%3B%0A%7D%0A%0Athis.onclick%20%3D%20function%20inspectExtensions%28aEvent%29%20%7B%0A%20%20switch%20%28aEvent.button%29%20%7B%0A%20%20%20%20case%200%3A%0A%20%20%20%20%20%20if%20%28aEvent.ctrlKey%29%20%7B%0A%20%20%20%20%20%20%20%20aEvent.preventDefault%28%29%3B%0A%20%20%20%20%20%20%20%20if%20%28typeof%20inspectObject%20%21%3D%20%22function%22%29%20return%3B%0A%20%20%20%20%20%20%20%20AddonManager.getAllAddons%28function%28aAddons%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20var%20extensions%20%3D%20%5B%5D%3B%0A%20%20%20%20%20%20%20%20%20%20aAddons.forEach%28function%28aAddon%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20if%20%28aAddon.type%20%3D%3D%20%22extension%22%20%26%26%20aAddon.isActive%29%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20extensions.push%28aAddon%29%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%7D%29%0A%20%20%20%20%20%20%20%20%20%20sort%28extensions%29%3B%0A%20%20%20%20%20%20%20%20%20%20inspectObject%28extensions%29%3B%0A%20%20%20%20%20%20%20%20%7D%29%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20break%3B%0A%0A%20%20%20%20case%201%3A%0A%20%20%20%20%20%20var%20prefs%20%3D%20Services.prefs.getBranch%28%22custombuttons.searchAddons%22%20+%20%22.%22%29%3B%0A%20%20%20%20%20%20var%20text%20%3D%20%22%22%3B%0A%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20text%20%3D%20prefs.getCharPref%28%22search%22%29%3B%0A%20%20%20%20%20%20%7D%20catch%28ex%29%20%7B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20var%20query%20%3D%20custombuttons.promptBox%28%22Search%20add-ons%22%2C%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%20%20%20%20%20%20%22Enter%20add-on%20name%22%2C%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%20%20%20%20%20%20text%2C%20null%29%3B%0A%20%20%20%20%20%20if%20%28%21query%5B0%5D%29%20return%3B%0A%20%20%20%20%20%20prefs.setCharPref%28%22search%22%2C%20query%5B1%5D%29%3B%0A%20%20%20%20%20%20openAM%28%22addons%3A//search/%22%20+%20encodeURIComponent%28query%5B1%5D%29%29%3B%0A%0A%20%20%20%20default%3A%0A%20%20%7D%0A%7D%0A%0Athis.addonsMgr%20%3D%20function%28aPopup%2C%20aCallback%29%20%7B%0A%20%20AddonManager.getAllAddons%28function%28aAddons%29%20%7B%0A%20%20%20%20var%20extensions%20%3D%20%5B%5D%3B%0A%20%20%20%20aAddons.forEach%28function%28aAddon%29%20%7B%0A%20%20%20%20%20%20/*aAddon.toString%20%3D%20function%28%29%20%7B%0A%20%20%20%20%20%20%20%20%22use%20strict%22%3B%0A%20%20%20%20%20%20%20%20return%20this.name%3B%0A%20%20%20%20%20%20%7D*/%0A%20%20%20%20%20%20if%20%28%28aAddon.type%20%3D%3D%20%22extension%22%29%20%26%26%0A%20%20%20%20%20%20%20%20%20%20%28aAddon.optionsURL%20%21%3D%20null%29%20%26%26%0A%20%20%20%20%20%20%20%20%20%20aAddon.isActive%29%20%7B%0A%20%20%20%20%20%20%20%20extensions.push%28aAddon%29%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%29%0A%20%20%20%20sort%28extensions%29%3B%0A%20%20%20%20aCallback%28aPopup%2C%20extensions%29%3B%0A%20%20%7D%29%0A%7D%0A%0Afunction%20getExtensionObject%28aId%2C%20aCallback%29%20%7B%0A%20%20AddonManager.getAllAddons%28function%28aAddons%29%20%7B%0A%20%20%20%20aAddons.forEach%28function%28aAddon%29%20%7B%0A%20%20%20%20%20%20if%20%28aAddon.id%20%3D%3D%20aId%29%20%7B%0A%20%20%20%20%20%20%20%20aCallback%28aAddon%29%3B%0A%20%20%20%20%20%20%20%20return%3B%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%29%0A%20%20%7D%29%0A%7D%0A%0Afunction%20htmlEntities%28aString%29%20%7B%0A%20%20return%20aString.replace%28/%26/g%2C%20%22%26amp%3B%22%29.replace%28/%3C/g%2C%20%22%26lt%3B%22%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20.replace%28/%3E/g%2C%20%22%26gt%3B%22%29.replace%28/%22/g%2C%20%22%26quot%3B%22%29%3B%0A%7D%0A%0Afunction%20addItem%28aNode%2C%20aId%2C%20aLabel%2C%20aURL%2C%20aIcon%2C%20aHomePage%2C%20aDesc%29%20%7B%0A%20%20let%20mi%20%3D%20aNode.appendChild%28document.createElement%28%22menuitem%22%29%29%3B%0A%20%20%20%20%20%20mi.setAttribute%28%22GUID%22%2C%20aId%29%3B%0A%20%20%20%20%20%20mi.className%20%3D%20%22menuitem-iconic%22%3B%0A%20%20%20%20%20%20mi.setAttribute%28%22label%22%2C%20aLabel%29%3B%0A%20%20%20%20%20%20mi.statusText%20%3D%20aURL%3B%0A%20%20%20%20%20%20mi.setAttribute%28%22image%22%2C%20aIcon%29%3B%0A%20%20%20%20%20%20mi.setAttribute%28%22homepage%22%2C%20aHomePage%29%3B%0A%20%20%20%20%20%20mi.tooltipText%20%3D%20aDesc%3B%0A%7D%0A%0Athis.populate%20%3D%20function%28aPopup%2C%20aExtensions%29%20%7B%0A%20%20while%20%28aPopup.lastChild%29%20aPopup.removeChild%28aPopup.lastChild%29%3B%0A%20%20if%20%28%28navigator.platform%20%3D%3D%20%22Win32%22%29%20%26%26%20%28aExtensions.length%20%3E%2020%29%29%20%7B%0A%20%20%20%20var%20hbox%20%20%3D%20aPopup.appendChild%28document.createElement%28%22hbox%22%29%29%3B%0A%20%20%20%20var%20vbox1%20%3D%20hbox.appendChild%28document.createElement%28%22vbox%22%29%29%3B%0A%20%20%20%20var%20vbox2%20%3D%20hbox.appendChild%28document.createElement%28%22vbox%22%29%29%3B%0A%20%20%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aExtensions.length%3B%20i++%29%20%7B%0A%20%20%20%20%20%20let%20vbox%20%3D%20%28i%20%3C%20parseInt%28aExtensions.length%20/%202%29%29%20%3F%20vbox1%20%3A%20vbox2%3B%0A%20%20%20%20%20%20let%20ext%20%3D%20aExtensions%5Bi%5D%3B%0A%20%20%20%20%20%20addItem%28vbox%2C%20ext.id%2C%20ext.name%20+%20%22%20%22%20+%20ext.version%2C%20ext.optionsURL%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28ext.iconURL%20%3F%20ext.iconURL%20%3A%20%22chrome%3A//mozapps/skin/extensions/extensionGeneric-16.png%22%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28ext.homepageURL%20%3F%20ext.homepageURL%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%20%20%20%3A%20ext.reviewURL%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%20%20%20%20%20%3F%20ext.reviewURL.replace%28/%5C/reviews/%2C%20%22%22%29.toString%28%29%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%20%20%20%20%20%3A%20%22http%3A//www.google.com/search%3Fq%3D%22%20+%20ext.name%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ext.description%29%3B%0A%20%20%20%20%7D%0A%20%20%7D%20else%20%7B%0A%20%20%20%20for%20%28var%20i%20%3D%200%3B%20i%20%3C%20aExtensions.length%3B%20i++%29%20%7B%0A%20%20%20%20%20%20let%20ext%20%3D%20aExtensions%5Bi%5D%3B%0A%20%20%20%20%20%20addItem%28aPopup%2C%20ext.id%2C%20ext.name%20+%20%22%20%22%20+%20ext.version%2C%20ext.optionsURL%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28ext.iconURL%20%3F%20ext.iconURL%20%3A%20%22chrome%3A//mozapps/skin/extensions/extensionGeneric-16.png%22%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%28ext.homepageURL%20%3F%20ext.homepageURL%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%20%20%20%3A%20ext.reviewURL%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%20%20%20%20%20%3F%20ext.reviewURL.replace%28/%5C/reviews/%2C%20%22%22%29.toString%28%29%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%20%20%20%20%20%3A%20%22http%3A//www.google.com/search%3Fq%3D%22%20+%20ext.name%29%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20ext.description%29%3B%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%0A%0Avar%20popup%20%3D%20document.createElement%28%22menupopup%22%29%3B%0Apopup.setAttribute%28%22context%22%2C%20%22cb-extensions-menu%22%29%3B%0Apopup.setAttribute%28%22oncommand%22%2C%20%22event.stopPropagation%28%29%3B%20%22%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22this.parentNode.openOption%28%22%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22event.target.getAttribute%28%27GUID%27%29%29%3B%22%29%3B%0Apopup.setAttribute%28%22onmouseover%22%2C%20%22this.parentNode.setStatus%28%22%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22event.target.statusText%29%3B%22%29%3B%0Apopup.setAttribute%28%22onmouseout%22%2C%20%22this.parentNode.setStatus%28%27%27%29%3B%22%29%3B%0Apopup.setAttribute%28%22onpopupshowing%22%2C%20%22this.parentNode.addonsMgr%28%22%20+%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22this%2C%20this.parentNode.populate%29%3B%22%29%3B%0A%0A//this.addonsMgr%28popup%2C%20this.populate%29%3B%0A%0Athis.appendChild%28popup%29%3B%0Athis.type%20%3D%20%22menu%22%3B%0A%0A//---------------------------------%0A%0Athis.copyId%20%3D%20function%28aId%29%20%7B%0A%20%20Cc%5B%22@mozilla.org/widget/clipboardhelper%3B1%22%5D.%0A%20%20getService%28Ci.nsIClipboardHelper%29.copyString%28aId%29%3B%0A%7D%0A%0Athis.goHome%20%3D%20function%28aURL%29%20%7B%0A%20%20gBrowser.loadOneTab%28aURL%29%3B%0A%7D%0A%0Athis.inspect%20%3D%20function%28aId%29%20%7B%0A%20%20getExtensionObject%28aId%2C%20inspectObject%29%3B%0A%7D%0A%0Athis.explore%20%3D%20function%28aId%29%20%7B%0A%20%20var%20dir%20%3D%20Services.dirsvc.get%28%22ProfD%22%2C%20Ci.nsIFile%29%3B%0A%20%20dir.append%28%22extensions%22%29%3B%0A%20%20dir.append%28aId%29%3B%0A%20%20var%20nsLocalFile%20%3D%20Components.Constructor%28%22@mozilla.org/file/local%3B1%22%2C%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%20%20%20%20%20%20%20%22nsILocalFile%22%2C%20%22initWithPath%22%29%3B%0A%20%20%28new%20nsLocalFile%28dir.path%20+%20%28dir.exists%28%29%20%3F%20%22%22%20%3A%20%22.xpi%22%29%29%29.reveal%28%29%3B%0A%7D%0A%0Aif%20%28%24%28%22cb-extensions-menu%22%29%29%20%7B%0A%20%20%24%28%22cb-extensions-menu%22%29.parentNode.removeChild%28%24%28%22cb-extensions-menu%22%29%29%3B%0A%7D%0A%0Athis.checkForDOMI%20%3D%20function%28aEvent%29%20%7B%0A%20%20if%20%28typeof%20inspectObject%20%21%3D%20%22function%22%29%20%7B%0A%20%20%20%20aEvent.target.getElementsByTagName%28%22menuitem%22%29%5B2%5D.hidden%20%3D%20true%3B%0A%20%20%7D%0A%7D%0A%0Avar%20popupset%20%3D%20document.getElementById%28%22mainPopupSet%22%29%3B%0Avar%20context%20%3D%20popupset.appendChild%28%24xml%28%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%27%3Cmenupopup%20xmlns%3D%22%27%20+%20xulns%20+%20%27%22%20id%3D%22cb-extensions-menu%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onclick%3D%22event.stopPropagation%28%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onpopupshowing%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.checkForDOMI%28event%29%3B%22%3E%3Cmenuitem%20label%3D%22Visit%20Home%20Page%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseover%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28document.popupNode.getAttribute%28%5C%27homepage%5C%27%29%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseout%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28%5C%27%5C%27%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27oncommand%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.goHome%28document.popupNode.getAttribute%28%5C%27homepage%5C%27%29%29%3B%22/%3E%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%3Cmenuitem%20label%3D%22Copy%20GUID%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseover%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28document.popupNode.getAttribute%28%5C%27GUID%5C%27%29%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseout%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28%5C%27%5C%27%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27oncommand%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.copyId%28document.popupNode.getAttribute%28%5C%27GUID%5C%27%29%29%3B%22/%3E%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%3Cmenuitem%20label%3D%22Inspect%20Extension%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseover%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28document.popupNode.getAttribute%28%5C%27GUID%5C%27%29%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseout%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28%5C%27%5C%27%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27oncommand%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.inspect%28document.popupNode.getAttribute%28%5C%27GUID%5C%27%29%29%3B%22/%3E%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%3Cmenuitem%20label%3D%22Browse%20Install%20Directory%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseover%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28document.popupNode.getAttribute%28%5C%27GUID%5C%27%29%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27onmouseout%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.setStatus%28%5C%27%5C%27%29%3B%22%20%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27oncommand%3D%22document.getElementById%28%5C%27%27%20+%20this.id%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%5C%27%29.explore%28document.popupNode.getAttribute%28%5C%27GUID%5C%27%29%29%3B%22/%3E%27%0A%20%20%20%20%20%20%20%20%20%20%20%20+%20%27%3C/menupopup%3E%27%29%29%3B%0A%0A%0A/*%0A//%20%u0441%u043A%u0440%u044B%u0442%u0438%u0435%20%u0434%u0440%u043E%u043F%u043C%u0430%u0440%u043A%u0435%u0440%u0430%20%u0443%20%u043A%u043D%u043E%u043F%u043A%u0438-%u043C%u0435%u043D%u044E%28%u0432%20%u0438%u043D%u0438%u0446%u0438%u0430%u043B%u0438%u0437%u0430%u0446%u0438%u044E%29%0Avar%20that%20%3D%20this%3B%0Athis.hideDropMarker%20%3D%20function%28%29%20%7B%0A%20%20var%20dropMarker%20%3D%20document.getAnonymousElementByAttribute%28that%2C%20%22class%22%2C%20%22toolbarbutton-menu-dropmarker%22%29%3B%0A%20%20if%20%28dropMarker%29%20%7B%0A%20%20%20%20dropMarker.setAttribute%28%22hidden%22%2C%20%22true%22%29%3B%0A%20%20%7D%20else%20%7B%0A%20%20%20%20setTimeout%28that.hideDropMarker%2C%2010%29%3B%0A%20%20%7D%0A%7D%0Athis.hideDropMarker%28%29%3B%0A*/%0A%0A//%20%u041F%u043E%u0434%u0441%u043A%u0430%u0437%u043A%u0430%20%u0434%u043B%u044F%20%u043A%u043D%u043E%u043F%u043A%u0438%20..........%20%0Athis.tooltipText%20%3D%20this.Help%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%u0411%u044B%u0441%u0442%u0440%u044B%u0439%20%u0434%u043E%u0441%u0442%u0443%u043F%20%u043A%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0430%u043C%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u0439%20%u0443%20%u043A%u043E%u0442%u043E%u0440%u044B%u0445%20%u0435%u0441%u0442%u044C%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%0A---------------------------------------------------------------%0A%u041B%u041A%u041C%20-%20%u0432%u044B%u0437%u043E%u0432%u0435%u0442%20%u043E%u043A%u043D%u043E%20%u043D%u0430%u0441%u0442%u0440%u043E%u0439%u043A%u0438%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u044F.%0A%u0421%u041A%u041C%20-%20%u043F%u043E%u0438%u0441%u043A%20%u0440%u0430%u0441%u0448%u0438%u0440%u0435%u043D%u0438%u0439.%0A%0A%0A%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E


Кнопка быстрого вызова настроек расширений. Инициализация

Выделить код

Код:

/*
 *  This Source Code Form is subject to the terms of the Mozilla Public
 *  License, v. 2.0. If a copy of the MPL was not distributed with this
 *  file, You can obtain one at http://mozilla.org/MPL/2.0/.
 */

function $(aId) {
  return document.getElementById(aId);
}

function $xml(aXML) {
  return (new DOMParser).parseFromString(aXML, "application/xml")
                        .documentElement;
}

function sort(aArray) {
  aArray.sort(function(a, b) {
    a = a.name.toLowerCase();
    b = b.name.toLowerCase();
    if (a < b) return -1;
    if (a > b) return 1;
    return 0;
  })
}

function openAM(aView) {
  if ("toEM" in window) {
    toEM(aView);
  } else if ("openAddonsMgr" in window) {
    openAddonsMgr(aView);
  } else {
    BrowserOpenAddonsMgr(aView);
  }
}

this.openOption = function(aId) {
  AddonManager.getAddonByID(aId, function(aAddon) {
    if (aAddon.optionsType && (parseInt(aAddon.optionsType) > 1)) {
      switch (parseInt(aAddon.optionsType)) {
        case 3:
          switchToTabHavingURI(aAddon.optionsURL, true);
          break;
        case 2:
          openAM("addons://detail/" + encodeURIComponent(aAddon.id)
                                    + "/preferences");
      }
    } else {
      openDialog(aAddon.optionsURL, "",
                 "chrome, dialog, close, minimizable, " +
                 "titlebar, toolbar, scrollbars, centerscreen");
    }
  })
}

this.setStatus = function(aString) {
  XULBrowserWindow.setOverLink(aString);
}

this.onclick = function inspectExtensions(aEvent) {
  switch (aEvent.button) {
    case 0:
      if (aEvent.ctrlKey) {
        aEvent.preventDefault();
        if (typeof inspectObject != "function") return;
        AddonManager.getAllAddons(function(aAddons) {
          var extensions = [];
          aAddons.forEach(function(aAddon) {
            if (aAddon.type == "extension" && aAddon.isActive) {
              extensions.push(aAddon);
            }
          })
          sort(extensions);
          inspectObject(extensions);
        })
      }
      break;

    case 1:
      var prefs = Services.prefs.getBranch("custombuttons.searchAddons" + ".");
      var text = "";
      try {
        text = prefs.getCharPref("search");
      } catch(ex) {
      }
      var query = custombuttons.promptBox("Search add-ons",
                                          "Enter add-on name",
                                          text, null);
      if (!query[0]) return;
      prefs.setCharPref("search", query[1]);
      openAM("addons://search/" + encodeURIComponent(query[1]));

    default:
  }
}

this.addonsMgr = function(aPopup, aCallback) {
  AddonManager.getAllAddons(function(aAddons) {
    var extensions = [];
    aAddons.forEach(function(aAddon) {
      /*aAddon.toString = function() {
        "use strict";
        return this.name;
      }*/
      if ((aAddon.type == "extension") &&
          (aAddon.optionsURL != null) &&
          aAddon.isActive) {
        extensions.push(aAddon);
      }
    })
    sort(extensions);
    aCallback(aPopup, extensions);
  })
}

function getExtensionObject(aId, aCallback) {
  AddonManager.getAllAddons(function(aAddons) {
    aAddons.forEach(function(aAddon) {
      if (aAddon.id == aId) {
        aCallback(aAddon);
        return;
      }
    })
  })
}

function htmlEntities(aString) {
  return aString.replace(/&/g, "&amp;").replace(/</g, "&lt;")
                .replace(/>/g, "&gt;").replace(/"/g, "&quot;");
}

function addItem(aNode, aId, aLabel, aURL, aIcon, aHomePage, aDesc) {
  let mi = aNode.appendChild(document.createElement("menuitem"));
      mi.setAttribute("GUID", aId);
      mi.className = "menuitem-iconic";
      mi.setAttribute("label", aLabel);
      mi.statusText = aURL;
      mi.setAttribute("image", aIcon);
      mi.setAttribute("homepage", aHomePage);
      mi.tooltipText = aDesc;
}

this.populate = function(aPopup, aExtensions) {
  while (aPopup.lastChild) aPopup.removeChild(aPopup.lastChild);
  if ((navigator.platform == "Win32") && (aExtensions.length > 20)) {
    var hbox  = aPopup.appendChild(document.createElement("hbox"));
    var vbox1 = hbox.appendChild(document.createElement("vbox"));
    var vbox2 = hbox.appendChild(document.createElement("vbox"));
    for (var i = 0; i < aExtensions.length; i++) {
      let vbox = (i < parseInt(aExtensions.length / 2)) ? vbox1 : vbox2;
      let ext = aExtensions[i];
      addItem(vbox, ext.id, ext.name + " " + ext.version, ext.optionsURL,
                      (ext.iconURL ? ext.iconURL : "chrome://mozapps/skin/extensions/extensionGeneric-16.png"),
                      (ext.homepageURL ? ext.homepageURL
                                       : ext.reviewURL
                                         ? ext.reviewURL.replace(/\/reviews/, "").toString()
                                         : "http://www.google.com/search?q=" + ext.name),
                      ext.description);
    }
  } else {
    for (var i = 0; i < aExtensions.length; i++) {
      let ext = aExtensions[i];
      addItem(aPopup, ext.id, ext.name + " " + ext.version, ext.optionsURL,
                      (ext.iconURL ? ext.iconURL : "chrome://mozapps/skin/extensions/extensionGeneric-16.png"),
                      (ext.homepageURL ? ext.homepageURL
                                       : ext.reviewURL
                                         ? ext.reviewURL.replace(/\/reviews/, "").toString()
                                         : "http://www.google.com/search?q=" + ext.name),
                      ext.description);
    }
  }
}

var popup = document.createElement("menupopup");
popup.setAttribute("context", "cb-extensions-menu");
popup.setAttribute("oncommand", "event.stopPropagation(); " +
                   "this.parentNode.openOption(" +
                   "event.target.getAttribute('GUID'));");
popup.setAttribute("onmouseover", "this.parentNode.setStatus(" +
                   "event.target.statusText);");
popup.setAttribute("onmouseout", "this.parentNode.setStatus('');");
popup.setAttribute("onpopupshowing", "this.parentNode.addonsMgr(" +
                   "this, this.parentNode.populate);");

//this.addonsMgr(popup, this.populate);

this.appendChild(popup);
this.type = "menu";

//---------------------------------

this.copyId = function(aId) {
  Cc["@mozilla.org/widget/clipboardhelper;1"].
  getService(Ci.nsIClipboardHelper).copyString(aId);
}

this.goHome = function(aURL) {
  gBrowser.loadOneTab(aURL);
}

this.inspect = function(aId) {
  getExtensionObject(aId, inspectObject);
}

this.explore = function(aId) {
  var dir = Services.dirsvc.get("ProfD", Ci.nsIFile);
  dir.append("extensions");
  dir.append(aId);
  var nsLocalFile = Components.Constructor("@mozilla.org/file/local;1",
                                           "nsILocalFile", "initWithPath");
  (new nsLocalFile(dir.path + (dir.exists() ? "" : ".xpi"))).reveal();
}

if ($("cb-extensions-menu")) {
  $("cb-extensions-menu").parentNode.removeChild($("cb-extensions-menu"));
}

this.checkForDOMI = function(aEvent) {
  if (typeof inspectObject != "function") {
    aEvent.target.getElementsByTagName("menuitem")[2].hidden = true;
  }
}

var popupset = document.getElementById("mainPopupSet");
var context = popupset.appendChild($xml(
              '<menupopup xmlns="' + xulns + '" id="cb-extensions-menu" '
            + 'onclick="event.stopPropagation();" '
            + 'onpopupshowing="document.getElementById(\'' + this.id
            + '\').checkForDOMI(event);"><menuitem label="Visit Home Page" '
            + 'onmouseover="document.getElementById(\'' + this.id
            + '\').setStatus(document.popupNode.getAttribute(\'homepage\'));" '
            + 'onmouseout="document.getElementById(\'' + this.id
            + '\').setStatus(\'\');" '
            + 'oncommand="document.getElementById(\'' + this.id
            + '\').goHome(document.popupNode.getAttribute(\'homepage\'));"/>'
            + '<menuitem label="Copy GUID" '
            + 'onmouseover="document.getElementById(\'' + this.id
            + '\').setStatus(document.popupNode.getAttribute(\'GUID\'));" '
            + 'onmouseout="document.getElementById(\'' + this.id
            + '\').setStatus(\'\');" '
            + 'oncommand="document.getElementById(\'' + this.id
            + '\').copyId(document.popupNode.getAttribute(\'GUID\'));"/>'
            + '<menuitem label="Inspect Extension" '
            + 'onmouseover="document.getElementById(\'' + this.id
            + '\').setStatus(document.popupNode.getAttribute(\'GUID\'));" '
            + 'onmouseout="document.getElementById(\'' + this.id
            + '\').setStatus(\'\');" '
            + 'oncommand="document.getElementById(\'' + this.id
            + '\').inspect(document.popupNode.getAttribute(\'GUID\'));"/>'
            + '<menuitem label="Browse Install Directory" '
            + 'onmouseover="document.getElementById(\'' + this.id
            + '\').setStatus(document.popupNode.getAttribute(\'GUID\'));" '
            + 'onmouseout="document.getElementById(\'' + this.id
            + '\').setStatus(\'\');" '
            + 'oncommand="document.getElementById(\'' + this.id
            + '\').explore(document.popupNode.getAttribute(\'GUID\'));"/>'
            + '</menupopup>'));


/*
// скрытие дропмаркера у кнопки-меню(в инициализацию)
var that = this;
this.hideDropMarker = function() {
  var dropMarker = document.getAnonymousElementByAttribute(that, "class", "toolbarbutton-menu-dropmarker");
  if (dropMarker) {
    dropMarker.setAttribute("hidden", "true");
  } else {
    setTimeout(that.hideDropMarker, 10);
  }
}
this.hideDropMarker();
*/

// Подсказка для кнопки .......... 
// this.tooltipText = this.Help

Отсутствует

 

№67808-05-2015 15:35:05

manuk
Участник
 
Группа: Members
Зарегистрирован: 17-10-2010
Сообщений: 275
UA: Palemoon 25.0

Re: Обсуждение кнопок CB

HaGEN, тоже 3 клика... Хочется один. Может bunda1 попросить...

Отсутствует

 

№67908-05-2015 18:11:33

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

Re: Обсуждение кнопок CB

manuk пишет

HaGEN, тоже 3 клика... Хочется один. Может bunda1 попросить...

Выделить код

Код:

openDialog("chrome://frigate2/content/pref.xul", "", "chrome, dialog, close, minimizable, " + "titlebar, toolbar, scrollbars, centerscreen");

Добавлено 08-05-2015 18:28:13
Или так - будет отрываться только одно окошко настроек friGate с возможностью закрыть настройки friGate по клику на странице:

Выделить код

Код:

var windows = Cc['@mozilla.org/appshell/window-mediator;1'].getService(Ci.nsIWindowMediator).getEnumerator(null);
while( windows.hasMoreElements() ) {
       var win = windows.getNext();
       if ( win.name == 'friGate') {    
            win.focus();
            return;
            }
       };   
var options = openDialog("chrome://frigate2/content/pref.xul", "friGate", "chrome, dialog, close, minimizable, " + "titlebar, toolbar, scrollbars, centerscreen");
   
gBrowser.addEventListener("click", function c() {
   this.removeEventListener("click", c );
   try { options.close() } catch(e) {}; 
}, true );

Отредактировано bunda1 (08-05-2015 18:31:47)

Отсутствует

 

№68008-05-2015 19:14:21

manuk
Участник
 
Группа: Members
Зарегистрирован: 17-10-2010
Сообщений: 275
UA: Palemoon 25.0

Re: Обсуждение кнопок CB

bunda1, спасибо. Я в тебя верил. А сразу открывать на второй вкладке настроек (как на картинке под спойлером https://forum.mozilla-russia.org/viewto … 82#p682282) возможно? Ещё минус один клик... Или проще friGate переделать?

Отредактировано manuk (08-05-2015 19:18:18)

Отсутствует

 

№68108-05-2015 21:01:35

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

Re: Обсуждение кнопок CB

manuk пишет

bunda1, спасибо. Я в тебя верил. А сразу открывать на второй вкладке настроек (как на картинке под спойлером https://forum.mozilla-russia.org/viewto … 82#p682282) возможно? Ещё минус один клик... Или проще friGate переделать?

Выделить код

Код:

var windows = Cc['@mozilla.org/appshell/window-mediator;1'].getService(Ci.nsIWindowMediator).getEnumerator(null);
while( windows.hasMoreElements() ) {
       var win = windows.getNext();
       if ( win.name == 'friGate') {    
            win.focus();
            return;
            }
       };   
var options = openDialog("chrome://frigate2/content/pref.xul", "friGate", "chrome, dialog, close, minimizable, " + "titlebar, toolbar, scrollbars, centerscreen");
   
gBrowser.addEventListener("click", function c() {
   this.removeEventListener("click", c );
   try { options.close() } catch(e) {}; 
}, true );

options.addEventListener("load", function s(e) {
   this.removeEventListener(e.type, s);
   e.target.getElementsByAttribute("label", "Proxys")[0].click();
}, true )

Отредактировано bunda1 (08-05-2015 21:09:49)

Отсутствует

 

№68208-05-2015 21:16:40

manuk
Участник
 
Группа: Members
Зарегистрирован: 17-10-2010
Сообщений: 275
UA: Palemoon 25.0

Re: Обсуждение кнопок CB

bunda1, открывает на вкладке "Основное". Может ещё подаманишь?

Отсутствует

 

№68308-05-2015 21:23:15

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

Re: Обсуждение кнопок CB

manuk пишет

bunda1, открывает на вкладке "Основное". Может ещё подаманишь?

Упс, у меня настройки friGate на английском а код находит вкладку настроек по названию, поменяй в коде Proxys на Прокси

Отсутствует

 

№68408-05-2015 21:36:36

manuk
Участник
 
Группа: Members
Зарегистрирован: 17-10-2010
Сообщений: 275
UA: Palemoon 25.0

Re: Обсуждение кнопок CB

bunda1, всё прекрасно. Огромное спасибо!

Отсутствует

 

№68510-05-2015 22:01:50

Mishania
Участник
 
Группа: Members
Зарегистрирован: 22-10-2011
Сообщений: 356
UA: Firefox 33.0

Re: Обсуждение кнопок CB

Установлена кнопка CB Mouse Gestures+, сделал команду 'DR':{name:'Обновить',cmd:function(){ gBrowser.reload() }},
а как сделать чтоб обновлялось не как по F5, а как по ctrl+F5?

Отсутствует

 

№68610-05-2015 22:10:30

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

Re: Обсуждение кнопок CB

Mishania пишет

Установлена кнопка CB Mouse Gestures+, сделал команду 'DR':{name:'Обновить',cmd:function(){ gBrowser.reload() }},
а как сделать чтоб обновлялось не как по F5, а как по ctrl+F5?

Может:

Выделить код

Код:

BrowserReloadSkipCache();

Отсутствует

 

№68710-05-2015 22:27:56

Mishania
Участник
 
Группа: Members
Зарегистрирован: 22-10-2011
Сообщений: 356
UA: Firefox 33.0

Re: Обсуждение кнопок CB

bunda1
И как всегда большое человеческое спасибо.

Отсутствует

 

№68812-05-2015 21:33:26

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1700
UA: Firefox 31.0

Re: Обсуждение кнопок CB

Здравствуйте, подскажите если есть кнопка добавить ссылку в контекстное меню, желательно с иконкой, без подменю, что бы сразу, хочу добавить ссылки на несколько постоянно посещаемых сайтов. Спасибо.

Отсутствует

 

№68912-05-2015 21:54:53

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

Re: Обсуждение кнопок CB

Stakhovsky пишет

Здравствуйте, подскажите если есть кнопка добавить ссылку в контекстное меню, желательно с иконкой, без подменю, что бы сразу, хочу добавить ссылки на несколько постоянно посещаемых сайтов. Спасибо.

А контекстное меню где должно открываться?

Отсутствует

 

№69012-05-2015 21:58:13

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1700
UA: Firefox 31.0

Re: Обсуждение кнопок CB

bunda1 пишет

Stakhovsky пишет: Здравствуйте, подскажите если есть кнопка добавить ссылку в контекстное меню, желательно с иконкой, без подменю, что бы сразу, хочу добавить ссылки на несколько постоянно посещаемых сайтов. Спасибо.А контекстное меню где должно открываться?

При клике в любом пустом месте любой страницы.

Отредактировано Stakhovsky (12-05-2015 21:59:15)

Отсутствует

 

№69112-05-2015 22:13:27

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

Re: Обсуждение кнопок CB

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

Отсутствует

 

№69213-05-2015 00:19:23

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1700
UA: Firefox 31.0

Re: Обсуждение кнопок CB

bunda1 пишет

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

Ясно, я пересмотрел уже все дополнения, вот нашел одно которое выполняет такую функцию (https://addons.mozilla.org/ru/firefox/addon/quick-tab), но там можно только одну ссылку указать. Вы бы не могли помочь если можно как то сделать из него кнопки в контекстное меню или что бы это дополнение модернизировать добавив еще пункты, или может как-то сделать что бы установить несколько таких дополнений переименовав их. Помогите пожалуйста.

Отредактировано Stakhovsky (13-05-2015 00:21:35)

Отсутствует

 

№69313-05-2015 00:29:58

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

Re: Обсуждение кнопок CB

Stakhovsky
А зачем сылки в контекстное меню не удобно же.

Отсутствует

 

№69413-05-2015 00:48:39

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1700
UA: Firefox 31.0

Re: Обсуждение кнопок CB

bunda1 пишет

StakhovskyА зачем сылки в контекстное меню не удобно же.

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

Отсутствует

 

№69513-05-2015 01:16:10

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1700
UA: Firefox 31.0

Re: Обсуждение кнопок CB

okkamas_knife пишет

ну а кто мешает сделать? при нынешнем количестве примеров да ещё с комментариями даже при полном незнании javascript только копипастой и методом тыка за час вполне реально сделать такую кнопку.на то они и кастомные - настраиваешь под себя.ну а если лень то https://addons.mozilla.org/ru/firefox/search/?q=context&cat=allтам есть на первой же странице расширение добавляюще меню закладок в контекстное меню.. думаю если полистать то и просто ссылки найдутся..

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

Отредактировано Stakhovsky (13-05-2015 01:17:31)

Отсутствует

 

№69613-05-2015 01:21:02

xrun1
Участник
 
Группа: Members
Зарегистрирован: 12-12-2013
Сообщений: 1160
UA: Firefox 37.0

Re: Обсуждение кнопок CB

Stakhovsky
Есть кнопка "Ext menu" в разделе "Кнопки для Firefox". Посмотрите здесь.

Отсутствует

 

№69713-05-2015 01:38:29

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1700
UA: Firefox 31.0

Re: Обсуждение кнопок CB

okkamas_knife пишет

ну так в чем проблема то?открываем раздел СВ на форуме там кнопок работающих с контекстным меню целая куча, подбираем подходящую попроще и заменяем в ней действие на открытие страницы (примеры есть и готовых кнопках и в инструментах)ну а если не заработает то тогда можно и привести свой код и спросить ЧЯДНТ и тут подскажут где ошибка.
                    Отредактировано okkamas_knife (Сегодня 02:26:48)

Спасибо, буду пробовать. Как думаете не проще будет переделать это дополнение? https://addons.mozilla.org/ru/firefox/addon/quick-tab/

Добавлено 13-05-2015 01:38:57

xrun1 пишет

StakhovskyЕсть кнопка "Ext menu" в разделе "Кнопки для Firefox". Посмотрите здесь.

Спасибо, то что нужно.

Отредактировано Stakhovsky (13-05-2015 01:39:32)

Отсутствует

 

№69813-05-2015 13:56:26

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1700
UA: Firefox 31.0

Re: Обсуждение кнопок CB

okkamas_knife пишет

Stakhovsky пишет: Как думаете не проще будет переделать это дополнение? http://addons.mozilla.org/ru/firefox/addon/quick-tab/ну так если устраивает открытие страницы по хоткеюто вообще всё решается кнопкой с одной строчкой открывающей страницу, просто в настройках кнопки указать хоткей и  всё

Дело не в хоткее, там добавляется пункт в контекстное меню.

Отсутствует

 

№69913-05-2015 16:11:00

turbot
Участник
 
Группа: Members
Зарегистрирован: 09-10-2011
Сообщений: 2529
UA: Firefox 41.0

Re: Обсуждение кнопок CB

Stakhovsky
На скорую руку из "Google Image Search":

скрытый текст
clipboard.png

Вариант 1:

Выделить код

Код:

(function() {
   if ( document.getElementById("context-site-1") ) return; 
               
   var menuItem = document.createElement("menuitem");
   menuItem.id = "context-site-1";
   menuItem.setAttribute("label", "Google");
   menuItem.setAttribute("class", "menuitem-iconic");
   menuItem.setAttribute("image", "data:image/x-icon;base64,AAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBKBMpTCYX4GMrH/9gMxn/YDQV/2cyG/9nLxr/YjMd/10xHv9cMRz/XjIa/2ExHP9gNRn/YDIV/2IwHf9ULSL/RCcU4EEoEylLKBfgcjUe/349IP98QRr/gEEd/39AKP+FUjv/h2NL/4lkUP+GYEv/hVQ+/35CJv9+Phz/gEIb/4c8H/96PCT/azgb/0koFOBpMyT/jD8i/4RFIf97RB3/hEUr/7GCdf/q29L/+e3e/97HuP/dwLD/6M2+/76VhP9+RSr/hUMg/5NAH/+NQCX/h0Ai/2Q1Iv9yOyf/lkYn/4xFJP+HSSn/m25Y//7y6v/bw7f/fkw2/3hBJv90QSX/hFI9/+nUxv+2k4H/i0kq/5VIJP+QRiL/lkYn/3Q5Kv9zQSn/mUkp/5tJKf+XSin/roJr//757f+0gG//l0oq/5NMI/+WTCH/i00u/8q0o//jx7j/mFU6/5JMJP+TTiL/l0wl/3Y/K/93Rif/oE4p/6ZNK/+jTSz/pGpS//rn2v/Np5b/kFEx/5BSK/+XTyv/nmFJ/+rTyP/lyrv/nlk+/5NRJv+WUib/l1Ik/3lFK/+BSyr/plQt/6ZULP+mUyv/nFIz/6d3Yf/hxrX/3b6n/7SUf/+7l4b/8NjL//7z6//BkoH/mlMz/55TLP+iUyv/olMp/4FJK/+FSzP/qVUz/61ZMf+sWSv/rFYs/59TM/+cWT//nmJJ/8OSgf/+8ub/+O/b/8ikkv+iVTb/qVgv/6pVMP+1WDT/qVY1/4ZMMf+MUTX/q1sx/7RZMf+2WjH/t1wv/7JbLf+oXDT/nVtD/8yajv/+8uf/ybGZ/5VYOP+zWDL/t1sx/7NYMv+5WjX/sFk2/49SM/+VVDn/s143/7hfNP+8WzX/v141/6xeMv/ZoYD/+9/I/+DBtP/Ss6P/7L+l/7l1Tf+1XjT/vlw0/7tdM/+6YC//tV42/5FYNP+cU0D/uGE9/75fNf/GZTb/wGI4/8OBYv//5tT/5byr/6RjSP+lXD//26eM//TNsf+3YkH/xGI3/8NjNf+7Yi//uGE3/5pZOv+hWEH/wGY9/8RlNP/KaDf/xWY3/9+ef///5tv/v4Vt/8NmOv+9ZUD/xI16//7o2v/FgGX/x2g5/8poNv/KaDb/xWU5/6ZYQv+mYUH/y2s7/8xwN//TbTf/0m46/+CYd///59X/vIJk/81tOv/Bbz//4a6b//7n2P/FiGL/yWw4/9FtN//KcDf/zG45/6dfQP+tZT//1W4//9pxPf/VbTz/1G5B/75wTf/31L7/z56C/8V5TP/TkGP/+NXC//XSv/+4cEr/0nA7/9VwO//Ubz7/1G88/61kP/+0bkj/4XNC/99wPv/gckL/321B/9VwR//Gf2D/6reX/+/DoP/82br//uHO//LSvv/mp33/3nhJ/9dwQv/bb0X/23BG/7RrSP+wb0r/4nhK/+V3Rf/qeEX/8HZE/+lzQf/adUf/yWg+/7lfO/+tYDz/qWFA/6xeOf/IaTn/5nND/+h1SP/pdkj/3ndN/7RtUP+NWTrg2oJX/+uGVf/ofkv/84FN/++ETv/qfk//6n5Q/+h+Uv/ngFP/5oFS/+d/UP/nfk//839O/+5+Tv/uhVj/3YFa/5JYPOCRVkEppFo64NN8UP/dgVT/3oRR/92DTP/ihVj/34FX/+ODVf/mg1T/5IRO/96ET//cglH/4YJT/+CCVv/Te1D/oVk44JBVQCkAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEE=");
   menuItem.setAttribute("oncommand", "getBrowser().selectedTab = getBrowser().addTab('https://www.google.com')");
   document.getElementById("context-searchselect").parentNode.insertBefore( menuItem, document.getElementById("context-searchselect") );
   
   document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() {
     menuItem.hidden = !gContextMenu; 
     }, false);
})();
(function() {
   if ( document.getElementById("context-site-2") ) return; 
               
   var menuItem = document.createElement("menuitem");
   menuItem.id = "context-site-2";
   menuItem.setAttribute("label", "Форум Mozilla Россия");
   menuItem.setAttribute("class", "menuitem-iconic");
   menuItem.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==");
   menuItem.setAttribute("oncommand", "getBrowser().selectedTab = getBrowser().addTab('https://forum.mozilla-russia.org/index.php')");
   document.getElementById("context-searchselect").parentNode.insertBefore(menuItem, document.getElementById("context-searchselect"));
   
   document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() {
     menuItem.hidden = !gContextMenu; 
     }, false);
})();

Вариант 2:

Выделить код

Код:

(function() {
   if ( document.getElementById("context-site-1") ) return; 
               
   var menuItem = document.createElement("menuitem");
   menuItem.id = "context-site-1";
   menuItem.setAttribute("label", "Google");
   menuItem.setAttribute("tooltiptext", 'Перейти на "Google"');
   menuItem.setAttribute("class", "menuitem-iconic");
   menuItem.setAttribute("image", "data:image/x-icon;base64,AAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBKBMpTCYX4GMrH/9gMxn/YDQV/2cyG/9nLxr/YjMd/10xHv9cMRz/XjIa/2ExHP9gNRn/YDIV/2IwHf9ULSL/RCcU4EEoEylLKBfgcjUe/349IP98QRr/gEEd/39AKP+FUjv/h2NL/4lkUP+GYEv/hVQ+/35CJv9+Phz/gEIb/4c8H/96PCT/azgb/0koFOBpMyT/jD8i/4RFIf97RB3/hEUr/7GCdf/q29L/+e3e/97HuP/dwLD/6M2+/76VhP9+RSr/hUMg/5NAH/+NQCX/h0Ai/2Q1Iv9yOyf/lkYn/4xFJP+HSSn/m25Y//7y6v/bw7f/fkw2/3hBJv90QSX/hFI9/+nUxv+2k4H/i0kq/5VIJP+QRiL/lkYn/3Q5Kv9zQSn/mUkp/5tJKf+XSin/roJr//757f+0gG//l0oq/5NMI/+WTCH/i00u/8q0o//jx7j/mFU6/5JMJP+TTiL/l0wl/3Y/K/93Rif/oE4p/6ZNK/+jTSz/pGpS//rn2v/Np5b/kFEx/5BSK/+XTyv/nmFJ/+rTyP/lyrv/nlk+/5NRJv+WUib/l1Ik/3lFK/+BSyr/plQt/6ZULP+mUyv/nFIz/6d3Yf/hxrX/3b6n/7SUf/+7l4b/8NjL//7z6//BkoH/mlMz/55TLP+iUyv/olMp/4FJK/+FSzP/qVUz/61ZMf+sWSv/rFYs/59TM/+cWT//nmJJ/8OSgf/+8ub/+O/b/8ikkv+iVTb/qVgv/6pVMP+1WDT/qVY1/4ZMMf+MUTX/q1sx/7RZMf+2WjH/t1wv/7JbLf+oXDT/nVtD/8yajv/+8uf/ybGZ/5VYOP+zWDL/t1sx/7NYMv+5WjX/sFk2/49SM/+VVDn/s143/7hfNP+8WzX/v141/6xeMv/ZoYD/+9/I/+DBtP/Ss6P/7L+l/7l1Tf+1XjT/vlw0/7tdM/+6YC//tV42/5FYNP+cU0D/uGE9/75fNf/GZTb/wGI4/8OBYv//5tT/5byr/6RjSP+lXD//26eM//TNsf+3YkH/xGI3/8NjNf+7Yi//uGE3/5pZOv+hWEH/wGY9/8RlNP/KaDf/xWY3/9+ef///5tv/v4Vt/8NmOv+9ZUD/xI16//7o2v/FgGX/x2g5/8poNv/KaDb/xWU5/6ZYQv+mYUH/y2s7/8xwN//TbTf/0m46/+CYd///59X/vIJk/81tOv/Bbz//4a6b//7n2P/FiGL/yWw4/9FtN//KcDf/zG45/6dfQP+tZT//1W4//9pxPf/VbTz/1G5B/75wTf/31L7/z56C/8V5TP/TkGP/+NXC//XSv/+4cEr/0nA7/9VwO//Ubz7/1G88/61kP/+0bkj/4XNC/99wPv/gckL/321B/9VwR//Gf2D/6reX/+/DoP/82br//uHO//LSvv/mp33/3nhJ/9dwQv/bb0X/23BG/7RrSP+wb0r/4nhK/+V3Rf/qeEX/8HZE/+lzQf/adUf/yWg+/7lfO/+tYDz/qWFA/6xeOf/IaTn/5nND/+h1SP/pdkj/3ndN/7RtUP+NWTrg2oJX/+uGVf/ofkv/84FN/++ETv/qfk//6n5Q/+h+Uv/ngFP/5oFS/+d/UP/nfk//839O/+5+Tv/uhVj/3YFa/5JYPOCRVkEppFo64NN8UP/dgVT/3oRR/92DTP/ihVj/34FX/+ODVf/mg1T/5IRO/96ET//cglH/4YJT/+CCVv/Te1D/oVk44JBVQCkAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEE=");
   menuItem.setAttribute("oncommand", "getBrowser().selectedTab = getBrowser().addTab('https://www.google.com')");
   document.getElementById("context-navigation").appendChild( menuItem, document.getElementById("context-navigation") );
   
   document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() {
     menuItem.hidden = !gContextMenu; 
     }, false);
})();
(function() {
   if ( document.getElementById("context-site-2") ) return; 
               
   var menuItem = document.createElement("menuitem");
   menuItem.id = "context-site-2";
   menuItem.setAttribute("label", "Форум Mozilla Россия");
   menuItem.setAttribute("tooltiptext", 'Перейти на "Форум Mozilla Россия"');
   menuItem.setAttribute("class", "menuitem-iconic");
   menuItem.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==");
   menuItem.setAttribute("oncommand", "getBrowser().selectedTab = getBrowser().addTab('https://forum.mozilla-russia.org/index.php')");
   document.getElementById("context-navigation").appendChild(menuItem, document.getElementById("context-navigation"));
   
   document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() {
     menuItem.hidden = !gContextMenu; 
     }, false);
})();

В инициализацию любой кнопки. Добавляйте свои сайты по образцу.

Отсутствует

 

№70013-05-2015 16:39:39

Stkvsky
Участник
 
Группа: Members
Зарегистрирован: 26-06-2012
Сообщений: 1700
UA: Firefox 31.0

Re: Обсуждение кнопок CB

turbot пишет

Stakhovsky
На скорую руку из "Google Image Search":

скрытый текст
https://lh3.googleusercontent.com/-jaWy … pboard.png

Вариант 1:

Выделить код

Код:

(function() {
   if ( document.getElementById("context-site-1") ) return; 
               
   var menuItem = document.createElement("menuitem");
   menuItem.id = "context-site-1";
   menuItem.setAttribute("label", "Google");
   menuItem.setAttribute("class", "menuitem-iconic");
   menuItem.setAttribute("image", "data:image/x-icon;base64,AAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBKBMpTCYX4GMrH/9gMxn/YDQV/2cyG/9nLxr/YjMd/10xHv9cMRz/XjIa/2ExHP9gNRn/YDIV/2IwHf9ULSL/RCcU4EEoEylLKBfgcjUe/349IP98QRr/gEEd/39AKP+FUjv/h2NL/4lkUP+GYEv/hVQ+/35CJv9+Phz/gEIb/4c8H/96PCT/azgb/0koFOBpMyT/jD8i/4RFIf97RB3/hEUr/7GCdf/q29L/+e3e/97HuP/dwLD/6M2+/76VhP9+RSr/hUMg/5NAH/+NQCX/h0Ai/2Q1Iv9yOyf/lkYn/4xFJP+HSSn/m25Y//7y6v/bw7f/fkw2/3hBJv90QSX/hFI9/+nUxv+2k4H/i0kq/5VIJP+QRiL/lkYn/3Q5Kv9zQSn/mUkp/5tJKf+XSin/roJr//757f+0gG//l0oq/5NMI/+WTCH/i00u/8q0o//jx7j/mFU6/5JMJP+TTiL/l0wl/3Y/K/93Rif/oE4p/6ZNK/+jTSz/pGpS//rn2v/Np5b/kFEx/5BSK/+XTyv/nmFJ/+rTyP/lyrv/nlk+/5NRJv+WUib/l1Ik/3lFK/+BSyr/plQt/6ZULP+mUyv/nFIz/6d3Yf/hxrX/3b6n/7SUf/+7l4b/8NjL//7z6//BkoH/mlMz/55TLP+iUyv/olMp/4FJK/+FSzP/qVUz/61ZMf+sWSv/rFYs/59TM/+cWT//nmJJ/8OSgf/+8ub/+O/b/8ikkv+iVTb/qVgv/6pVMP+1WDT/qVY1/4ZMMf+MUTX/q1sx/7RZMf+2WjH/t1wv/7JbLf+oXDT/nVtD/8yajv/+8uf/ybGZ/5VYOP+zWDL/t1sx/7NYMv+5WjX/sFk2/49SM/+VVDn/s143/7hfNP+8WzX/v141/6xeMv/ZoYD/+9/I/+DBtP/Ss6P/7L+l/7l1Tf+1XjT/vlw0/7tdM/+6YC//tV42/5FYNP+cU0D/uGE9/75fNf/GZTb/wGI4/8OBYv//5tT/5byr/6RjSP+lXD//26eM//TNsf+3YkH/xGI3/8NjNf+7Yi//uGE3/5pZOv+hWEH/wGY9/8RlNP/KaDf/xWY3/9+ef///5tv/v4Vt/8NmOv+9ZUD/xI16//7o2v/FgGX/x2g5/8poNv/KaDb/xWU5/6ZYQv+mYUH/y2s7/8xwN//TbTf/0m46/+CYd///59X/vIJk/81tOv/Bbz//4a6b//7n2P/FiGL/yWw4/9FtN//KcDf/zG45/6dfQP+tZT//1W4//9pxPf/VbTz/1G5B/75wTf/31L7/z56C/8V5TP/TkGP/+NXC//XSv/+4cEr/0nA7/9VwO//Ubz7/1G88/61kP/+0bkj/4XNC/99wPv/gckL/321B/9VwR//Gf2D/6reX/+/DoP/82br//uHO//LSvv/mp33/3nhJ/9dwQv/bb0X/23BG/7RrSP+wb0r/4nhK/+V3Rf/qeEX/8HZE/+lzQf/adUf/yWg+/7lfO/+tYDz/qWFA/6xeOf/IaTn/5nND/+h1SP/pdkj/3ndN/7RtUP+NWTrg2oJX/+uGVf/ofkv/84FN/++ETv/qfk//6n5Q/+h+Uv/ngFP/5oFS/+d/UP/nfk//839O/+5+Tv/uhVj/3YFa/5JYPOCRVkEppFo64NN8UP/dgVT/3oRR/92DTP/ihVj/34FX/+ODVf/mg1T/5IRO/96ET//cglH/4YJT/+CCVv/Te1D/oVk44JBVQCkAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEE=");
   menuItem.setAttribute("oncommand", "getBrowser().selectedTab = getBrowser().addTab('https://www.google.com')");
   document.getElementById("context-searchselect").parentNode.insertBefore( menuItem, document.getElementById("context-searchselect") );
   
   document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() {
     menuItem.hidden = !gContextMenu; 
     }, false);
})();
(function() {
   if ( document.getElementById("context-site-2") ) return; 
               
   var menuItem = document.createElement("menuitem");
   menuItem.id = "context-site-2";
   menuItem.setAttribute("label", "Форум Mozilla Россия");
   menuItem.setAttribute("class", "menuitem-iconic");
   menuItem.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==");
   menuItem.setAttribute("oncommand", "getBrowser().selectedTab = getBrowser().addTab('https://forum.mozilla-russia.org/index.php')");
   document.getElementById("context-searchselect").parentNode.insertBefore(menuItem, document.getElementById("context-searchselect"));
   
   document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() {
     menuItem.hidden = !gContextMenu; 
     }, false);
})();

Вариант 2:

Выделить код

Код:

(function() {
   if ( document.getElementById("context-site-1") ) return; 
               
   var menuItem = document.createElement("menuitem");
   menuItem.id = "context-site-1";
   menuItem.setAttribute("label", "Google");
   menuItem.setAttribute("tooltiptext", 'Перейти на "Google"');
   menuItem.setAttribute("class", "menuitem-iconic");
   menuItem.setAttribute("image", "data:image/x-icon;base64,AAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBKBMpTCYX4GMrH/9gMxn/YDQV/2cyG/9nLxr/YjMd/10xHv9cMRz/XjIa/2ExHP9gNRn/YDIV/2IwHf9ULSL/RCcU4EEoEylLKBfgcjUe/349IP98QRr/gEEd/39AKP+FUjv/h2NL/4lkUP+GYEv/hVQ+/35CJv9+Phz/gEIb/4c8H/96PCT/azgb/0koFOBpMyT/jD8i/4RFIf97RB3/hEUr/7GCdf/q29L/+e3e/97HuP/dwLD/6M2+/76VhP9+RSr/hUMg/5NAH/+NQCX/h0Ai/2Q1Iv9yOyf/lkYn/4xFJP+HSSn/m25Y//7y6v/bw7f/fkw2/3hBJv90QSX/hFI9/+nUxv+2k4H/i0kq/5VIJP+QRiL/lkYn/3Q5Kv9zQSn/mUkp/5tJKf+XSin/roJr//757f+0gG//l0oq/5NMI/+WTCH/i00u/8q0o//jx7j/mFU6/5JMJP+TTiL/l0wl/3Y/K/93Rif/oE4p/6ZNK/+jTSz/pGpS//rn2v/Np5b/kFEx/5BSK/+XTyv/nmFJ/+rTyP/lyrv/nlk+/5NRJv+WUib/l1Ik/3lFK/+BSyr/plQt/6ZULP+mUyv/nFIz/6d3Yf/hxrX/3b6n/7SUf/+7l4b/8NjL//7z6//BkoH/mlMz/55TLP+iUyv/olMp/4FJK/+FSzP/qVUz/61ZMf+sWSv/rFYs/59TM/+cWT//nmJJ/8OSgf/+8ub/+O/b/8ikkv+iVTb/qVgv/6pVMP+1WDT/qVY1/4ZMMf+MUTX/q1sx/7RZMf+2WjH/t1wv/7JbLf+oXDT/nVtD/8yajv/+8uf/ybGZ/5VYOP+zWDL/t1sx/7NYMv+5WjX/sFk2/49SM/+VVDn/s143/7hfNP+8WzX/v141/6xeMv/ZoYD/+9/I/+DBtP/Ss6P/7L+l/7l1Tf+1XjT/vlw0/7tdM/+6YC//tV42/5FYNP+cU0D/uGE9/75fNf/GZTb/wGI4/8OBYv//5tT/5byr/6RjSP+lXD//26eM//TNsf+3YkH/xGI3/8NjNf+7Yi//uGE3/5pZOv+hWEH/wGY9/8RlNP/KaDf/xWY3/9+ef///5tv/v4Vt/8NmOv+9ZUD/xI16//7o2v/FgGX/x2g5/8poNv/KaDb/xWU5/6ZYQv+mYUH/y2s7/8xwN//TbTf/0m46/+CYd///59X/vIJk/81tOv/Bbz//4a6b//7n2P/FiGL/yWw4/9FtN//KcDf/zG45/6dfQP+tZT//1W4//9pxPf/VbTz/1G5B/75wTf/31L7/z56C/8V5TP/TkGP/+NXC//XSv/+4cEr/0nA7/9VwO//Ubz7/1G88/61kP/+0bkj/4XNC/99wPv/gckL/321B/9VwR//Gf2D/6reX/+/DoP/82br//uHO//LSvv/mp33/3nhJ/9dwQv/bb0X/23BG/7RrSP+wb0r/4nhK/+V3Rf/qeEX/8HZE/+lzQf/adUf/yWg+/7lfO/+tYDz/qWFA/6xeOf/IaTn/5nND/+h1SP/pdkj/3ndN/7RtUP+NWTrg2oJX/+uGVf/ofkv/84FN/++ETv/qfk//6n5Q/+h+Uv/ngFP/5oFS/+d/UP/nfk//839O/+5+Tv/uhVj/3YFa/5JYPOCRVkEppFo64NN8UP/dgVT/3oRR/92DTP/ihVj/34FX/+ODVf/mg1T/5IRO/96ET//cglH/4YJT/+CCVv/Te1D/oVk44JBVQCkAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEE=");
   menuItem.setAttribute("oncommand", "getBrowser().selectedTab = getBrowser().addTab('https://www.google.com')");
   document.getElementById("context-navigation").appendChild( menuItem, document.getElementById("context-navigation") );
   
   document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() {
     menuItem.hidden = !gContextMenu; 
     }, false);
})();
(function() {
   if ( document.getElementById("context-site-2") ) return; 
               
   var menuItem = document.createElement("menuitem");
   menuItem.id = "context-site-2";
   menuItem.setAttribute("label", "Форум Mozilla Россия");
   menuItem.setAttribute("tooltiptext", 'Перейти на "Форум Mozilla Россия"');
   menuItem.setAttribute("class", "menuitem-iconic");
   menuItem.setAttribute("image", "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHWSURBVHjaYvz//z8DJQAggJiQOe/fv2fv7Oz8rays/N+VkfG/iYnJfyD/1+rVq7ffu3dPFpsBAAHEAHIBCJ85c8bN2Nj4vwsDw/8zQLwKiO8CcRoQu0DxqlWrdsHUwzBAAIGJmTNnPgYa9j8UqhFElwPxf2MIDeIrKSn9FwSJoRkAEEAM0DD4DzMAyPi/G+QKY4hh5WAXGf8PDQ0FGwJ22d27CjADAAIIrLmjo+MXA9R2kAHvGBA2wwx6B8W7od6CeQcggKCmCEL8bgwxYCbUIGTDVkHDBia+CuotgACCueD3TDQN75D4xmAvCoK9ARMHBzAw0AECiBHkAlC0Mdy7x9ABNA3obAZXIAa6iKEcGlMVQHwWyjYuL2d4v2cPg8vZswx7gHyAAAK7AOif7SAbOqCmn4Ha3AHFsIDtgPq/vLz8P4MSkJ2W9h8ggBjevXvHDo4FQUQg/kdypqCg4H8lUIACnQ/SOBMYI8bAsAJFPcj1AAEEjwVQqLpAbXmH5BJjqI0gi9DTAAgDBBCcAVLkgmQ7yKCZxpCQxqUZhAECCJ4XgMl493ug21ZD+aDAXH0WLM4A9MZPXJkJIIAwTAR5pQMalaCABQUULttBGCCAGCnNzgABBgAMJ5THwGvJLAAAAABJRU5ErkJggg==");
   menuItem.setAttribute("oncommand", "getBrowser().selectedTab = getBrowser().addTab('https://forum.mozilla-russia.org/index.php')");
   document.getElementById("context-navigation").appendChild(menuItem, document.getElementById("context-navigation"));
   
   document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() {
     menuItem.hidden = !gContextMenu; 
     }, false);
})();

В инициализацию любой кнопки. Добавляйте свои сайты по образцу.

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

скрытый текст
Я похоже нашел то что нужно, вот эта вот кнопка https://forum.mozilla-russia.org/viewtopic.php?id=57905

// Добавить новый пункт "Поиск изображения в google" в контекстном меню изображений(с иконкой) ...........................
(function() {
   if ( document.getElementById("image-search") ) return;
               
   var menuItem = document.createElement("menuitem");
   menuItem.id = "image-search";
   menuItem.setAttribute("label", "Поиск изображения в google");
   menuItem.setAttribute("class", "menuitem-iconic");
   menuItem.setAttribute("image", "data:image/x-icon;base64,AAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBKBMpTCYX4GMrH/9gMxn/YDQV/2cyG/9nLxr/YjMd/10xHv9cMRz/XjIa/2ExHP9gNRn/YDIV/2IwHf9ULSL/RCcU4EEoEylLKBfgcjUe/349IP98QRr/gEEd/39AKP+FUjv/h2NL/4lkUP+GYEv/hVQ+/35CJv9+Phz/gEIb/4c8H/96PCT/azgb/0koFOBpMyT/jD8i/4RFIf97RB3/hEUr/7GCdf/q29L/+e3e/97HuP/dwLD/6M2+/76VhP9+RSr/hUMg/5NAH/+NQCX/h0Ai/2Q1Iv9yOyf/lkYn/4xFJP+HSSn/m25Y//7y6v/bw7f/fkw2/3hBJv90QSX/hFI9/+nUxv+2k4H/i0kq/5VIJP+QRiL/lkYn/3Q5Kv9zQSn/mUkp/5tJKf+XSin/roJr//757f+0gG//l0oq/5NMI/+WTCH/i00u/8q0o//jx7j/mFU6/5JMJP+TTiL/l0wl/3Y/K/93Rif/oE4p/6ZNK/+jTSz/pGpS//rn2v/Np5b/kFEx/5BSK/+XTyv/nmFJ/+rTyP/lyrv/nlk+/5NRJv+WUib/l1Ik/3lFK/+BSyr/plQt/6ZULP+mUyv/nFIz/6d3Yf/hxrX/3b6n/7SUf/+7l4b/8NjL//7z6//BkoH/mlMz/55TLP+iUyv/olMp/4FJK/+FSzP/qVUz/61ZMf+sWSv/rFYs/59TM/+cWT//nmJJ/8OSgf/+8ub/+O/b/8ikkv+iVTb/qVgv/6pVMP+1WDT/qVY1/4ZMMf+MUTX/q1sx/7RZMf+2WjH/t1wv/7JbLf+oXDT/nVtD/8yajv/+8uf/ybGZ/5VYOP+zWDL/t1sx/7NYMv+5WjX/sFk2/49SM/+VVDn/s143/7hfNP+8WzX/v141/6xeMv/ZoYD/+9/I/+DBtP/Ss6P/7L+l/7l1Tf+1XjT/vlw0/7tdM/+6YC//tV42/5FYNP+cU0D/uGE9/75fNf/GZTb/wGI4/8OBYv//5tT/5byr/6RjSP+lXD//26eM//TNsf+3YkH/xGI3/8NjNf+7Yi//uGE3/5pZOv+hWEH/wGY9/8RlNP/KaDf/xWY3/9+ef///5tv/v4Vt/8NmOv+9ZUD/xI16//7o2v/FgGX/x2g5/8poNv/KaDb/xWU5/6ZYQv+mYUH/y2s7/8xwN//TbTf/0m46/+CYd///59X/vIJk/81tOv/Bbz//4a6b//7n2P/FiGL/yWw4/9FtN//KcDf/zG45/6dfQP+tZT//1W4//9pxPf/VbTz/1G5B/75wTf/31L7/z56C/8V5TP/TkGP/+NXC//XSv/+4cEr/0nA7/9VwO//Ubz7/1G88/61kP/+0bkj/4XNC/99wPv/gckL/321B/9VwR//Gf2D/6reX/+/DoP/82br//uHO//LSvv/mp33/3nhJ/9dwQv/bb0X/23BG/7RrSP+wb0r/4nhK/+V3Rf/qeEX/8HZE/+lzQf/adUf/yWg+/7lfO/+tYDz/qWFA/6xeOf/IaTn/5nND/+h1SP/pdkj/3ndN/7RtUP+NWTrg2oJX/+uGVf/ofkv/84FN/++ETv/qfk//6n5Q/+h+Uv/ngFP/5oFS/+d/UP/nfk//839O/+5+Tv/uhVj/3YFa/5JYPOCRVkEppFo64NN8UP/dgVT/3oRR/92DTP/ihVj/34FX/+ODVf/mg1T/5IRO/96ET//cglH/4YJT/+CCVv/Te1D/oVk44JBVQCkAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEEAAABBAAAAQQAAAEE=");
   menuItem.setAttribute("oncommand", "getBrowser().selectedTab = getBrowser().addTab('http://www.google.com/searchbyimage?image_url=' + encodeURIComponent( gContextMenu.mediaURL || gContextMenu.imageURL || gContextMenu.bgImageURL ) )");
   document.getElementById("context-viewimage").parentNode.insertBefore( menuItem, document.getElementById("context-viewimage") );
   
   document.getElementById("contentAreaContextMenu").addEventListener("popupshowing", function() {
     menuItem.hidden = !gContextMenu.onImage;
     }, false);
})();

Название переименовую в этой строке:

menuItem.setAttribute("label", "Поиск изображения в google");

Сюда вставляю код иконки base64, иконку создаю здесь: http://xaviesteve.com//pro/base64.php?

menuItem.setAttribute("image", "data:image/x-icon;base64,код base64");

Дальше прошу помочь
1.Куда вставлять ссылку на сайт?
2.Как сделать что бы сайт открывался в этой же вкладке, а не в новой?
3.Как сделать что бы пункт в меню был постоянно, а не только при клике на изображении?


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

Отредактировано Stakhovsky (13-05-2015 17:09:38)

Отсутствует

 

Board footer

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