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

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

№12625-10-2014 01:01:52

KOT040188
Участник
 
Группа: Members
Зарегистрирован: 07-11-2012
Сообщений: 425
UA: Firefox 33.0

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

Спасибо! Вот теперь не разворачивает! :) И кстати по моему лиса стала меньше тупить при старте! Можно ли теперь сделать следующее (чтобы довести до идеального): чтобы открытие закладок из chrome://browser/content/places/places.xul происходило так же как и ссылки со страницы в лисе по умолчанию (ну вы в курсе про последовательность: сначала справа от текущей вкладки, затем справа от только что открытой и тд…)

Отредактировано KOT040188 (25-10-2014 01:12:39)


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№12725-10-2014 01:10:04

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

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

Наверно в понедельник посмотрю что можно сделать.

Отсутствует

 

№12825-10-2014 01:18:30

KOT040188
Участник
 
Группа: Members
Зарегистрирован: 07-11-2012
Сообщений: 425
UA: Firefox 33.0

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

Я вас не тороплю :)


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№12925-10-2014 19:08:56

LittleMontana
Участник
 
Группа: Members
Зарегистрирован: 16-11-2013
Сообщений: 214
UA: Firefox 28.0

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

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

Отсутствует

 

№13026-10-2014 22:51:58

KOT040188
Участник
 
Группа: Members
Зарегистрирован: 07-11-2012
Сообщений: 425
UA: Firefox 33.0

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

bunda1, снова типа багрепорт. Использую группы вкладок, в некоторых из них если находится на первой слева вкладке новая вкладка открывается в конце справа, на остальных вкладках рядом. Закрыл такую группу, в другой группе где не было такого глюка он появился…

Отредактировано KOT040188 (27-10-2014 14:16:56)


Вы думаете у котов лёгкая жизнь? А вы попробуйте целый день лизать меховую шапку!

Отсутствует

 

№13122-11-2014 09:00:21

Александр Колесников
Участник
 
Группа: Members
Зарегистрирован: 30-12-2005
Сообщений: 171
UA: Firefox 31.0

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

Уважаемые знатоки, не мог бы кто модифицировать код из 135-го поста на этой странице "Открывать любую новую вкладку справа от текущей, от 24.10.2014" так, чтобы при долгом клике СКМ по ссылке она открывалась справа от текущей?

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

Выделить код

Код:

// Открывать любую новую вкладку справа от текущей, от 24.10.2014. ................................ 
addEventListener("TabOpen", function(e) {
   var newTab = e.target;
   var lab = newTab.label;
   var tabpos = gBrowser.selectedTab._tPos;
   var newTabLab = gBrowser.mStringBundle.getString("tabs.emptyTabTitle");

   if ( tabpos == 0 && lab == newTabLab ) return;                     // если восстановление сессии
   if ( tabpos == 0 && lab == '' ) return;                            // если восстановление сессии с Bookmarks Tab     
   if ( new Error().stack.indexOf("openContainer") !== -1 ) return;   // если открыть всё во вкладках из папки закладок  
   if ( /handleLinkClick/.test(new Error().stack) ) return;           // если открыть ссылку по СКМ 

   gBrowser.moveTabTo( e.target, tabpos + 1 );
   
   // автоматически закрывать "custombutton" вкладку
   if ( lab.startsWith("custombutton://%") ) setTimeout(function() gBrowser.removeTab( newTab ), 0);

}, false, gBrowser.tabContainer );


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

Чтобы не делать лишней работы, достаточно, чтобы это поведение реализовывалось только на обычных ссылках (интернет-страничек). Но если так будет и из "Журнала" и "Закладок", то пусть, тоже хорошо. Просто для них у меня уже работает нижеприведённый код и я не знаю, не будет ли конфликтов каких-то...

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

Выделить код

Код:

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// https://forum.mozilla-russia.org/viewtopic.php?pid=626886#p626886
// Kод даёт возможность открывать закладки средним кликом на закладке не закрывая меню закладок. Код не работает в боковой панели закладок. 
// Открывать закладки средним кликом в новой вкладке не закрывая меню закладок, от 16.09.2013. ................................
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(function() {
    const str = 'p"', rep = 'p" && !aEvent.button', obj = BookmarksEventHandler, func = obj.onClick;
    eval("BookmarksEventHandler.onClick = " + String.replace(func, str, rep));
    addDestructor(function() obj.onClick = func);
})();
;



////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// https://forum.mozilla-russia.org/viewtopic.php?pid=667273#p667273
// Открывать средним кликом вкладки из Журнала (кроме "Показать весь журнал") в новой вкладке, не закрывая меню Журнал, от 6.11.2014.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
(popup => {
    popup.checkForMiddleClick = (node, e) => {
        var trg = e.target;
        if (trg.getAttribute("disabled") == "true" || e.button != 1) return;
        popup.parentNode._placesView._onCommand(e);
        if (trg.mozMatchesSelector('#historyUndoPopup > [oncommand*="undoCloseTab"]')) {
            trg.classList.contains("restoreallitem") && trg.doCommand();
            popup.parentNode._placesView.populateUndoSubmenu();
            var menupopup = popup.querySelector('.recentlyClosedTabsMenu[disabled="true"] > menupopup');
            menupopup && menupopup.hidePopup();
        }
        else if (!trg.mozMatchesSelector("#goPopup > .bookmark-item"))
            closeMenus(trg);
    }
    addDestructor(() => delete popup.checkForMiddleClick);
})(document.getElementById("goPopup"));





////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//https://forum.mozilla-russia.org/viewtopic.php?pid=607274#p607274
//Автор: Dumby, bunda1 Версия: от 05-11-2014 19:47:41
//Описание: Kод открывает библиотеку как активную вкладку рядом с текущей вкладкой и открывает в в библиотеке:
//1. папку закладок которая была открыта перед закрытием библиотеки если в главном меню или в меню кнопки меню вы нажали Показать все закладки
//2. Загрузки или Неподшитые закладки если в главном меню или в меню кнопки меню вы нажали эти пункты,
//3. первую папку истории( Сегодня ) отсортированную по адресу если в главном меню или в меню кнопки меню вы нажали Показать весь журнал, в коде можно
// отключить сортировку по адресу и указать другую папку истории для открытия. 
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

// Открывать библиотеку во вкладке и последнюю активную папку библиотеки, от 05.11.2014. ............................
(function () {
   var historyFolderNum = 1;     // папка истории которую откроет код
   var sortHistoryFolder = true; // сортировать папку истории которую откроет код
      
   var command;
   const pn = "CB.lastUsedLibraryFolder";
   const library = "chrome://browser/content/places/places.xul";

   
   // Перехватывать открытие библиотеки и открывать её в вкладке рядом с текущей ....
   function libraryInTab(e) {
      command = e.target.getAttribute("oncommand");

      if ( !/showPlacesOrganizer|DownloadsUI|DownloadsPanel/.test( command ) ) return;
      if ( /showPlacesOrganizer|UnfiledBookmarks/.test( command ) && e.type == 'click' ) return; 
           e.stopPropagation();
     
      // закрыть все вкладки библиотеки кроме первой ....
      var libTab = null;
      Array.slice( gBrowser.tabs ).forEach(function(tab) {
            if ( tab.linkedBrowser.currentURI.spec !== library ) return;
            !libTab ? libTab = tab : gBrowser.removeTab( tab );
      });
   
      // переместить или открыть библиотеку рядом с текущей вкладкой ....
      var selTab = gBrowser.selectedTab;
      if ( libTab !== selTab ) {
           if ( libTab && gBrowser.visibleTabs.indexOf( libTab ) == -1 )
                TabView.moveTabTo( libTab, TabView._window.GroupItems._activeGroupItem.id );
           libTab = libTab || gBrowser.addTab( library );          
           var pos = selTab._tPos + ( libTab._tPos > selTab._tPos );
           gBrowser.moveTabTo( libTab, pos );
           gBrowser.selectedTab = libTab;
           
           // если уже открытая библиотека была перемещена
           if ( !libTab.hasAttribute('busy') ) openLastUsedFolder();                          
           }
       else       
           openLastUsedFolder();  // если библиотека уже в текущей вкладке      
   };
   addEventListener("command", libraryInTab, true, window );
   addEventListener("click", libraryInTab, true, document.getElementById('appmenuSecondaryPane') );

   
   // Открывать и запоминать последнюю активную папку если библиотека открыта как вкладка ....
   function openLastUsedFolder( e ) {
      var win = e ? e.target.defaultView : content.document.defaultView;
      if ( win.location != library ) return;

      // получить нужную папку
      try { var value = cbu.getPrefs( pn ) } catch(e) { value = '' }; 
      if ( /DownloadsUI|DownloadsPanel/.test( command ) ) value = 'place:transition=7&sort=4';
      if ( /UnfiledBookmarks/.test( command ) ) value = 'place:folder=UNFILED_BOOKMARKS&excludeItems=1&expandQueries=0';

      // закрыть меню большой кнопки и кнопки загрузок
      setTimeout(function() { 
         try { document.getElementById("appmenu-popup").hidePopup();
               document.getElementById("downloadsPanel").hidePopup();
             } catch(e) {} 
      }, 10 );
           
      // открыть нужную папку используя рекурсию   
      (function f() { 
         if ( win.location != library ) return;
         try {
             if ( /'History'/.test( command ) ) {
                  var doc = win.document;        
                  var view = doc.getElementById('placesList').view;                  
                  
                  if ( view ) view.selection.select( historyFolderNum ); // открыть указанную папку
                 
                  // сортировать папку истории по адресу
                  if ( sortHistoryFolder && view ) {                  
                       doc.getElementById('viewMenu').open = true;
                       doc.getElementById('viewSort').open = true;
                       doc.getElementById('viewMenu').open = false;
                       doc.getElementById('menucol_placesContentUrl').doCommand();
                       }
                  }
             else  
                  {         
                  win.PlacesOrganizer.location = value;
                  win.PlacesOrganizer._places.focus(); 
                  }                       
             }
         catch(e) { setTimeout(function() f(), 0) };
          
      })();
      
      // запоминать последнюю папку при закрытии библиотеки
      if ( e == undefined ) return;
      win.addEventListener("unload", function f(e) {        
          win.removeEventListener( e.type, f);
          
          var loc = win.PlacesOrganizer.location;
          /place:folder|place:sort/.test( loc ) && cbu.setPrefs( pn, loc );                
      });
   };
   addEventListener("DOMContentLoaded", openLastUsedFolder, false, gBrowser );
})();


В начале кнопки идёт код "mergeInitialization":
скрытый текст

Выделить код

Код:

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// https://github.com/Infocatcher/Custom_Buttons/blob/master/code_snippets/mergeInitialization.js
// Example for safely use only one button for initialization of many "buttons" without UI (Для любителей засовывать кучу разных кодов в инициализацию одной кнопки).
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
var _destructors = [];
function destructor() {
    var args = arguments;
    _destructors.forEach(function(destructor) {
        try {
            destructor.apply(this, args);
        }
        catch(e) {
            Components.utils.reportError(e);
        }
    }, this);
}
if("defineProperty" in Object) { // Firefox 4+
    Object.defineProperty(this, "onDestroy", {
        get: function() {
            return _destructors.length ? destructor : undefined;
        },
        set: function(f) {
            _destructors.push(f);
        },
        enumerable: true,
        configurable: true
    });
}
else {
    this.__defineGetter__("onDestroy", function() {
        return _destructors.length ? destructor : undefined;
    });
    this.__defineSetter__("onDestroy", function(f) {
        _destructors.push(f);
    });
}

Отсутствует

 

№13222-11-2014 14:35:24

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

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

Александр Колесников
:/

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

Выделить код

Код:

(() => {
    const delay = 500;

    var longMiddleClick = false, mousedownTime = 0;
    var handler = {
        handleEvent: e => e.button == 1 && handler[e.type](),
        mousedown: () => mousedownTime = Date.now(),
        mouseup: () => setTimeout(() => longMiddleClick = false, 50,
            longMiddleClick = Date.now() - mousedownTime > delay
        )
    };
    for(var type of ["down", "up"]) addEventListener("mouse" + type, handler);
    addEventListener("TabOpen", e =>
        longMiddleClick && gBrowser.moveTabTo(e.target, gBrowser.selectedTab._tPos + 1)
    , false, gBrowser.tabContainer);
})();

Отсутствует

 

№13322-11-2014 15:04:46

Александр Колесников
Участник
 
Группа: Members
Зарегистрирован: 30-12-2005
Сообщений: 171
UA: Firefox 31.0

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

Dumby Спасибо, работает из на ссылках, и из Закладок\Журнала! Захотелось JS выучить, хоть я и самоучка в том, что связано с компами :-)

Отсутствует

 

№13422-11-2014 19:26:40

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

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

Никак не получается отключить стандартное меню по ПКМ. Кусок кода:

скрытый текст
bClick: function(e)
    {
        if (e.button !== 0 && e.button !== 2) {
            return false;
        }

        if (inspector4pda.user.id) {
            inspector4pda.vars.getPrefs();

            switch (e.button) {
                case 0:
                    //LMB
                    inspector4pda.toolbar.bClickEvent(inspector4pda.vars.click_action, e);
                    break;
                case 2:
                    //MMB
                    inspector4pda.toolbar.bClickEvent(inspector4pda.vars.MMB_click_action, e);
                    break;
            }

        } else {
            inspector4pda.cScript.getData(function(){
                if (!inspector4pda.cScript.successLastRequest) {
                    inspector4pda.cScript.siteUnavailableNotification();
                } else if (!inspector4pda.user.id) {
                    inspector4pda.utils.openPage(inspector4pda.toolbar.urls.login);
                }
            });
        }
    },


Пытался вставить
скрытый текст
if(e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey){ // ПКМ
        e.preventDefault();

Отсутствует

 

№13505-02-2015 11:40:38

zoomlin
Участник
 
Группа: Members
Зарегистрирован: 21-11-2014
Сообщений: 4
UA: Firefox 35.0

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

Всем привет. Есть такое расширение Double click close tab. Можно его как то заменить с помощью сабжа. Конкретно из функционала интересует закрытие текущей вкладки по двойному нажатию правой кнопкой мыши внутри страницы. И еще расширение Scrollbar anywhere, позволяющее листать страницу при зажатой правой клавиши мыши. Заранее благодарю за помощь.

Отредактировано zoomlin (05-02-2015 11:54:32)

Отсутствует

 

№13605-02-2015 19:56:55

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

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

zoomlin пишет

Всем привет. Есть такое расширение Double click close tab. Можно его как то заменить с помощью сабжа. Конкретно из функционала интересует закрытие текущей вкладки по двойному нажатию правой кнопкой мыши внутри страницы.

Выделить код

Код:

// Закрыть вкладку двойным правым кликом, от 05.02.2015. ................................
addEventListener("dblclick", (e)=>{
  if ( e.button == 2 ) { 
       e.preventDefault();
       gBrowser.removeCurrentTab();       
       document.getElementById("contentAreaContextMenu").hidePopup(); 
       }        
}, false, gBrowser );

Добавлено 05-02-2015 20:16:12

zoomlin пишет

И еще расширение Scrollbar anywhere, позволяющее листать страницу при зажатой правой клавиши мыши.

А вот это так просто не сделать, разве только переделать для Сustom Buttons этот код: https://github.com/ardiman/userChrome.j … grabscroll

Отредактировано bunda1 (05-02-2015 20:16:12)

Отсутствует

 

№13706-02-2015 07:57:05

zoomlin
Участник
 
Группа: Members
Зарегистрирован: 21-11-2014
Сообщений: 4
UA: Firefox 35.0

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

Благодарю, Закрыть вкладку двойным правым кликом работает. Еще у меня установлено расширение dblclicker(открытие ссылок в новом табе по двойному левому клику) и auto context(автоматическое открытие контекстного меню при выделении текста). Наверно их тоже можно заменить?

Отредактировано zoomlin (06-02-2015 10:08:28)

Отсутствует

 

№13820-03-2015 13:51:47

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

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

Приветствую.
Есть расширение шикарное и хотелось бы знать можно ли его сделать чисто кнопкой, ибо:
1. расширение требует пеерзагрузки бравзера, а постоянно работающее оно не нужно.
2. расширение состоит из одного скрипта внутри.
Называется HTTP Request Logger и делает только одно - пишет все запросы в файл.txt на рабочем столе.
Скрипт который внутри (и это единственное из чего состоит расширение, ну еще манифест) вот:

HTTP Request Logger.js code

Выделить код

Код:

Components.utils.import('resource://gre/modules/XPCOMUtils.jsm');
function HttpRequestLogger() {
  var httpRequestLogger =
  {
    observe: function(subject, topic, data) 
    {
      if (topic == "http-on-modify-request") {
        var httpChannel = subject.QueryInterface(Components.interfaces.nsIHttpChannel);
        var ref = httpChannel.referrer ? httpChannel.referrer.spec : "(none)";
        var buffer = ref + " " + httpChannel.requestMethod + " " + httpChannel.URI.spec + "\n";
        fos.write(buffer, buffer.length);
      }
    }
  };
  
  var file = Components.classes["@mozilla.org/file/directory_service;1"].getService(Components.interfaces.nsIProperties).get("Desk", Components.interfaces.nsIFile);
  file.append("http-request-log.txt");
  var fos = Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
  // PR_WRONLY | PR_CREATE_FILE | PR_APPEND
  fos.init(file, 0x02 | 0x08 | 0x10, -1, 0);
  
  var observerService = Components.classes["@mozilla.org/observer-service;1"].getService(Components.interfaces.nsIObserverService);
  observerService.addObserver(httpRequestLogger, "http-on-modify-request", false);
}

HttpRequestLogger.prototype.classID = Components.ID('{c4a9bb50-b9b2-11e0-a4dd-0800200c9a66}');
HttpRequestLogger.prototype.classDescription = 'Http Request Logger XPCOM Component';
HttpRequestLogger.prototype.contractID = '@prekageo/HttpRequestLogger;1';
var NSGetFactory = XPCOMUtils.generateNSGetFactory([HttpRequestLogger]);


кусок лога из файла

Выделить код

Код:

(none) GET http://s3.dotua.org/fsua_items/cover/00/18/73/9/00187342.jpg
(none) GET http://s1.dotua.org/fsua_items/cover/00/37/41/9/00374195.jpg
http://fs.to/video/serials/fl_our/?page=2 GET http://fs.to/video/serials/i4ELKIr7MQTKe8iPEROuVgI-chastnyj-zakaz.html
http://fs.to/video/serials/fl_our/?page=2 GET http://fs.to/video/serials/fl_our/?page=4
(none) GET http://fsua.dotua.org/cssmin/v957992426/default.aimg.min.css
(none) GET http://fsua.dotua.org/cssmin/v245054101/theme-video.aimg.min.css
(none) POST http://q77.queuev4.vk.com/im357
(none) POST http://q77.queuev4.vk.com/im357
(none) GET http://myowndesign.com.ua/mod/vk/DarkSide/upload.gif


Можно ли это сделать как кнопку шобы по нажатии было ВКЛ/ВЫКЛ запись в файл? Оч. удобно при создании фильтров рекламы, изучении сайтов, скачивания видео и прочего. :blush:

Отсутствует

 

№13920-03-2015 22:00:38

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

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

Приятным будет даже просто вердикт от гуру со словами:
- ДА можно это сделать в CB. Но мне лень/нихачу/нимагу/нежелаю - но знаю что МОЖНО!  Дерзай одэпт/глупец/соискатель - это возможно в CB 100% искай , мудри, пробуй, учись !
- НЕТ, это низзя сделать средствами CB ибо ... ! [памамушта-патаму] ита  дело доступно только из расширений и именно является Restartless фишкой !
...  :|

Отсутствует

 

№14020-03-2015 22:51:35

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

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

HaGEN пишет

мне лень/нихачу/нимагу/нежелаю

Уговорил. Сам поправь, если что не так.

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

Выделить код

Код:

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%3EUnnamed%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/AAAA/wAAAP/AwMD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/wMDA/wAAAP8AAAD/wMDA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8DAwP8AAAD/AAAA/8DAwP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/AwMD/AAAA/wAAAP/AwMD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/wMDA/wAAAP8AAAD/wMDA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8DAwP8AAAD/AAAA/8DAwP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/AwMD/AAAA/wAAAP/AwMD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/wMDA/wAAAP8AAAD/wMDA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8DAwP8AAAD/AAAA/8DAwP8AAAD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/AwMD/AAAA/wAAAP/AwMD/AAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/wMDA/wAAAP8AAAD/wMDA/wAAAP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/8DAwP8AAAD/AAAA/8DAwP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP/AwMD/AAAA/wAAAP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AACsQQAArEEAAKxBH/isQR/4rEEf+KxBH/isQR/4rEEf+KxBH/isQR/4rEEf+KxBH/isQQAArEEAAKxBAACsQQ%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5BgBrowser.currentURI.spec%20%3D%3D%20%22about%3Acustomizing%22%20%7C%7C%20%28%28%29%20%3D%3E%20%7B%0A%09var%20fileName%20%3D%20%22http-request-log.txt%22%3B%0A%09var%20file%20%3D%20Services.dirsvc.get%28%22Desk%22%2C%20Ci.nsIFile%29%3B%0A%09file.append%28fileName%29%3B%0A%0A%09var%20obsId%20%3D%20%22httpRequestLogger%22%3B%0A%09var%20pn%20%3D%20%22CB.%22%20+%20obsId%20+%20%22.on%22%3B%0A%09cbu.isPref%28pn%2C%20false%29%3B%0A%09var%20pref%20%3D%20Application.prefs.get%28pn%29%3B%0A%0A%09function%20obsConstructor%28%29%20%7B%0A%09%09var%20obs%20%3D%20Application.storage.get%28obsId%2C%20null%29%3B%0A%09%09if%20%28%21obs%29%20%7B%0A%09%09%09obs%20%3D%20%7B%0A%09%09%09%09topic%3A%20%22http-on-modify-request%22%2C%0A%09%09%09%09init%3A%20function%28%29%20Services.obs.addObserver%28this%2C%20this.topic%2C%20false%29%2C%0A%09%09%09%09destroy%3A%20function%28%29%20%7B%0A%09%09%09%09%09try%20%7BServices.obs.removeObserver%28this%2C%20this.topic%29%3B%7D%0A%09%09%09%09%09catch%28ex%29%20%7BCu.reportError%28ex%29%3B%7D%0A%09%09%09%09%7D%2C%0A%09%09%09%09observe%3A%20function%28subj%29%20%7B%0A%09%09%09%09%09var%20channel%20%3D%20subj.QueryInterface%28Ci.nsIHttpChannel%29%3B%0A%09%09%09%09%09var%20ref%20%3D%20channel.referrer%20%3F%20channel.referrer.spec%20%3A%20%22%28none%29%22%3B%0A%09%09%09%09%09var%20str%3D%20ref%20+%20%22%20%22%20+%20channel.requestMethod%20+%20%22%20%22%20+%20channel.URI.spec%20+%20%22%5Cr%5Cn%22%3B%0A%09%09%09%09%09str%20%3D%20this.suc.ConvertFromUnicode%28str%29%3B%0A%09%09%09%09%09this.fos.write%28str%2C%20str.length%29%3B%0A%09%09%09%09%7D%2C%0A%09%09%09%09get%20fos%28%29%20%7B%0A%09%09%09%09%09delete%20this.fos%3B%0A%09%09%09%09%09var%20fos%20%3D%20Cc%5B%22@mozilla.org/network/file-output-stream%3B1%22%5D.createInstance%28Ci.nsIFileOutputStream%29%3B%0A%09%09%09%09%09//%20PR_WRONLY%20%7C%20PR_CREATE_FILE%20%7C%20PR_APPEND%0A%09%09%09%09%09fos.init%28file%2C%20parseInt%28%220x02%22%29%20%7C%20parseInt%28%220x08%22%29%20%7C%20parseInt%28%220x10%22%29%2C%20-1%2C%200%29%3B%0A%09%09%09%09%09return%20this.fos%20%3D%20fos%3B%0A%09%09%09%09%7D%2C%0A%09%09%09%09get%20suc%28%29%20%7B%0A%09%09%09%09%09delete%20this.suc%3B%0A%09%09%09%09%09var%20suc%20%3D%20Cc%5B%22@mozilla.org/intl/scriptableunicodeconverter%22%5D.createInstance%28Ci.nsIScriptableUnicodeConverter%29%3B%0A%09%09%09%09%09suc.charset%20%3D%20%22utf-8%22%3B%0A%09%09%09%09%09return%20this.suc%20%3D%20suc%3B%0A%09%09%09%09%7D%0A%09%09%09%09%0A%09%09%09%7D%3B%0A%09%09%09Application.storage.set%28obsId%2C%20obs%29%3B%0A%09%09%09obs.init%28%29%3B%0A%09%09%7D%0A%09%7D%0A%09function%20obsDestructor%28reason%29%20%7B%0A%09%09if%20%28%21%22update%20delete%22.contains%28reason%29%29%20return%3B%0A%09%09var%20obs%20%3D%20Application.storage.get%28obsId%2C%20null%29%3B%0A%09%09if%20%28obs%29%20%7B%0A%09%09%09obs.destroy%28%29%3B%0A%09%09%09Application.storage.set%28obsId%2C%20null%29%3B%0A%09%09%7D%0A%09%09reason%20%3D%3D%20%22delete%22%20%26%26%20pref.reset%28%29%3B%0A%09%7D%0A%09addDestructor%28reason%20%3D%3E%20%7B%0A%09%09obsDestructor%28reason%29%3B%0A%09%09setTimeout%28function%28%29%20%7B%0A%09%09%09custombuttons.palette.querySelector%28%27toolbarbutton%5Bid%3D%22%27%20+%20_id%20+%20%27%22%5D%27%29%20%26%26%20obsDestructor%28%22delete%22%29%3B%0A%09%09%7D%2C%20500%29%3B%0A%09%7D%29%3B%0A%0A%09var%20imgON%20%3D%20%22data%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/AAAA/wAAAP/AwMD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/wMDA/wAAAP8AAAD/wMDA/wAAAP9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/AAAA/8DAwP8AAAD/AAAA/8DAwP8AAAD/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/wAAAP/AwMD/AAAA/wAAAP/AwMD/AAAA/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf8AAAD/wMDA/wAAAP8AAAD/wMDA/wAAAP9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/AAAA/8DAwP8AAAD/AAAA/8DAwP8AAAD/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/wAAAP/AwMD/AAAA/wAAAP/AwMD/AAAA/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf8AAAD/wMDA/wAAAP8AAAD/wMDA/wAAAP9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/AAAA/8DAwP8AAAD/AAAA/8DAwP8AAAD/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/wAAAP/AwMD/AAAA/wAAAP/AwMD/AAAA/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf8AAAD/wMDA/wAAAP8AAAD/wMDA/wAAAP9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/Zv+Z/2b/mf9m/5n/AAAA/8DAwP8AAAD/AAAA/8DAwP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP/AwMD/AAAA/wAAAP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/8DAwP/AwMD/wMDA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQ%3D%3D%22%3B%0A%09function%20setState%28on%29%20%7B%0A%09%09on%20%3F%20obsConstructor%28%29%20%3A%20obsDestructor%28%22delete%22%29%3B%0A%09%09pref.value%20%3D%20on%3B%0A%09%09var%20src%20%3D%20on%20%3F%20imgON%20%3A%20self.image%3B%0A%09%09var%20en%20%3D%20Services.wm.getEnumerator%28%22navigator%3Abrowser%22%29%3B%0A%09%09while%28en.hasMoreElements%28%29%29%20%7B%0A%09%09%09var%20doc%20%3D%20en.getNext%28%29.document%3B%0A%09%09%09var%20btn%20%3D%20doc.getElementById%28_id%29%3B%0A%09%09%09var%20%5Bimg%5D%20%3D%20doc.getAnonymousNodes%28btn%29%3B%0A%09%09%09if%20%28img%29%20img.src%20%3D%20src%3B%0A%09%09%7D%0A%09%7D%0A%09setState%28pref.value%29%3B%0A%09self.onclick%20%3D%20e%20%3D%3E%20%7B%0A%09%09if%20%28%21e.button%29%20setState%28%21pref.value%29%3B%0A%09%09else%20if%20%28e.button%20%3D%3D%201%29%20file.exists%28%29%20%26%26%20file.launch%28%29%3B%0A%09%7D%0A%7D%29%28%29%3B%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B/*CODE*/%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E

Отсутствует

 

№14121-03-2015 10:05:35

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

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

:D Как жеж это прекрасно. Балагодарю Dumby !
Это даже больше чем я надеялся 5a1c754060f577e4f024204bddc81920.gif
... научился только файлы запускать из CB , а тут еще и готовое дали, фантастика! Работает и в PaleMoon эта шикарная кнопка.

Отсутствует

 

№14221-03-2015 16:00:22

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

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

HaGEN
:offtopic: Твои предыдущие посты никого не оставили равнодушными. Проникновенные! :D Dumby сдался первый.
Надо взять на вооружение.:)

Отсутствует

 

№14317-04-2015 12:37:38

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

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

Перешел с PM24.7 на Cyberfox 37 и обнаружил, что не работает кнопка Add-ons Manager Context Menu. Кто-нибуть сможет помочь?

Отсутствует

 

№14406-06-2015 10:32:15

foxboy
Участник
 
Группа: Members
Зарегистрирован: 06-06-2015
Сообщений: 34
UA: Palemoon 24.0

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

Можно ли заменить Muter CB-кнопкой

http://yxl.github.io/Firefox-Muter/

Отсутствует

 

№14506-06-2015 16:23:49

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

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

foxboy

Почему бы не обойтись вообще без кнопок и расширений?
screenshot%2525202015-06-06%252520001.png

Отсутствует

 

№14611-08-2015 02:26:12

foxboy
Участник
 
Группа: Members
Зарегистрирован: 06-06-2015
Сообщений: 34
UA: Palemoon 24.0

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

Можно ли сделать кнопку для https://addons.mozilla.org/ru/firefox/addon/export-cookies/?src=api
и если можно в кнопке указать папку сохранения. Или еще лучше сохранять в папку профиля как кнопка "HTTP Request Logger"

turbot пишет

foxboyПочему бы не обойтись вообще без кнопок и расширений?

Потому как портабле, а на ХР этого нет.

Отсутствует

 

№14711-08-2015 04:26:50

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

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

foxboy пишет

на ХР этого нет

Сто лет не пользовался, но на 99.999% процентов уверен, что микшер громкости в нем есть.

Про кнопку из muter'а можете забыть - он с бинарниками. Да и он сам скоро отвалится.

:offtopic:
В последних ночнушках можно отключать звук кнопкой на табах (и для html5 и для 19-ой беты флеш-плеера).

Добавлено 11-08-2015 04:27:56

turbot пишет

но на 99.999% процентов уверен

Гугл подтверждает.

Отредактировано turbot (11-08-2015 04:27:56)

Отсутствует

 

№14811-08-2015 09:07:28

foxboy
Участник
 
Группа: Members
Зарегистрирован: 06-06-2015
Сообщений: 34
UA: Palemoon 24.0

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

turbot пишет

Гугл подтверждает.

Ничего он не подтверждает. Кто-то сказал, что нет микшера, я не говорил. Он есть, но он не умеет регулировать громкость приложений, всего навсего такая мелочь. В 7 есть, это да. Можно вообще подсунуть фальшивый msacm32.dll и звука не будет. Речь об отключении/включении звука с панели браузера.

Отсутствует

 

№14911-08-2015 12:31:11

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

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

foxboy
Зачем вообще на браузер навешивать подобный функционал, если можно удобно откл/вкл звук кликом по панели задач. Глобально, функционально, и не захламлять браузер всякой ерундой.
https://irzyxa.wordpress.com/tag/volume2/
или
http://www.nirsoft.net/utils/volumouse.html

Отредактировано villa7 (11-08-2015 12:38:40)


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

Отсутствует

 

№15011-08-2015 15:42:00

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

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

foxboy пишет

Он есть, но он не умеет регулировать громкость приложений

А, вот как. Был неправ, извиняюсь. :)

Отсутствует

 

Board footer

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