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

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№1057626-08-2016 12:56:49

Ultima2m
Участник
 
Группа: Members
Откуда: Россия
Зарегистрирован: 28-11-2013
Сообщений: 592
UA: Firefox 48.0

Re: Custom Buttons

voqabuhe пишет

Ultima2m пишет: У кого-нибудь есть рабочая Save+ ?№10227

Спасибо. Работает.
Из старой перенес еще такие пункты:
"Сохранить всю страницу как PDF"
"Копировать ссылки (выделенные или все)"

скрытый текст
вставить в блок с меню

Выделить код

Код:

{ separator: ''},
       { label: "Сохранить всю страницу как PDF", func: "savePageToPDF", image: "data:image/x-icon;base64,AAABAAEAEREAAAEAIADwBAAAFgAAACgAAAARAAAAIgAAAAEAIAAAAAAAyAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYUw4pJt3V/+Rb1D8lnFP/55zTf+VcVH/lXJS/5VyUv+VclL/lXJS/5VyUv+VclL/k3BR/J56Wv9cRzSkAAAAAJNvUKTto2L/4ppe/uehZf/Pmmr/noZv/9Scav/Wl17/1plh/9eZYf/XmWH/15lh/9eZYf/WmGD/2Jlg/suRXP9mRiuk8rWA/397dP1akKn/rqqi/3LF3f8Mntj/4dLJ///+9f/48u3/9e7n//bt5v/47+f/+O/n//jv5//rvZP/1ZJX/a9/VP9+lrD8AIvz/xOt+f8Douv/ALb6/wC28/9tmar/z8jJ//Lq5/////7//v////n9///6/P3//////+Ta0P/PjVP/pnpT/IWds/+aiXj/5efl/8Px//951/3/LMz//wCx8/8GltL/NIu3/4ycqf/l29L////+//n6+//8/v//3tXM/8+OVP+oe1P/6K57/86QWP/r6Ob////////++v/r9/z/oOb9/zDL//8Arf//AI/r/ydysv+hpqr//PTr///////d1Mz/0I5U/6h7U//osH//wo5g/+fm5P/7/f//9vf5//z7+////vv/9/r8/5Dc/P8Oqv7/AJf//wF02v9ffZ7/8Ojh/+Ha1P/NjFL/qHtT/+ewf//Ej1//7O3r///////+/v7//v7+//f5+v/6+vv////8/8Tq/f8hp/7/AJH//wB18/8/bqj/1MGu/9mXXv+leVH/569+/8iSYv+/tKn/wLew/8O5sf/P0M////////7+/v/3+fv////7/9Hv/v8hoP3/AIn//wB4/v84ZqL/w4NH/619VP/nsYD/x45c/9W5of/bv6j/0Jxt/6J/YP+spqD/2N3i//7////6+/3///76/8vr/v8Slv7/AIb+/wBz//83VH7/nW1B/+ewfv/Fjl7/7Ozr///////9+/r/9d7K/9Ghdv+jd1D/pJ6Y/+jt8f/9///////7/6fb/v8Ahv7/AYD//wRp6f95YlT/57B//8SOXv/n5uT//v7///r7/P/8/v////////XRsv/DhEv/loBu/9DX3P/9/v/////7/2O6/f8Afv//FnTU/5JtTf/nsH//xY9e/+jn5f/+/f//+fj5//n4+P/5+Pn/+/////Xbxf/Wj1D/nX1h/+Ll6P////7/3+/3/w+V//8tcbP/qHJB/+WuffzCjV7/5efn///////+/v7//////////////v7///////XRsP/TnW3/8fT3//////////z/ddD//0Nxl/+zdkH88LmH/9CRWP2+qJT/0M7N/8/Jxv/Pysf/z8rH/8/Kxv/Py8n/zsO6/7+pmP/PzMv/zsnG/9bNyP+nsK7/h4R3/b2BT/+Sb1Ck7qxw/9GSW/69hlb/wYhX/8CIV//AiFf/wIhX/8CIVv/BiVj/xI1d/8CIVv/BiFf/vYZW/9STW/7ppmv/bE80pAAAAACUd16k+sui/+7AmPzwwpr/8MKa//DCmv/wwpr/8MKa//DCmf/vwZj/8MKa//DCmv/uwJj8+cui/5N3XaQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="},
       { label: "Копировать ссылки (выделенные или все)", func: "CopyAllLinks", image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABgUlEQVQ4jYWSyytEYRyGv7/GX2BjayU1ZWeKMGWhhDFSp9mMU8qlNAgzUnMoQ2JBY8PCigVKIeOa29BczK3BOHNGPRaTifGd46139/ue3qc+ISSpb+3XfMEt/Evbvyq7/ZOmnkHN5lBIprP8zIQW+h/Q5ZnSdg9PsTkUIokMGf2TRP4TgBH/mjXA413UDo4vAbA5FG6iaeLvRZ5eiwC0uoYx1RrXNjV1cgmn6qOldwibQyH8lCKSM7jNGswGQ1hqdQ9M8/gcJ3wfxbuwyWhgncG5VTz+ZWZWtvlXq8PtBSD2ViSSM7jLGlylC8yHdrHSGhgPlgBtrmEAHnJGecFYYAMrLQBlJFAC2DtVAK4zBc5TOicvOlZaF6kCAE7VVwI0tLsBOEvq5WMzrXBS5zihA9Dh9pYAdc19VEam9b3gMPZRvhFCCFHb2E1lZVpH8Q/2o3n2nvMA2DtVhBCiSghRU1mZ1veCncd3ABra3ea/U6ZVmbrmPnOATEtWs/dSLUmrvwBcDEvWhp2gUgAAAABJRU5ErkJggg=="},
       {

в конец кода:

Выделить код

Код:

// Сохраняет страницу как PDF файл через сервис 'pdfmyurl.com' ................................
function savePageToPDF() {
   // разрешить страницу для расширения NoScript ....   
   if ( "noscriptUtil" in window ) {
        var autoReload = custombuttons.getPrefs("noscript.autoReload");
        if ( autoReload ) custombuttons.setPrefs("noscript.autoReload", false);
        noscriptOverlay.allowPage();
        if ( autoReload ) setTimeout(function() { custombuttons.setPrefs("noscript.autoReload", true) }, 10)
        }
   // сохранить ....     
   var loc = content.location;
   if (loc.protocol.slice(0, 4) == "http")
   loadURI("http://pdfmyurl.com?url=" + loc);
};


// Копировать ссылки
function CopyAllLinks() {
var win = document.commandDispatcher.focusedWindow, doc = win.document;
var sel = doc, winSel = win.getSelection();
if(winSel.toString()){
    sel = doc.createElement('div');
    sel.appendChild(winSel.getRangeAt(0).cloneContents());
};
var str = '', links = sel.getElementsByTagName('a');
for(var i = 0, lnk; lnk = links[i]; i++){if(lnk.href)str += lnk.href + '\r\n'};
gClipboard.write(str);
};


Еще заметил такой баг. Если на одной странице несколько раз использовать пункт " Добавить url и сохранить...",
то с каждым разом строк с url в файле становится больше.

Отсутствует

 

№1057726-08-2016 13:12:10

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

Re: Custom Buttons

Ultima2m пишет

Еще заметил такой баг. Если на одной странице несколько раз использовать пункт " Добавить url и сохранить...",
то с каждым разом строк с url в файле становится больше.

Ага, подтверждаю.

Отсутствует

 

№1057826-08-2016 15:11:06

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

Re: Custom Buttons

Duche
У вас там затесалось:  menuPopup.setAttribute("id", "context_bookmarksBOOKMARKS_MENUPopup");
Удалите выделенное.

Отсутствует

 

№1057926-08-2016 16:32:00

_zt
Участник
 
Группа: Members
Зарегистрирован: 10-11-2014
Сообщений: 1419
UA: Firefox 45.0

Re: Custom Buttons

Добрый день. Есть кнопка открывающая любой указанный в ней файл по тапу:

Выделить код

Код:

/*CODE*/
var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsILocalFile);
file.initWithPath( "d:\\123\\_profbak.bat" );
file.launch();

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

Отсутствует

 

№1058026-08-2016 16:59:24

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

Re: Custom Buttons

Выделить код

Код:

var file = Services.dirsvc.get('ProfD', Ci.nsIFile);
file.append("_profbak.bat");
file.launch();

Отсутствует

 

№1058126-08-2016 20:53:14

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

turbot пишет

У вас там затесалось:

Спасибо уберу. Но может получится как нибуть оставить один клик ПКМ и було бы  то что нужно.

Добавлено 26-08-2016 21:15:17

Duche пишет

У вас там затесалось:

Убрал, не помогает.Что то я накрутил с кодами.

Отредактировано Duche (26-08-2016 21:16:12)

Отсутствует

 

№1058226-08-2016 21:16:23

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

Re: Custom Buttons

Duche пишет

Спасибо уберу.

Забудьте. Я перепутал со строкой menuPopup.setAttribute("context", "placesContext"); А тут никак не может повлиять.
Я вообще не понял, что за проблема появилась (все как и раньше работает (если не считать отсутствия контекстного меню у папок)). И что нужно.

Отсутствует

 

№1058326-08-2016 21:23:27

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

turbot пишет

Я вообще не понял

Пропало контекстное меню, при длинном клике на папке из под Right Links как было раньше. Появился вызов контекстного меню при двойном клике по папке ПКМ . Включен Right Links или нет, теперь значение не имеет. Может поможет в поиске вызова контекстного меню на папке при одном клике ПКМ. Может получится как нибуть оставить один клик ПКМ и було бы  то что нужно.

Отредактировано Duche (26-08-2016 21:24:07)

Отсутствует

 

№1058426-08-2016 21:28:39

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

Re: Custom Buttons

Duche
С кодом, что вы привели тут, не вижу такой проблемы.

Кстати, что-то не сообразил раньше, вот так контекстное меню у папок будет (у закладок по-прежнему, только с Right Links):

Выделить код

Код:

menuPopup.setAttribute("onclick", "if (!PlacesUtils.nodeIsFolder(event.target._placesNode)) {event.preventDefault(); event.stopPropagation()}; BookmarksEventHandler.onClick(event, this.parentNode._placesView);")

Отсутствует

 

№1058526-08-2016 21:39:07

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

turbot пишет

Кстати, что-то не сообразил раньше,

Добавил, для папок работает, у закладок по-прежнему, только с Right Links. Подождём, может что у Вас придёт в голову.
Спасибо.

Отредактировано Duche (26-08-2016 21:39:30)

Отсутствует

 

№1058627-08-2016 01:59:48

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

Re: Custom Buttons

turbot
Что вы там с Duche залипли с кнопкой

скрытый текст
Контекстное меню

Выделить код

Код:

var context = document.getElementById("placesContext");
    menuPopup.setAttribute("onclick", "clickHandler(event);");
    menuPopup.clickHandler = e => {
        if (e.button == 2) {
            e.preventDefault();
            context.state == "open" && context.hidePopup();
            e.target.dispatchEvent(new MouseEvent("contextmenu", e));
        } else
            BookmarksEventHandler.onClick(e, menu._placesView);
    }

Не помешает, наверно

Выделить код

Код:

addDestructor(() => menu._placesView && menu._placesView.uninit());

Всплывающая подсказка справа сверху

Выделить код

Код:

((url, icon) => PlacesUtils.promiseFaviconLinkUrl(gBrowser.currentURI).then(
        uri => icon = uri.spec, () => icon = "chrome://global/skin/icons/Portrait.png"
    ).then(() => document.getElementById("contentAreaContextMenu").hidePopup() || openDialog(
        url, "", "popup=yes", icon, "Добавил в папку " + folderTitle + ":", docTitle, false, null, 4
    )))("chrome://global/content/alerts/alert.xul");

Отредактировано Dumby (27-08-2016 02:00:49)

Отсутствует

 

№1058727-08-2016 02:22:29

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

Re: Custom Buttons

Dumby пишет

Что вы там с Duche залипли с кнопкой

Угусь, не без этого. :D Спасибо.

Duche

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

Выделить код

Код:

(contextMenu=> {
    var menu = contextMenu.insertBefore(document.createElement("menu"), contextMenu.children[0]);
    menu.setAttribute("id", "context_bookmarksToolbarPopup");
    menu.setAttribute("class", "menu-iconic bookmark-item");
    menu.setAttribute("label", "Открыть |  Добавить как закладку в");
    menu.setAttribute("image", "chrome://browser/skin/places/bookmarksToolbar.png");
    addDestructor(()=> {
        menu._placesView && menu._placesView.uninit();
        menu.remove();
    });

    var menuPopup = menu.appendChild(document.createElement("menupopup"));
    var context = document.getElementById("placesContext");
    menuPopup.setAttribute("id", "context_bookmarksPopup");
    menuPopup.setAttribute("placespopup", "true");
    menuPopup.setAttribute("context", "placesContext");
    menuPopup.setAttribute("onclick", "clickHandler(event);");
    menuPopup.clickHandler = e => {
        if (e.button == 2) {
            e.preventDefault();
            context.state == "open" && context.hidePopup();
            e.target.dispatchEvent(new MouseEvent("contextmenu", e));
        } else
            BookmarksEventHandler.onClick(e, menu._placesView);
    }
    menuPopup.setAttribute("openInTabs", "children");
    menuPopup.setAttribute("tooltip", "bhTooltip");
    menuPopup.setAttribute("popupsinherittooltip", "true");
    menuPopup.setAttribute("onpopupshowing", "if (!this.parentNode._placesView) new PlacesMenu(event, 'place:folder=TOOLBAR')");          //Попадать из контекстного не в "Меню закладок"............
    menuPopup.setAttribute("oncommand", "BookmarksEventHandler.onCommand(event, this.parentNode._placesView);");
})(document.getElementById("contentAreaContextMenu"));


// Двойным левым кликом на папке закладок добавлять закладку в папку закладок, от 09.05.2014. ................................
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 folderTitle = PlacesUtils.bookmarks.getItemTitle( folderId );
    var currentURI = Services.io.newURI( content.location, null, null );
    PlacesUtils.bookmarks.insertBookmark( folderId, currentURI, 0, docTitle ); 


    // всплывающая подсказка ....
    ((url, icon) => PlacesUtils.promiseFaviconLinkUrl(gBrowser.currentURI).then(
        uri => icon = uri.spec, () => icon = "chrome://global/skin/icons/Portrait.png"
    ).then(() => document.getElementById("contentAreaContextMenu").hidePopup() || openDialog(
        url, "", "popup=yes", icon, "Добавил в папку " + folderTitle + ":", docTitle, false, null, 4
    )))("chrome://global/content/alerts/alert.xul");
});

Отсутствует

 

№1058827-08-2016 07:20:31

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

Dumby пишет

Что вы там с Duche залипли с кнопкой

Dumby , Тurbot . 
Примите искреннюю благодарность за Вашу работу.

Уважаемый Dumby, посмотрите тут , нужна Ваша помощь.
https://forum.mozilla-russia.org/viewto … 52#p721552

Отредактировано Duche (27-08-2016 07:40:20)

Отсутствует

 

№1058927-08-2016 12:32:12

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

Re: Custom Buttons

Duche

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

Выделить код

Код:

//
try {
    (({Services, Preferences}, prefs) => {
        var [disk] = Services.dirsvc.get("GreD", Components.interfaces.nsIFile).path;
        for(var pref of prefs) {
            var dir = Preferences.get(pref, undefined);
            dir && dir[0] != disk && Preferences.set(pref, disk + dir.slice(1));
        }
    })(Components.utils.import("resource://gre/modules/Preferences.jsm", {}), [
        "browser.download.dir", "extensions.downloadbar.audioplayerpath"
    ]);
} catch(ex) {}

Отсутствует

 

№1059027-08-2016 13:38:42

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

Dumby. Проверил всё равно-

2016-08-03_193237.png

Пути не перепутал? config.js - в папку браузера, config-prefs.js - в папка_браузера\defaults\pref

Отсутствует

 

№1059127-08-2016 15:36:26

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

Re: Custom Buttons

Duche
Пути правильные. Где-то еще ошиблись. У меня работает.

Отсутствует

 

№1059227-08-2016 15:48:40

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

Re: Custom Buttons

Duche пишет

Пути не перепутал?

Давай попробуем проверить.
Добавь код в начало вкладки Код любой кнопки,
затем нажми кнопку, и скриншот алерта в студию.

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

Выделить код

Код:

var func = file => OS.File.read(file.path).then(arr => res.push(
    file.path + "\n" + "—".repeat(20) + "\n" + new TextDecoder("utf-8").decode(arr)
), ex => res.push(ex));
var file = Services.dirsvc.get("GreD", Ci.nsIFile), res = [];
file.append("config.js");
func(file).then(() => {
    file = Services.dirsvc.get("PrfDef", Ci.nsIFile);
    file.append("config-prefs.js");
    func(file).then(() => alert(res.join("\n\n\n")));
});
if (true) return;

Отсутствует

 

№1059327-08-2016 16:13:20

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

Dumby пишет

Добавь код в начало вкладки Код любой кнопки,

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

Как то так .

Отредактировано Duche (27-08-2016 19:23:25)

Отсутствует

 

№1059427-08-2016 21:28:58

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

Re: Custom Buttons

Duche
:/ Вроде всё правильно. Тогда не знаю почему не работает.

Отсутствует

 

№1059528-08-2016 07:04:52

Duche
Участник
 
Группа: Members
Зарегистрирован: 07-02-2016
Сообщений: 208
UA: Firefox 38.0

Re: Custom Buttons

Dumby пишет

Вроде всё правильно.

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

Отсутствует

 

№1059628-08-2016 16:43:35

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

Re: Custom Buttons

Duche пишет

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

В кнопке - без разницы.

Dumby
Не подскажете, где я туплю:

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

Выделить код

Код:

this.onclick = e => {
    if (e.button == 0) popup.openPopup(this, "after_start");
    if (e.button == 1)
        muteTab();
    if (e.button == 2 && !e.altKey && !e.shiftKey && !e.ctrlKey && !e.metaKey) {
        e.preventDefault(); e.stopPropagation(); muteAllTabs();
    }
}

var pref = "media.default_volume";
var o = {// https://github.com/Infocatcher/Private_Tab/issues/228#issuecomment-238963363
    get windows() {
        return (function*() {
            var ws = Services.wm.getEnumerator("navigator:browser");
            while(ws.hasMoreElements())
                yield ws.getNext();
        })();
    }
}

this.onmouseover = () => this.tooltipText = 'LMB: Open menu\nMMB: Toggle sound for active tab\nRMB: Mute all tabs in all windows\n' +
    (cbu.isPref(pref) && 'Mouse Scroll: Set default volume level for media (current: ' + cbu.getPrefs(pref) * 100 + '%)\n') +
    'Ctrl + Mouse Scroll: Change volume level for all tabs';

this.onwheel = e => {
    if (!e.ctrlKey && cbu.isPref(pref)) {
        var i = Services.prefs.getCharPref(pref) * 100,
            i = e.deltaY < 0 ? i + 10 : i - 10;
        if ( 0 <= i && i <= 100 )
            Services.prefs.setCharPref(pref, (i/100).toFixed(1));
        return;
    }
    for(var w of o.windows) {
        [...w.gBrowser.tabs].forEach(tab => {
            var vol = tab.linkedBrowser._contentWindow.content.document.defaultView
            .QueryInterface(Ci.nsIInterfaceRequestor)
            .getInterface(Ci.nsIDOMWindowUtils).audioVolume.toFixed(1) * 100,
                vol = e.deltaY < 0 ? vol + 10 : vol - 10;

            if (0 <= vol && vol <= 100)
                tab.linkedBrowser._contentWindow.content.document.defaultView
                    .QueryInterface(Ci.nsIInterfaceRequestor)
                    .getInterface(Ci.nsIDOMWindowUtils).audioVolume = (vol/100).toFixed(1);
        });
    }
};

var popup = self.appendChild(document.createElement("menupopup"));
// [
//     {pref: '', lbl: '', cmd: ''}
// ].forEach(m => {
//     var mItem = popup.appendChild(document.createElement("menuitem"));
//     mItem.oncommand = () => eval(m.cmd);
//     mItem.label = m.pref ? m.lbl + '(about:config prefrences (current:' + cbu.getPrefs(m.pref) + '))' : m.lbl;
// })

function muteTab() window.gBrowser.selectedTab.toggleMuteAudio();

function muteAllTabs() {
    for(var w of o.windows)
        [...w.gBrowser.tabs].filter(tab => tab.hasAttribute("soundplaying")
                                    && !tab.hasAttribute("muted")
                                    && tab.toggleMuteAudio());
}

addEventListener('keydown', e => {
    // Alt + Shift + T - toggle audio for active tab in active window
    // Alt + Shift + B - mute all tabs with sound playing in all windows
    // See: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode#Constants_for_keyCode_value
    if (e.altKey && e.shiftKey && !e.ctrlKey && !e.metaKey) {
        switch (e.keyCode) {
            case 84: muteTab(); break;
            case 65: muteAllTabs(); break;
            default: return;
        }
        e.preventDefault(); e.stopPropagation();
    }
}, false, window);

В this.onwheel, устанавливаемые значения периодически становится вида 0.20000000298023224. Откуда, ну откуда это берется?! Если с параметром конфига удалось справиться, то с audioVolume - никак. А главное, audioVolume почему-то меняется только на активной вкладке. Я, наверное (то есть, не наверное, а точно, чего уж там), сам дурак, но это мне уже мозг выело. dash2.gif

P.S.: И еще вопросик: как сделать, чтобы текст в тултипе кнопки обновлялся при вращение колесика? Если сделать с e.preventDefault(); e.stopPropagation();, чтобы он не скрывался, и менять tooltiptext, либо label тултипа, то атрибут хоть и меняется, а отображаемый текст в видимом тултипе - нет.

Отредактировано turbot (28-08-2016 17:10:02)

Отсутствует

 

№1059728-08-2016 21:50:37

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

Re: Custom Buttons

turbot пишет

audioVolume почему-то меняется только на активной вкладке

Даже разбираться не стал почему. Просто переписал. Проверь.

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

Выделить код

Код:

var step = .05;
    for(var w of o.windows) for(var {contentWindow: win} of w.gBrowser.browsers) {
        var dwu = win.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowUtils);
        dwu.audioVolume = e.deltaY < 0 ? Math.min(1, dwu.audioVolume + step) : Math.max(0, dwu.audioVolume - step);
    }


P.S. Про тултип может попробую подумать, попозже.

Отсутствует

 

№1059828-08-2016 22:16:24

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

Re: Custom Buttons

Dumby
Работает. Спасибо. :beer:

Даже разбираться не стал почему. Просто переписал.

Все так запущенно было? shuffle.gif

Отсутствует

 

№1059929-08-2016 00:41:29

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

Re: Custom Buttons

turbot пишет

как сделать, чтобы текст в тултипе кнопки обновлялся при вращение колесика?

:/ Так что ли

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

Выделить код

Код:

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%3Etest%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/x-icon%3Bbase64%2CAAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////tv///wAAZv8AAAD/AAAA/wAAAP8AAAD/25A6/wBmtv+2ZgD/////////////////AGa2/7ZmAP///////////7b///86AGb//9uQ///////////////////////b////OjqQ///bkP//////kNv//2YAOv///7b///////////+2////OgBm///bkP///////////////////////////2a2//+QOgD/2//b/wA6kP//tmb/////////////////tv///zoAZv//25D/////////////////////////////////AGa2/2ZmZv+QOgD////b/////////////////7b///8AAGb/AAAA/wAAAP8AAAD/ZgAA////tv///////////7b///86AGb//9uQ//////////////////////+2////OgBm///bkP////////////////////////////////86kNv/Ojo6/7ZmAP//////////////////////tv///zoAZv//25D///////////////////////////+Q2///kDo6////2/8AZrb//7Zm/////////////////7b///86AGb//9uQ////////////////////////////AGa2//+2Zv//////kNv//5A6Ov///9v///////////+2////AABm/wAAAP8AAAD/AAAA/wAAAP//tmb/Zrb//5A6AP///9v///////////8AZrb/25A6//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxBAACsQQAArEEAAKxB//+sQQ%3D%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5Bthis.tooltipText%20%3D%20%22Scroll%20me%22%3B%0Avar%20du%20%3D%20Cc%5B%22@mozilla.org/inspector/dom-utils%3B1%22%5D.getService%28Ci.inIDOMUtils%29%3B%0Athis.onwheel%20%3D%20e%20%3D%3E%20%7B%0A%09e.preventDefault%28%29%3B%0A%09var%20tooltip%20%3D%20%5B...du.getChildrenForNode%28document.documentElement%2C%20true%29%5D%0A%09%09.find%28child%20%3D%3E%20%22triggerNode%22%20in%20child%20%26%26%20child.triggerNode%20%3D%3D%20this%29%3B%0A%09if%20%28tooltip%29%20tooltip.label%20%3D%20Math.random%28%29%3B%0A%7D%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B%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

Отсутствует

 

№1060029-08-2016 00:54:46

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

Re: Custom Buttons

Dumby
Угу, спасибо. :)

А можешь мне все-таки мозги вправить, я ж не засну:
thumb_a177a5fc20a18aab3cc1822ab545a921.jpg 
:dumb:

Отредактировано turbot (29-08-2016 01:09:11)

Отсутствует

 

Board footer

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