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

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

№2622-08-2013 15:05:37

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

Re: Замена расширений кнопками CB

>ORG@niZM< пишет

оставил нужный (для проверки работоспособности заполнил gmail)

там яндекс, там контакт, смотрите, ищите =)  скрипты поставить ну тут их ок 160 чтоли

Добавлено 22-08-2013 15:08:21
А яндекс бар зачем, левый тулбар контакта, бредовый гисметео и гисметеобюро, где решить не могут что завтра снег или жара?

Отредактировано feas (22-08-2013 15:09:06)


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

Отсутствует

 

№2722-08-2013 15:17:33

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

Re: Замена расширений кнопками CB

feas
на текущий момент от Я.Б остались часики )), кнопки соц.сетей (VK, ОК, FB, Twitter) и три кнопки почты и кнопка для слежения за файлами на Народе (не предлагать перезалить на Я.Д!)

Добавлено 22-08-2013 15:18:23

feas пишет

бредовый гисметео и гисметеобюро, где решить не могут что завтра снег или жара?

хм, для своего города не замечал

Отредактировано >ORG@niZM< (22-08-2013 15:18:23)

Отсутствует

 

№2822-08-2013 15:25:52

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

Re: Замена расширений кнопками CB

>ORG@niZM< пишет

для своего города не замечал

http://rp5.ru/%D0%9F%D0%BE%D0%B3%D0%BE% … 0%B8%D0%B8

>ORG@niZM< пишет

от Я.Б остались часики ))

справа снизу =))))))))

>ORG@niZM< пишет

кнопки соц.сетей (VK, ОК, FB, Twitter) три кнопки почты

закладки,xnotifer все?

>ORG@niZM< пишет

и кнопка для слежения за файлами на Народе

а он ещё существует, вроде бы им... каюк не? теперь яндекс предлагает скачать либо через клиент диска либо на скорости 10Кб - куча ора мата уже что никто скачать не может, лучше перезалейте на дропбокс или rghost.

Отредактировано feas (22-08-2013 15:27:32)


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

Отсутствует

 

№2922-08-2013 15:28:10

Pony_Smile_Pack
Участник
 
Группа: Members
Зарегистрирован: 13-01-2012
Сообщений: 1144
UA: Firefox 23.0

Re: Замена расширений кнопками CB

>ORG@niZM< пишет

кнопка для слежения за файлами на Народе

Должно сообщать на почту и так. Галочку поставить только.

Отсутствует

 

№3022-08-2013 15:29:14

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

Re: Замена расширений кнопками CB

feas пишет

Vacuum Places Improved 1.2 №21

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

feas пишет

Toggle Find Bar 0.1.1 [CB]Toggle Find+3

заменил пока на джетпак Findbar Tweak, но кнопку возьму на заметку и при случае обкатаю в бою

feas пишет

Tab Utilities 1.2 - стили и about config

склоняюсь таки к https://forum.mozilla-russia.org/viewtopic.php?id=52227

feas пишет

[CB]Изменить масштаб + №57

с натяжкой, но принимается

feas пишет

MouseZoom 0.4.9 зажать CTRL и крути

лень, однако. приятнее одной рукой с мышой зумить

feas пишет

[CB]Остановить загрузку всех вкладок [CB]Автоматически перезагружать вкладку

принято, спасибо.

feas пишет

Flashblock 1.5.17 встроено

но такой способ не поддерживает белые списки. или ...?

feas пишет

feedly 16.0.528 и Brief не одно и тоже

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

feas пишет

Extension List Dumper 1.15.2 и №84

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

feas пишет

Extended Statusbar 1.5.8 и Statua4ever

дополняют друг друга

feas пишет

RSS иконка в строке адреса 1.3 [CB]Feed-button в адресной стоке

вообще-то было отключено, можно было не обращать внимание ))

feas пишет

Linkification 1.3.9 №154

расширение было отключено, а кнопка по мне так через раз работает, однако взял её ещё до обращения в эту тему


feas пишет

закладки,xnotifer все?

закладки не так наглядно, как интерактивная кнопка, меняющая свой вид при изменениях в соц.сетях + выпадающие меню с быстрым доступом к нужному (изменённому) разделу ))
а xnotifier заглючил на моём текущем профиле (что ни капельки не удивило, только пара бранных слов вырвалась), но я и стремлюсь к очистке его от как можно большего числа расширений за счёт кнопок (пока, затем начну копать в скриптах и стилях)

Отредактировано >ORG@niZM< (22-08-2013 21:41:19)

Отсутствует

 

№3122-08-2013 21:46:32

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

Re: Замена расширений кнопками CB

feas пишет

http://rp5.ru/%D0%9F%D0%BE%D0%B3%D0%BE% … 0%B8%D0%B8

имел ввиду, что не замечал корявости прогнозов для своего города
к тому же поиском не обнаружил готовой кнопки для rp5

Добавлено 22-08-2013 21:56:08

feas пишет

подписки в адблоке на приватность

немного не понял, какая это подписка. у меня используются Ruadlist+Easylist, BitBlock (иногда отключаю) и Counters - других на сайте не обнаружил

Отредактировано >ORG@niZM< (22-08-2013 21:56:26)

Отсутствует

 

№3222-08-2013 22:15:13

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

Re: Замена расширений кнопками CB

>ORG@niZM< пишет

к тому же поиском не обнаружил готовой кнопки для rp5

все просто №3 и любая закладка становится кнопкой (в новой вкладке тут)
аналогично кнопка меню закладок №6
и с подкаталогами №24

Отредактировано feas (22-08-2013 22:21:35)


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

Отсутствует

 

№3322-08-2013 22:15:39

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

Re: Замена расширений кнопками CB

>ORG@niZM<
Add Bookmark Here ² 17.0.20121128

Выделить код

Код:

// Двойным левым кликом на папке закладок добавлять закладку в папку закладок ...................................
addEventListener("dblclick", function(e) {      
   var target = e.originalTarget;
              
   if ( e.button !== 0 || !target._placesNode || !PlacesUtils.nodeIsFolder( target._placesNode ) ) return;          
        var docTitle = ( content.document.title || gBrowser.mCurrentTab.label).substr(0, 50);
        var folderId = PlacesUtils.getConcreteItemId( target._placesNode );
        var currentURI = Services.io.newURI( content.location, null, null );
        PlacesUtils.bookmarks.insertBookmark( folderId, currentURI, 0, docTitle );  

        // всплывающая подсказка ....
        var folderTitle = PlacesUtils.bookmarks.getItemTitle( folderId );
        var favicon = ( !!gBrowser.mCurrentTab.image ) ? gBrowser.mCurrentTab.image : "chrome://global/skin/icons/Portrait.png";
        var alertsService = Components.classes["@mozilla.org/alerts-service;1"].getService(Components.interfaces.nsIAlertsService);
        alertsService.showAlertNotification( favicon, "Добавил в папку " + folderTitle + ":", docTitle, false, "", null, ""); 
}, false, window );

Отсутствует

 

№3422-08-2013 22:17:03

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

Re: Замена расширений кнопками CB

>ORG@niZM< пишет

немного не понял, какая это подписка. у меня используются Ruadlist+Easylist, BitBlock (иногда отключаю) и Counters (как раз антисчетчик, мое прим.) - других на сайте не обнаружил

настройки фильтров, добавить подписку - добавить другие подписки


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

Отсутствует

 

№3522-08-2013 22:19:54

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

Re: Замена расширений кнопками CB

feas пишет

все просто №3 и любая закладка становится кнопкой (в новой вкладке тут)

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

Отсутствует

 

№3622-08-2013 22:22:56

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

Re: Замена расширений кнопками CB

>ORG@niZM<
Addon Update Checker 2.2
[CB]Check for Addons Updates

Отредактировано bunda1 (22-08-2013 22:25:45)

Отсутствует

 

№3722-08-2013 22:25:36

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

Re: Замена расширений кнопками CB

>ORG@niZM< пишет

без отображения

№91 с помощью её вытащите иконку и отредактируйте кнопку. :)

Добавлено 22-08-2013 22:27:18

>ORG@niZM< пишет

без отображения хотя бы температуры

№146

Отредактировано feas (22-08-2013 22:27:18)


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

Отсутствует

 

№3822-08-2013 22:27:47

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

Re: Замена расширений кнопками CB

Отсутствует

 

№3922-08-2013 22:41:10

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

Re: Замена расширений кнопками CB

bunda1 пишет

Add Bookmark Here

забрал, спасибо. Минус 1.

bunda1 пишет

[CB]Check for Addons Updates

Немного не то. Расширение даёт возможность автоматической проверки с заданным интервалом, а кнопка, я так понял, выполняет проверку после нажатия.

feas пишет

№146

так мы же про rp5 говорили;)

Добавлено 22-08-2013 22:43:33

bunda1 пишет

Расширение функций кнопки "Группы вкладок"(Firefox)

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

Добавлено 22-08-2013 22:53:44

feas пишет

№91

кстати в коллекции с недавних пор, но редко пользовался. пересмотрел её функции и выкинул abduction

Отредактировано >ORG@niZM< (22-08-2013 22:53:44)

Отсутствует

 

№4022-08-2013 23:19:00

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

Re: Замена расширений кнопками CB

>ORG@niZM< пишет

так мы же про rp5 говорили;)

Хочешь знать почему я не люблю гисметео яндеска майловые погодники.
1) иконка с текущей погодкой считаю бредом ибо окно или коллеги как правило рядом.
2) В подобных службах например указана иконка дождя и говорят дождь, на деле вероятность в 10% и в 95% у них абсолютно одинакова. Для тебя одинакова вероятность когда 2-3 минуты покапает, даже не поморосит и когда реки на улицах к примеру?
3) потратив 10-20 сек я знаю погоду на неделю (довольно точную), сколько у вас уйдет времени?

Отредактировано feas (22-08-2013 23:19:55)


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

Отсутствует

 

№4122-08-2013 23:29:44

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

Re: Замена расширений кнопками CB

feas
не буду спорить ;)

Отсутствует

 

№4227-08-2013 21:47:43

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

Re: Замена расширений кнопками CB

VT + почему-то не дружит с моим советом хотя расширение работает без проблем Vertical Toolbar
:::: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:26.0) Gecko/20100101 Firefox/26.0
Столбик просто упорно не видит панель закладок особенно после перезапуска.

Отредактировано feas (27-08-2013 21:48:53)


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

Отсутствует

 

№4328-08-2013 06:38:36

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

Re: Замена расширений кнопками CB

feas
кстати, может в курсе, как разместить VT справа, а не слева? бегло пробежался по коду инициализации, но явного упоминания параметра, отвечающего за такой финт, не увидел.

Отредактировано >ORG@niZM< (28-08-2013 06:40:24)

Отсутствует

 

№4428-08-2013 07:06:23

Zaycoff
Участник
 
Группа: Extensions
Зарегистрирован: 18-02-2012
Сообщений: 1411
UA: Firefox 23.0

Re: Замена расширений кнопками CB

>ORG@niZM< пишет

кстати, может в курсе, как разместить VT справа, а не слева?

Присоединяюсь к вопросу, можно ли её расположить под адресной строкой и вместо панели дополнений. И чтобы сразу несколько кнопок VT одновременно работали и не конфликтовали?

Отсутствует

 

№4528-08-2013 07:31:52

villa7
Участник
 
Группа: Members
Зарегистрирован: 21-07-2012
Сообщений: 2235
UA: Firefox 23.0

Re: Замена расширений кнопками CB

>ORG@niZM<
Можно и справа и слева и обе вместе.
http://forum.mozilla-russia.org/viewtopic.php?pid=611514#p611514


Лучше спросить у знающих - чем лезть не зная.

Отсутствует

 

№4628-08-2013 07:56:58

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

Re: Замена расширений кнопками CB

villa7
спасибо, ведь хотел проштудировать эту тему, да времени пока не нашлось.

Отсутствует

 

№4710-11-2013 21:53:17

Andrey_Krropotkin
Участник
 
Группа: Members
Зарегистрирован: 11-11-2011
Сообщений: 484
UA: Firefox 25.0

Re: Замена расширений кнопками CB

Замена расширения  Add-ons Manager Context Menu с некоторыми изменениями (положить в инициализацию)
Источники:
1. Add-ons Manager Context Menu
2. AddonsPage  от ywzhaiqi
3. Добавить в контекстное меню расширений "Открыть папку расширения"  от bunda1

Задействованы разделы:расширения, темы, плагины, стили, скрипты, кнопки, службы.

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

Выделить код

Код:

//Добавление в меню расширений дополнительных пунктов
(function(){
    var iconURL = null;  
    
    let { classes: Cc, interfaces: Ci, utils: Cu, results: Cr } = Components;
    Cu.import("resource://gre/modules/Services.jsm");
    Cu.import("resource://gre/modules/AddonManager.jsm");
    Cu.import("resource://gre/modules/XPIProvider.jsm");

    const usoRegx = /^https?:\/\/userscripts.org\/scripts\/source\/\d+.\w+.js$/;

    window.AMD_Helper = {
        init: function(){
            document.addEventListener("DOMContentLoaded", this, false);
            this.addHomePageForScriptish();
        },

        handleEvent: function(event){
            switch(event.type){
                case "DOMContentLoaded":
                   var doc = event.target;
                    var win = doc.defaultView;
                    if (["about:addons","chrome://mozapps/content/extensions/extensions.xul"].indexOf(doc.URL) == -1)
                        return;
                    this.addPopupMenu(doc);

                    win.AMD_Helper = AMD_Helper;
                    this.win = win;

                    var observer = new MutationObserver(function(e) {
                        e = e[e.length-1];
                        if(e.attributeName == "loading") {
                            var doc = e.target.ownerDocument;
                        }
                    });
                    observer.observe(doc.getElementById("detail-view"), {attributes: true});
                    break;
                    case "popupshowing":
                    this.getAddon(this.win.document.popupNode.value,
                                  this.setItemsAttributes,
                                  event);
                    break;
            }
        },
        addHomePageForScriptish: function(){
            if(!window.Scriptish_config) return;
            Scriptish_config.scripts.forEach(function(script){
                if(!script.homepageURL && script.updateURL){
                    if(usoRegx.test(script.updateURL)){
                        script.homepageURL = script.updateURL.replace(/source/, "show").replace(/.\w+.js$/, "");
                    }
                }
            });
        },
   
       //Создаем меню
       addPopupMenu: function(doc){

         var mainicon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAB3RJTUUH1wcREBAg9OD7NAAAAAlwSFlzAAAewQAAHsEBw2lUUwAAAARnQU1BAACxjwv8YQUAAAH6SURBVHjaxVNBaxNBFP4mGRNp06bSaGu9qXhRLOSQX6Dg0d48SMWC4Mmbv8AfYA7Sgp6UgteCF29CKahBsKKWglgam4rRxGxiks3u7Mz6zZIlSVHRk7N8vLcz7/vemzczwP8eorSCgtLJJeXpUGtMBQHgK5RptxbuYJUx5o8CL5bx+OzCkyuZ2cLIwtPihbVW9a1GiCyFQyusFD4S2zfv4x5DtI2TAphOZk8zbXFE4NKt5ctInDmY8OLd6zNrtI+IlhURG0Xs55dezZXXF9Gq7CA9NQvNbAH19W/wo+6gWXeaN1aQkybEXLv2Bb36Z+SvfUAynYLgB9Y+GLEv6Sl4HTdcvX0yy4kZqdkit1nFWC4Pme4ydvMXxNiOwwTfIVP5OCBlK0Cv8Y4C5xnXYM+bB0ixTwjWHwpUdzbh+ijZSWlYQefrcxwrLJJcIZxRAWM33qP1KTCOwJ9ErbyLno8trvqRgOrsITV5ik6pT2IXvbZdINmjVr8CmYMx09h7/8wKMBtUtIWgu4/DE8e5lxob4pLsDkhhvxJrjYfE2Am065/Et1ZUQRAJTBxJIDQJZrgKZDiRwYA03AlxCF1Ho92oYGM7ElCS5/qmVjXzLx+cg71tMex5D/8Pw+ng4etd2GYpER0ucJRI26v9l2/Ivg82CI2YIP+BPCyifwI91AzKs/qQkQAAAABJRU5ErkJggg==";
         var mainicon1="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/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=";
         var mainicon2="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAABILAAASCwAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADwAAAAAwAAAP8AAAD/AAAA/wAAAPAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8AAAAAAAAAD/AAAA/wAAAP8AAADwAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPAAAAAAAAAA/wAAAP8AAAD/AAAA8AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADwAAAAAAAAAP8AAAD/AAAA/wAAAPAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8AAAAAAAAAD/AAAA/wAAAP8AAADwAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPAAAAAAAAAA8wAAAP8AAAD/AAAA8AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADwAAAAAAAAAPAAAAD/AAAA/wAAAPAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPAAAAAAAAAAAAAAAHsAAAD/AAAAkAAAAAAAAADwAAAA/wAAAP8AAADwAAAA/wAAAP8AAAD/AAAA/wAAAP8AAADwAAAAAAAAAIQAAAD/AAAAjQAAAAAAAAB1AAAA/wAAAP8AAAD/AAAA8AAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8AAAAIoAAAD/AAAAigAAAAAAAABpAAAAAAAAAAAAAAB7AAAA/wAAAIcAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAigAAAAAAAAB7AAAA8AAAAAAAAACEAAAA/wAAAIcAAAAAAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAAhwAAAAAAAACBAAAA/wAAAPAAAACKAAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAAAA/wAAAP8AAAD/AAAA/wAAAIcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAIQAAAAAAAAAAAAAAAAAAAAAAB8AAAAfAAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAxAAAAIgAAAAWAAAAJEAAAEDAAD+BwAA+A8AAA==";
            
            var ins = doc.getElementById("menuitem_uninstallItem");
            if(!ins) return;
             ins = ins.nextSibling;
            var popup = ins.parentNode;
            var menuitem = $C("menuseparator", {
                id: "AMD-separator-1"
            });
            popup.insertBefore(menuitem, ins);

            menuitem = $C("menuitem", {
                id: "AMD-browse-dir",
                class: "menu-iconic",
                image: mainicon,
                label: "Место установки",
                oncommand: "AMD_Helper.getAddon(AMD_Helper.getPopupNode(this).value, AMD_Helper.browseDir);"
            });
            popup.insertBefore(menuitem, ins);
           
            menuitem = $C("menuitem", {
                id: "AMD-browse-Folder",
                class: "menu-iconic",
                image: mainicon1,
                label: "Папка установки",
                oncommand: "AMD_Helper.getAddon(AMD_Helper.getPopupNode(this).value, AMD_Helper.Folder);"
            });
            popup.insertBefore(menuitem, ins);
           
            menuitem = $C("menuitem", {
                id: "AMD-browse-goHome",
                label: "Домашняя страница",
                oncommand: "AMD_Helper.getAddon(AMD_Helper.getPopupNode(this).value, AMD_Helper.goHome);"
            });
           popup.insertBefore(menuitem, ins); 
             
           menuitem = $C("menuitem", {
                id: "AMD-browse-goAMO",
                label: "Страница на AMO",
                oncommand: "AMD_Helper.getAddon(AMD_Helper.getPopupNode(this).value, AMD_Helper.goAMO);"
            });
           popup.insertBefore(menuitem, ins); 
          
           menuitem = $C("menuitem", {
                id: "AMD-browse-support",
                label: "Страница поддержки",
                oncommand: "AMD_Helper.getAddon(AMD_Helper.getPopupNode(this).value, AMD_Helper.support);"
            });    
           popup.insertBefore(menuitem, ins);
         
            var menu = $C("menu", {
                id: "AMD-menu",
                class: "menu-iconic",
                image: mainicon2,
                label: "Копировать",
            });
            popup.insertBefore(menu, ins);
            var menuPopup = $C("menupopup", {
                id: "AMD-menupopup",
            });
            menu.appendChild(menuPopup);
            
            menuitem = $C("menuitem", {
                id: "AMD-copy-name",
                label: "Копировать имя",
                oncommand: "AMD_Helper.getAddon(AMD_Helper.getPopupNode(this).value, AMD_Helper.copyName);"
            });
            menuPopup.appendChild(menuitem);

             menuitem = $C("menuitem", {
                id: "AMD-copy-version",
                label: "Копировать версию",
                oncommand: "AMD_Helper.getAddon(AMD_Helper.getPopupNode(this).value, AMD_Helper.copyVersion);"
            });
            menuPopup.appendChild(menuitem);
            
            menuitem = $C("menuitem", {
                id: "AMD-copy-NameVersion",
                label: "Копировать имя и версию",
                oncommand: "AMD_Helper.getAddon(AMD_Helper.getPopupNode(this).value, AMD_Helper.copyNameVersion);"
            });
            menuPopup.appendChild(menuitem);
           
            menuitem = $C("menuitem", {
                id: "AMD-copy-id",
                label: "Копировать id",
                oncommand: "AMD_Helper.getAddon(AMD_Helper.getPopupNode(this).value, AMD_Helper.copyID);"
            });
            menuPopup.appendChild(menuitem);
            
            menuitem = $C("menuitem", {
                id: "AMD-go-uso",
                class: "greasemonkey",
                hidden: true,
                label: "Страница на Userscripts.org",
                oncommand: "openURL(this.tooltipText);"
            });
            popup.appendChild(menuitem);

            menuitem = $C("menuitem", {
                id: "AMD-find-uso",
                class: "greasemonkey",
                hidden: true,
                label: "Поиск по Userscripts.org",
                oncommand: "openURL(this.getAttribute('find-on-uso'));"
            });
            popup.appendChild(menuitem);
            
            popup.addEventListener("popupshowing", this, true);
        },

        //Указываем где и когда показывать элементы меню
            setItemsAttributes: function(aAddon, event){
            var popup = event.target;
            var doc = popup.ownerDocument;

            var isExtension = (aAddon.type == "extension");
            var isTheme = (aAddon.type == "theme");
            var isPlugin = (aAddon.type == "plugin");
            var isUserStyle = (aAddon.type == "userstyle");
            var isScriptish = (aAddon.type == "userscript");
            var isUserScript = (aAddon.type == "user-script") || // Greasemonkey
                               (aAddon.type == "userscript") ||  // Scriptish
                               (aAddon.type == "greasemonkey-user-script"); // Greasemonkey 1.7+
            var isCustomButton = (aAddon.type == "custombuttons");
            var isService = (aAddon.type == "service");
            
            var browseDirItem = doc.getElementById("AMD-browse-dir");
            browseDirItem.hidden = isUserStyle || isUserScript || isCustomButton || isService;

            var browseFolderItem = doc.getElementById("AMD-browse-Folder");
            browseFolderItem.hidden = isUserStyle || isUserScript || isCustomButton || isPlugin || isService;
            
            var copyNameItem = doc.getElementById("AMD-copy-name");
            copyNameItem.tooltipText = aAddon.name;
            copyNameItem.className = isUserScript
                                    ? isScriptish
                                      ? ""
                                      : "greasemonkey"
                                    : "";
                                    
            var copyNameVersionItem = doc.getElementById("AMD-copy-NameVersion");
            copyNameVersionItem.hidden = isUserStyle || isCustomButton || isService;
            copyNameVersionItem.tooltipText = aAddon.name + " " + aAddon.version;
            copyNameVersionItem.className = isUserScript
                                    ? isScriptish
                                      ? ""
                                      : "greasemonkey"
                                    : "";
                                    
            var copyIDItem = doc.getElementById("AMD-copy-id");
            copyIDItem.tooltipText = "ID: " + aAddon.id;
            copyIDItem.className = isUserScript
                                    ? isScriptish
                                      ? ""
                                      : "greasemonkey"
                                    : "";
            
             var copyVersionItem = doc.getElementById("AMD-copy-version");
             copyVersionItem.tooltipText = aAddon.version;
             copyVersionItem.hidden = isUserStyle || isCustomButton || isService;
             copyVersionItem.className = isUserScript
                                    ? isScriptish
                                      ? ""
                                      : "greasemonkey"
                                    : "";
                                    
            var opengoAMOItem = doc.getElementById("AMD-browse-goAMO");
            opengoAMOItem.hidden = isUserStyle || isUserScript || isCustomButton || isPlugin || isService;
            var amoURL = aAddon.reviewURL
                 ? aAddon.reviewURL.replace(/\/reviews\//, "/")
                 : null;
            opengoAMOItem.tooltipText = amoURL;
            opengoAMOItem.hidden = !amoURL || /addons.mozilla.org/.test(aAddon.homepageURL);
            
            var opengoHomeItem = doc.getElementById("AMD-browse-goHome");
            opengoHomeItem.hidden = isUserScript || isCustomButton || isPlugin;
               if (aAddon.homepageURL) {
                   opengoHomeItem.tooltipText = aAddon.homepageURL;
                   } else if (aAddon.reviewURL) {
                    opengoHomeItem.tooltipText = amoURL;
                   }
           opengoHomeItem.hidden = !(aAddon.homepageURL || aAddon.reviewURL);

           var opensupportItem = doc.getElementById("AMD-browse-support");
           opensupportItem.hidden = isUserStyle || isUserScript || isCustomButton || isPlugin || isService;
           opensupportItem.tooltipText = aAddon.supportURL;
           opensupportItem.hidden = !aAddon.supportURL;

            if(isUserScript && !isScriptish){
                var usoURL = "";
                if (aAddon._script) {
                    var usDownloadURL = aAddon._script._downloadURL;
                    var usUpdateURL = aAddon._script._updateURL;
                    if (usoRegx.test(usDownloadURL)) {
                        usoURL = usDownloadURL;
                    } else if (usoRegx.test(usUpdateURL)) {
                        usoURL = usUpdateURL;
                    }
                }

                var usoItem = doc.getElementById("AMD-go-uso");
                usoItem.disabled = !usoRegx.test(usoURL);
                usoItem.className = isUserScript ? usoItem.disabled ? "" : "greasemonkey" : "";
                usoItem.tooltipText = usoURL.replace(/source/, "show")
                    .replace(/.\w+.js$/, "");

                var fusoItem = doc.getElementById("AMD-find-uso");
                fusoItem.disabled = usoRegx.test(usoURL);
                fusoItem.className = isUserScript ? fusoItem.disabled ? "" : "greasemonkey" : "";
                fusoItem.setAttribute("find-on-uso",
                    "http://userscripts.org/scripts/search?q=" +
                    encodeURIComponent(aAddon.name));
            }
        },

        getPopupNode: function (aNode) {
            var doc = aNode.ownerDocument;
            return "triggerNode" in aNode.parentNode ? aNode.parentNode.triggerNode : doc.popupNode;
        },
        getAddon: function (aId, aCallback, aEvent) {
            var self = this;

            if (this.win.gDetailView._addon) {
                aCallback.apply(this, [this.win.gDetailView._addon, aEvent]);
                return;
            }

            AddonManager.getAllAddons(function(aAddons) {
                for (var i = 0; i < aAddons.length; i++) {
                    if (aAddons[i].id == aId) {
                        aCallback.apply(self, [aAddons[i], aEvent]);
                        return;
                    }
                }
            });
        },

    //Домашняя страница
     goHome: function (aAddon) {
        var url = aAddon.homepageURL;
        if (!url) {
        if (aAddon.reviewURL) {
        url = aAddon.reviewURL.replace(/\/reviews\/.*$/, "/");
        } else {
        url = "https://addons.mozilla.org/search/?q="
            + encodeURIComponent(aAddon.name);
         }
        }
       openURL(url);
       },
   //Страница на АМО
   
   goAMO: function (aAddon) {
        var sourceTracker = "/?src=external-Add-ons_Manager_Context_Menu-extension";
    if (aAddon.reviewURL) {
      var amoURL = aAddon.reviewURL.replace(/\/reviews\//, "/")
                             .replace(/\/(firefox|seamonkey|thunderbird|android)/, "")
                             .replace(/\/\?src\=api/, sourceTracker);
    }
    if (/personas.mozilla.org$/.test(aAddon.id)) {
      amoURL = "https://addons.mozilla.org/addon/" + aAddon.id.match(/\d+/) + sourceTracker;
      }
       openURL(amoURL);
       },
       
   //Страница поддержки
    support: function (aAddon) {
       openURL(aAddon.supportURL);
       },
     
    //Открыть место установки   
    browseDir: function (aAddon) {
            switch(aAddon.type){
                case "plugin":
                    var pathes = aAddon.pluginFullpath;
                    for (var i = 0; i < pathes.length; i++) {
                        this.revealPath(pathes[i]);
                    }
                    return;
                 }
            var gecko = parseInt(Services.appinfo.platformVersion);
            var nsLocalFile = Components.Constructor("@mozilla.org/file/local;1", (gecko >= 14) ? "nsIFile" : "nsILocalFile",
                "initWithPath");
            var dir = Services.dirsvc.get("ProfD", Ci.nsIFile);
            dir.append("extensions");
            dir.append(aAddon.id);
            var fileOrDir = dir.path + (dir.exists() ? "" : ".xpi");
            try {
                (new nsLocalFile(fileOrDir)).reveal();
            } catch (ex) {
                var addonDir = /.xpi$/.test(fileOrDir) ? dir.parent : dir;
                try {
                    if (addonDir.exists()) {
                        addonDir.launch();
                      }
                } catch (ex) {
                    var uri = Services.io.newFileURI(addonDir);
                    var protSvc = Cc["@mozilla.org/uriloader/external-protocol-service;1"].
                    getService(Ci.nsIExternalProtocolService);
                    protSvc.loadUrl(uri);
                }
            }
        },
    //Открыть папку установки    
    Folder: function (aAddon) {
            var gecko = parseInt(Services.appinfo.platformVersion);
            var nsLocalFile = Components.Constructor("@mozilla.org/file/local;1", (gecko >= 14) ? "nsIFile" : "nsILocalFile",
                "initWithPath");
            var dir = Services.dirsvc.get("ProfD", Ci.nsIFile); 
                        dir.append('extensions');
                        dir.append(aAddon.id);
                            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( aAddon.id + '.xpi' )             
                            if ( file.exists() ) file.launch(); 
                            return;
          },
    //Копировать имя     
    copyName: function (aAddon) {
            this.copyToClipboard(aAddon.name);
        },
    //Копировать ID 
    copyID: function (aAddon) {
            this.copyToClipboard("ID: " + aAddon.id);
        },
    //Копировать версию 
    copyVersion: function (aAddon) {
            this.copyToClipboard(aAddon.version);
        },
    //Копировать имя и версию
    copyNameVersion: function (aAddon) {
           this.copyToClipboard(aAddon.name + " " + aAddon.version);
        },
 
     //Вспомогательные функции
       revealPath: function(path){
            var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsILocalFile);
            file.initWithPath(path);
            if(file.exists())
                file.reveal();
        },
        copyToClipboard: function (aString) {
            Cc["@mozilla.org/widget/clipboardhelper;1"].
                getService(Ci.nsIClipboardHelper).copyString(aString);
        }
    };

     AMD_Helper.init();
     function $C(name, attr) {
        var el = document.createElement(name);
       if (attr) Object.keys(attr).forEach(function(n) el.setAttribute(n, attr[n]));
        return el;
    }
   
})();

Отредактировано Andrey_Krropotkin (10-11-2013 21:53:55)

Отсутствует

 

№4811-11-2013 13:13:58

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

Re: Замена расширений кнопками CB

Andrey_Krropotkin
что-то не хотит работать. Клал и в спец.кнопку для подобного, и в другую - не появляются пункты меню. Код от bunda1 прекрасно пашет в отдельности.

Отсутствует

 

№4911-11-2013 13:34:31

voqabuhe
Участник
 
Группа: Members
Зарегистрирован: 06-12-2011
Сообщений: 3231
UA: Firefox 28.0

Re: Замена расширений кнопками CB

>ORG@niZM< пишет

что-то не хотит работать. Клал и в спец.кнопку для подобного, и в другую - не появляются пункты меню.

Всё работает, отличная кнопка.  Може ты просто мало на"клал"? :)

Отредактировано voqabuhe (11-11-2013 14:39:41)

Отсутствует

 

№5011-11-2013 15:31:45

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

Re: Замена расширений кнопками CB

voqabuhe
ну, уж точно не "ложил"

Отсутствует

 

Board footer

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