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

Пользователи не любят читать документацию. Станьте оригинальным, будьте не как все. Ознакомьтесь с нашей базой знаний.

№1430118-02-2020 10:19:38

VORON
Участник
 
Группа: Members
Зарегистрирован: 03-04-2013
Сообщений: 158
UA: Firefox 68.0

Re: Custom Buttons

И снова здравствуйте)
На 54-й лисе была у меня кнопка - Очистить кэш и удалить флэш куки

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

Выделить код

Код:

this._handleClick =()=> {
   // очистить кэш ....
   try { 
       Services.cache.evictEntries(1);
       Services.cache.evictEntries(2);
       } 
   catch(e) { Services.cache2.clear() };

   // Удалить Flash кукисы ....
   var dir = Services.dirsvc.get('Home', Ci.nsIFile);
   dir.append("Application Data");
   dir.append("Macromedia");
   dir.exists() && dir.remove(true);
   !dir.exists() && dir.create(Ci.nsIFile.DIRECTORY_TYPE, 0777);

   // Всплывающее сообщение ....
   Cc["@mozilla.org/alerts-service;1"].getService(Ci.nsIAlertsService)
   .showAlertNotification(self.image, self.label, 'Очистил кеш и удалил Flash кукиси');
};


// Всплывающая подсказка у счётчика отображает заполнение дискового кеша ..............
var data = {
    memory: "Memory Cache:  ",
    disk: "Disk Cache:  ",
    offline: "Offline Cache:  "
};   
function getSize(size) {
   if (!size) return size === 0 ? "0" : "?";
   for(var count = -1; size >= 1024; size /= 1024, count++);
   return size.toFixed(2).replace(/0+$/, "").replace(/\.$/, "") + " " + ("KMGT"[count] || "") + "B";
}
function setInf(tot, max, type, i) {
   var inf = getSize(tot) + " / " + getSize(max);
   var key = "browser.cache." + type + ".enable";
   if (!Services.prefs.getBoolPref(key)) inf += " (disabled)";
   self.tooltipText = self.tooltipText.replace(zws(i), inf);
}
function zws(ind) "\u200B\u200B\u200B".slice(0, ++ind);

var types = Object.keys(data);
var ttt = types.map(function(key, i) data[key] + zws(i)).join("\n");
   
var context = Cu.import("resource://gre/modules/LoadContextInfo.jsm", {}).LoadContextInfo.default;
self.onmouseenter = function() {
   self.tooltipText = "Л: Очистить кэш и удалить Flash-куки\n" + ttt;
   try {
       var entries = {};
       Services.cache.visitEntries({
       visitDevice: function(device, info) entries[device] = info,
       visitEntry: function() {}
       });
   types.forEach(function(type, i) {
      var info = entries[type];
      setInf(info && info.totalSize, info && info.maximumSize, type, i)
   });
       } 
   catch(ex) {
       Services.cache2 && types.forEach(function(type, i) {
       var func = function(aEntryCount, aConsumption, aCapacity, aDiskDirectory)
                  setInf(aConsumption, aCapacity, type, i);
       var storage = Services.cache2[(type == "offline" ? "app" : type) + "CacheStorage"](context, null);
       try { storage.asyncVisitStorage({onCacheStorageInfo: func}, false) } catch(ex) {};
       });
       }
};


Можно для 68го что-то с ней придумать,или может аналог какой то есть?

Отсутствует

 

№1430218-02-2020 11:27:46

Garalf
Участник
 
Группа: Members
Зарегистрирован: 19-09-2017
Сообщений: 316
UA: Firefox 74.0

Re: Custom Buttons

Dumby
У меня расширение Right Links WE с чем-то конфликтует в профиле и начинает работать только после отключения-включения расширения на about:addons.
Можно ли кодом это сделать автоматически:
при завершении работы FF - выключать расширение,
а при запуске - включать?

Вопрос снят.

Отредактировано Garalf (21-02-2020 20:53:14)

Отсутствует

 

№1430318-02-2020 13:36:23

toxa
Участник
 
Группа: Members
Зарегистрирован: 11-04-2012
Сообщений: 261
UA: Firefox 56.0

Re: Custom Buttons

Подскажите, пожалуйста.
Вот я открываю новое окно из дополнения (Custom Buttons или любое другое) с помощью

Выделить код

Код:

window.open('https://google.com/search?q=TEST')

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

Выделить код

Код:

window.open('https://google.com/search?q=TEST', '', 'width=500, height=500')

то в этом окошке новую вкладку создать невозможно. Если в контекстном меню ссылки выбрать "Открыть в новой вкладке", то вкладка открывается в родительском окне. Почему нельзя открыть новую вкладку?

Хочу уточнить что у меня ФФ 56

Отредактировано toxa (18-02-2020 13:46:32)

Отсутствует

 

№1430418-02-2020 16:55:10

func4ptch4
Участник
 
Группа: Members
Зарегистрирован: 03-05-2018
Сообщений: 220
UA: Firefox 75.0

Re: Custom Buttons

Andrey_Krropotkin, с твойм исправлением в urlbar вставляет, а в формы нет. До этого никуда не вставлялось.

Твоя кнопка норм работает, правда я css тултипов закомментил, думал перенести insertText, но там коды отличаются пока оставлю так, да и нужно ли вообще может старый удалю, вот там в коде BBCode но я им никогда не пользовался как он работает или вообще работал-ли? там надо по ПКМ вставлять было? ладно посмотрю потом код может пойму)..

Отредактировано func4ptch4 (18-02-2020 17:31:39)

Отсутствует

 

№1430518-02-2020 21:02:51

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

Re: Custom Buttons

Dumby пишет

«Merge Date»custom_buttons-0.0.7.0.0.9-fx-paxmod.xpicustom_buttons-0.0.7.0.0.9-fx-bootstrap.xpi

Как установить в FirefoxPortableESR 60 или 68 с PortableApps

Отсутствует

 

№1430619-02-2020 12:06:48

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 73.0

Re: Custom Buttons

Andrey_Krropotkin
Эндрю, как в detail иконку темы увеличить?
6rkwsrvd.png
Этим зафиксировано..

скрытый текст
.card-heading-icon {
  flex-shrink: 0;
  margin-top: 6px;
  margin-inline-end: 14px;
  margin-inline-start: 5px;
  -moz-context-properties: fill;
  fill: currentColor;
  width: 25px;
  height: 25px;
}

Сам пишу такую шнягуЖ
скрытый текст
@-moz-document  url-prefix(chrome://mozapps/content/extensions/aboutaddons.html) {
addon-card[addon-id^="default-theme@mozilla.org"] {
   длина:
   ширина: 
}

Отсутствует

 

№1430719-02-2020 12:08:26

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

Re: Custom Buttons

unter_officer пишет
Выделить код

Код:

/*CODE*/
gBrowser.removeAllTabsBut(gBrowser.selectedTab);

Спасибо!

есть такая кнопка - "Сохранить всю страницу как PNG"

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

Выделить код

Код:

// Настройка функций кликов мыши для кнопки ................ 
this.onclick =e=> {     
   
   if ( e.button == 0 ) savePageInPNG();
   
   if ( e.button == 1 ) gShowPopup(this);
   
   if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) {
        e.preventDefault();
        savePageToPDF();
        }
};


// Сохраняет страницу как PDF файл через сервис 'pdfmyurl.com' ................
function savePageToPDF() loadURI("http://pdfmyurl.com?url=" + content.location);

 
// Сохранить всю страницу как PNG ................
function savePageInPNG() {
   var canvas = document.createElementNS(xhtmlns, 'canvas');
   canvas.width = content.innerWidth + content.scrollMaxX; 
   canvas.height = content.innerHeight + content.scrollMaxY;
   var context = canvas.getContext("2d");
   ((i = 17)=> {
      try { context.drawWindow(content, 0, 0, canvas.width, canvas.height, "white") }
      catch(e) { canvas.height = canvas.width*i; arguments.callee(--i); };
   })();
   var uri = makeURI(canvas.toDataURL("image/png"));
   
   var fp = window.makeFilePicker();
   fp.init(window, "Save Screenshot As", fp.modeSave);
   fp.appendFilter("", "*.png");
   var title = gBrowser.mCurrentTab.label.replace(/[:+.\\\/<>?*|"]+/g, " ").replace(/\s\s+/g, " ");
   fp.defaultString = title + new Date().toLocaleFormat("  %d.%m.%Y. ( %I:%M:%S )") + ".png";
   if (fp.show() == fp.returnCancel || !fp.file) return;

   var wbp = window.makeWebBrowserPersist();
   parseInt(Services.appinfo.version) < 36
   ? wbp.saveURI(uri, null, null, null, null, fp.file, null)
   : wbp.saveURI(uri, null, null, null, null, null, fp.file, null); // если FF36+
};


// Подсказка для кнопки ................
this.tooltipText = "Л:  Сохранить всю страницу как PNG \nС:  CB Меню \nП:  Сохранить всю страницу как PDF";


Пожалуйста, помогите подправить, чтобы при нажатии сразу сохранялось сюда - C:\Users\Firepox\Desktop
Без всяких диалогов.
Спасибо!

Отредактировано firepox (19-02-2020 12:43:58)

Отсутствует

 

№1430819-02-2020 14:36:38

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

Re: Custom Buttons

solombala у меня так и тем установленных нет
.card-heading-icon{
    width: 40px !important;
    height: 40px !important;
    padding: 0px !important;
}
addon-list[type=custombuttons] .addon-icon {
    width: 24px !important;
    height: 24px !important;
    padding-top: 4px !important;
}

Отредактировано Andrey_Krropotkin (19-02-2020 14:40:51)

Отсутствует

 

№1430920-02-2020 14:31:43

Garalf
Участник
 
Группа: Members
Зарегистрирован: 19-09-2017
Сообщений: 316
UA: Firefox 74.0

Re: Custom Buttons

del

Отредактировано Garalf (21-02-2020 20:51:51)

Отсутствует

 

№1431020-02-2020 15:34:58

brom113
Участник
 
Группа: Members
Зарегистрирован: 23-03-2011
Сообщений: 24
UA: Firefox 52.0

Re: Custom Buttons

Уважаемые гуру скриптописания, можно ли в этом коде реализовать (добавить) блокировку контекстного меню на странице?

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

Выделить код

Код:

addEventListener("click", async e => {
    if (e.buttons != 2 || e.button != 0) return;  // открытие - закрытие FindBar по ПКМ+ЛКМ

    var findbar = gFindBar;
    if (findbar) {
        if (!findbar.hidden) return findbar.close();
    } else {
        findbar = await gFindBarPromise;
        await new Promise(resolve => setTimeout(resolve, 0));
    }
    findbar.onFindCommand();
    
}, false, gBrowser.tabpanels || 1);


сам код позаимствован отсюда

Отсутствует

 

№1431120-02-2020 20:30:57

shadow_user
Участник
 
Группа: Members
Зарегистрирован: 14-02-2007
Сообщений: 244
UA: Firefox 68.0

Re: Custom Buttons

brom113 пишет

блокировку контекстного меню на странице?

https://forum.mozilla-russia.org/viewto … 71#p428071

Отсутствует

 

№1431220-02-2020 23:02:02

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

Re: Custom Buttons

firepox пишет

Пожалуйста, помогите подправить, чтобы при нажатии сразу сохранялось сюда - C:\Users\Firepox\Desktop
Без всяких диалогов.
Спасибо!

Выделить код

Код:

// Настройка функций кликов мыши для кнопки ................ 
this.onclick =e=> {     
   
   if ( e.button == 0 ) savePageInPNG();
   
   if ( e.button == 1 ) gShowPopup(this);
   
   if ( e.button == 2 && !e.ctrlKey && !e.shiftKey && !e.altKey && !e.metaKey ) {
        e.preventDefault();
        savePageToPDF();
        }
};


// Сохраняет страницу как PDF файл через сервис 'pdfmyurl.com' ................
function savePageToPDF() loadURI("http://pdfmyurl.com?url=" + content.location);

 
// Сохранить всю страницу как PNG ................
function savePageInPNG() {
   var canvas = document.createElementNS(xhtmlns, 'canvas');
   canvas.width = content.innerWidth + content.scrollMaxX; 
   canvas.height = content.innerHeight + content.scrollMaxY;
   var context = canvas.getContext("2d");
   ((i = 17)=> {
      try { context.drawWindow(content, 0, 0, canvas.width, canvas.height, "white") }
      catch(e) { canvas.height = canvas.width*i; arguments.callee(--i); };
   })();
   var uri = makeURI(canvas.toDataURL("image/png"));

   var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
   file.initWithPath("C:\\Users\\Firepox\\Desktop\\");
   var title = gBrowser.mCurrentTab.label.replace(/[:+.\\\/<>?*|"]+/g, " ").replace(/\s\s+/g, " ");
   var imgName = title + " " + (new Date().toLocaleString("af")).replace(/:/g, "·");
   file.append(imgName + ".png");
   
   var wbp = window.makeWebBrowserPersist();        
   wbp.saveURI(uri, null, null, null, null, null, file, null);
};


// Подсказка для кнопки ................
this.tooltipText = "Л:  Сохранить всю страницу как PNG \nС:  CB Меню \nП:  Сохранить всю страницу как PDF";

Отсутствует

 

№1431321-02-2020 11:33:56

Garalf
Участник
 
Группа: Members
Зарегистрирован: 19-09-2017
Сообщений: 316
UA: Firefox 74.0

Re: Custom Buttons

bunda1
Может быть вы поможете решить проблему?

Отсутствует

 

№1431421-02-2020 20:16:07

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 73.0

Re: Custom Buttons

Dumby
Как стили сделать независимыми от Аэро ? Код нужен  может в config ?
https://forum.mozilla-russia.org/viewto … 08#p778408
Мне то и на ... не нужно , но есть народ упоротый с этим аэро , а рихтовать стили гемморно..

Отредактировано solombala (21-02-2020 20:23:40)

Отсутствует

 

№1431521-02-2020 20:34:16

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

Re: Custom Buttons

Garalf пишет

bunda1
Может быть вы поможете решить проблему?

:/

Выделить код

Код:

setTimeout(()=> { 
   var promise = AddonManager.getAddonsByTypes(["extension"]);
      promise.then(addons=> {
         addons.forEach(addon=> { 
            if ( addon.name == "Right Links WE" ) {
                 addon.softDisabled = true;
                 setTimeout(()=> addon.softDisabled = false, 2000);
                 }                                        
         });
      });
}, 5000);

В инициализацию. Код после старта браузера через 5 сек выключит и включит Right Links WE

Отсутствует

 

№1431621-02-2020 20:49:39

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 596
UA: Firefox 48.0

Re: Custom Buttons

bunda1, не поможете с моим вопросом: https://forum.mozilla-russia.org/viewto … 18#p776718


«The Truth Is Out There»

Отсутствует

 

№1431721-02-2020 20:51:18

Garalf
Участник
 
Группа: Members
Зарегистрирован: 19-09-2017
Сообщений: 316
UA: Firefox 74.0

Re: Custom Buttons

bunda1
Премного благодарен!

Отсутствует

 

№1431821-02-2020 21:00:29

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

Re: Custom Buttons

unter_officer пишет

bunda1, не поможете с моим вопросом: https://forum.mozilla-russia.org/viewto … 18#p776718

Даже не знаю как такое можно сделать. Разве только можно отслеживать иконки 1-connection-secure.png2-connection-mixed-passive-loaded.png3-connection-mixed-active-loaded.png. Но ты наверно хочешь их как то скрыть?

Отсутствует

 

№1431921-02-2020 21:30:11

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 73.0

Re: Custom Buttons

bunda1
А нельзя код этот  просто на выключение при выходе? Причем, на пару аддонов?

скрытый текст
setTimeout(()=> {
   var promise = AddonManager.getAddonsByTypes(["extension"]);
      promise.then(addons=> {
         addons.forEach(addon=> {
            if ( addon.name == "Right Links WE" ) {
                 addon.softDisabled = true;
                 setTimeout(()=> addon.softDisabled = false, 2000);
                 }                                       
         });
      });
}, 5000);

Отсутствует

 

№1432021-02-2020 22:07:23

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

Re: Custom Buttons

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

Выделить код

Код:

setTimeout(()=> { 
   var names = ["Tampermonkey", "Right Links WE"]; // названия аддонов для отключения
   
   var promise = AddonManager.getAddonsByTypes(["extension"]);
      promise.then(addons=> {
         addons.forEach(addon=> {
            if (~names.indexOf(addon.name)) addon.softDisabled = true;
         });
      });
}, 5000);

Отсутствует

 

№1432121-02-2020 22:24:19

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 73.0

Re: Custom Buttons

bunda1
Хорошо, только timeout , плюс ...Короче , в этот код запихать?

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

Выделить код

Код:

var closer = {
    observe: function(subject, topic, data) {
       if ( data == "shutdown" ){
var file = Services.dirsvc.get('ProfD', Ci.nsIFile);
         file.initWithPath(file.path + "\\memreduct\\sq.vbs");   
file.launch(); 

}
}
};
Services.obs.addObserver(closer, "quit-application", false);

Отсутствует

 

№1432221-02-2020 22:39:27

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

Re: Custom Buttons

Как раз в этот код запихать пробовал но не работает:

Выделить код

Код:

var observer = {
   observe:(subject, topic, data)=> {
      if ( data == "shutdown" )
           AddonManager.getAddonsByTypes(["extension"]).then(addons=> {
              addons.forEach(addon=> { 
                 if (addon.name == "Right Links WE") addon.softDisabled = true;
              });
           }); 
    }
};
Services.obs.addObserver(observer, "quit-application", false);

Наверно причина в том что AddonManager.getAddonsByTypes это асинхронный код, то есть он срабатывает позже, когда браузер уже выключается :rolleyes:

Отсутствует

 

№1432321-02-2020 23:23:39

solombala
Забанен
 
Группа: Members
Зарегистрирован: 20-07-2019
Сообщений: 652
UA: Firefox 73.0

Re: Custom Buttons

bunda1
Через ID тоже не сработает? Типа:

скрытый текст
var id = "{ae3cc3e4-1091-48d0-91e0-446601bc2e22}";
AddonManager.getAddonByID(id).then(
    addon => addon[
        addon.userDisabled ? "enable" : "disable"
       
    ]({allowSystemAddons: true}),
    Cu.reportError
);

Отсутствует

 

№1432422-02-2020 03:02:36

unter_officer
Участник
 
Группа: Members
Откуда: Санкт-Петербург
Зарегистрирован: 27-03-2011
Сообщений: 596
UA: Firefox 48.0

Re: Custom Buttons

bunda1 пишет

Даже не знаю как такое можно сделать. Разве только можно отслеживать иконки 1-connection-secure.png2-connection-mixed-passive-loaded.png3-connection-mixed-active-loaded.png. Но ты наверно хочешь их как то скрыть?

Жаль конечно, но нет, так нет.
А эти иконки у меня и так скрыты.


«The Truth Is Out There»

Отсутствует

 

№1432522-02-2020 07:42:34

func4ptch4
Участник
 
Группа: Members
Зарегистрирован: 03-05-2018
Сообщений: 220
UA: Firefox 75.0

Re: Custom Buttons

А можно перенести кнопку овновления страницы, в адресную строку и добавить такие функций типа Ctrl+ЛКМ, Ctrl+ПКМ, ну и свой функций к ним прикрутить? можно и отдельно кнопку, и еще можно эту chrome://browser/skin/reload-to-stop.svg к кнопке прикрутить? ну чтобы она смогла обработать как фф, хотя все таки лучше интегрировать чем создавать велосипед снова.

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

Выделить код

Код:

if(e.button==0)BrowserOpenAddonsMgr(); 
  if(e.button==2)History();

Как сюда добавить иконку, если переключаю к примеру на другую функцию он переключает, и обратно возвращает свою что то смотрел примеры но походу я слишком туп, пробовал : ?  применить...

Хотя нет не надо, передумал еще с иконками возиться потом ... главное функциональность.
но от примера не отказался бы просто для себя.

Отредактировано func4ptch4 (22-02-2020 09:56:57)

Отсутствует

 

Board footer

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