>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Сustom Buttons http://forum.mozilla-russia.org/viewforum.php?id=34 >[CB]Добавыть в контекстное меню раширений "Открыть папку расширения" http://forum.mozilla-russia.org/viewtopic.php?id=56801 |
bunda1 > 25-10-2012 20:26:31 |
Добавыть в контекстное меню раширений пункт "Открыть папку расширения"(Firefox 10 +) Выделить код Код:// Добавыть в контекстное меню раширений пункт "Открыть папку расширения" .... gBrowser.addEventListener("popupshowing", function(event) { var addonPopup = gBrowser.contentWindow.document.getElementById("addonitem-popup"); var openAddonFolder = gBrowser.contentWindow.document.getElementById("openAddonFolder"); if ( addonPopup && openAddonFolder ) { var type = addonPopup.getAttribute("addontype"); openAddonFolder.hidden = (type !== 'extension'); }; if ( addonPopup && !addonPopup.hasAttribute('stopRepeat') ) { if (addonPopup.getAttribute("addontype") !== 'extension') return; addonPopup.setAttribute('stopRepeat', 'true'); var menuitem = document.createElement("menuitem"); menuitem.setAttribute("id", "openAddonFolder"); menuitem.setAttribute("label", "Открыть папку расширения"); addonPopup.appendChild(menuitem); gBrowser.contentWindow.document.getElementById("openAddonFolder").addEventListener("click", function(event) { var addons = gBrowser.contentWindow.document.getElementById('addon-list').childNodes; for( var i=0; i < addons.length; i++ ) { if ( addons[i].getAttribute('current') == 'true' ) { var value = addons[i].getAttribute('value'); var dir = Components.classes['@mozilla.org/file/directory_service;1'] .getService(Components.interfaces.nsIProperties) .get('ProfD', Components.interfaces.nsILocalFile); dir.append('extensions'); dir.append( value ); if ( dir.exists() ) dir.launch(); var file = Components.classes['@mozilla.org/file/directory_service;1'] .getService(Components.interfaces.nsIProperties) .get('ProfD', Components.interfaces.nsILocalFile); file.append('extensions'); file.append( value + '.xpi' ) if ( file.exists() ) file.launch(); return; } } }, false); }; }, false); |
Inko7 > 22-11-2012 18:06:08 |
А можно ли заранее определять, имеет расширение свою папку или нет? |
bunda1 > 22-11-2012 18:25:14 |
Конечно можно, но нужен пример. |
Inko7 > 22-11-2012 18:38:13 |
пример чего? |
bunda1 > 22-11-2012 18:50:19 |
Но у Adblock Plus есть {d10d0bf8-f5b5-c8b4-a8b2-2b9879e08c5d}.xpi в папке Profile\extensions. |
Inko7 > 22-11-2012 19:08:27 |
Да, есть. Я ж про такие расширения и говорю - у тех у кого папки нет, но есть вот такие xpi-файлы. |
bunda1 > 22-11-2012 19:22:57 |
И в чем проблема Это же удобней чем искать в папке extensions файл расширения с не известным названием типа {46551EC9-40F0-4e47-8E18-8E5CF550CFB8} 22-11-2012 19:25:18 |
Inko7 > 22-11-2012 19:36:58 |
bunda1 |
bunda1 > 22-11-2012 19:39:27 |
Ну тогда хорошо |
Andrey_Krropotkin > 23-04-2013 18:47:25 |
bunda1 подскажи пожалуйста, что нужно изменить в коде, чтобы пункт меню "Открыть папку расширения" добавлялся не только на странице расширений about:addons, но и в меню в боковой панели (использую All-in-One Sidebar). Побывал разные варианты, что-то не получается. |
LBra > 23-04-2013 21:06:54 |
Inko7 пишет
Кнопка Fire Explorer делает все это и даже больше. |