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

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

Сustom Buttons » Custom Buttons » Вчера 20:00:23

shveicar поищите поиском, тут в этом разделе где-то была исправленная версия

Сustom Buttons » Custom Buttons » Вчера 18:59:15

shveicar Попробуй заменить nsILocalFile на nsIFile

Сustom Buttons » Custom Buttons » Вчера 13:55:23

Dumby все бьюсь над многопроцессорным переводом. Окно запускается, переводит, но есть еще ошибки. Помоги пожайлуста разобраться.
[spoiler][code]/*Initialization Code*/

document.addEventListener('mouseup', function(e){
    if(e && e.button == 0){
        var lc = window.navigator.lastClick || (window.navigator.lastClick = {});
        lc.X = e.clientX;
        lc.Y = e.clientY;
        lc.element = e.target;
    }
}, false);



window.navigator.ujs_createWindow = function(text, status, title, id, pos, size){
    var win = window, doc = win.document, wId = 'ujs_window'+(id || ''), w = doc.getElementById(wId);
    var keyDown = function(e){if(!e.shiftKey && !e.ctrlKey && !e.altKey && e.keyCode == 27)doc.getElementById(wId).closeWin()};
    if(w)w.closeWin();
    w = doc.createElement('div');
    w.setAttribute('style', 'position:fixed;display:block;visibility:hidden;left:0;top:0;width:auto;height:auto;border:1px solid gray;padding:3px;margin:0;z-index:99999;overflow:hidden;cursor

Сustom Buttons » Custom Buttons » 12-07-2019 22:45:26

Dumby Вот нашел код , который работает для многопроцессорного режима [spoiler][code](function () {
    if (location != 'chrome://browser/content/browser.xul')
        return;
    let translate = function () {
        let browserMM = gBrowser.selectedBrowser.messageManager;
        browserMM.addMessageListener('getSelection', function listener(message) {
            let t = (message.data !== '');
            let e = (document.charset || document.characterSet);
            if (t) {
                openWebLinkIn('https://translate.google.com/#view=home&op=translate&sl=auto&tl=ru&text=' + encodeURIComponent(message.data), 'tab');
            } else {
                openWebLinkIn('https://translate.google.com/translate?u=' + encodeURIComponent(gBrowser.currentURI.spec) + '&hl=de-DE&ie=' + e + '&sl=auto&tl=ru-RU', 'tab');
            };
            browserMM.removeMessageListener('getSelection', listener, true);
        });
        browserMM.loadFrameScript('data:,sendAsyncMessage("g

Сustom Buttons » Custom Buttons » 11-07-2019 15:16:08

leex в config.js для CB-paxmod.xpi допиши, то что в bootstrap-loader.js и установи custom_buttons-0.0.7.0.0.5-fx-bootstrap.xpi и все появиться, потом можешь сверху установить custom_buttons-0.0.7.0.0.5-fx-paxmod.xpi и все будет работать.
Дальше надо установить однопроцессорный режим по методу Dumby мой пост

Сustom Buttons » Custom Buttons » 11-07-2019 13:38:57

leex что 68, что 69 разницы нет, скачивать надо с сайта https://www.mozilla.org/ru/ (вкладка разработчикам), 69 сейчас в стадии beta.
СВ последняя работает на 68

Сustom Buttons » Custom Buttons » 11-07-2019 11:12:35

Garalf пишет:

Вроде все заменил и перепроверил

[spoiler][code]/*Initialization Code*/
// Настройка функций кликов мыши(Mouse Click settings) .......................................................
this.onclick = function(e) {
     if ( e.button == 0 ) gBrowser. selectedTab = gBrowser. addTrustedTab("about:config"); 
     
     if ( e.button == 1 ) {
          // запомнить текст из буфера обмена и скопировать текст на странице ....
          var clip = gClipboard.read();
        //  window.content.focus();
          goDoCommand("cmd_copy");           

          gBrowser.selectedTab = gBrowser.addTrustedTab( 'about:config' );
         
          // oбработчик ждет пока откроется "about:config", вставит текст из буфера обмена и удаляет себя ....
          gBrowser.addEventListener("pageshow", function(e) {               
               this.removeEventListener("pageshow", arguments.callee, true);
               
               content.document.getElementById("textbox").valu

Сustom Buttons » Custom Buttons » 11-07-2019 10:33:03

Garalf пишет:

Открыть в нижней панели

проверьте [spoiler][code]// Блокировать повторный запуск функций и обработчиков при открытии настройки панелей ........................


var icon = this.icon ||document.getAnonymousElementByAttribute( this, 'class', 'toolbarbutton-icon');
icon.style.width = '16px', icon.style.height = '16px';

this.bottomPanel = function(aURL) {
  var prefBranch = "custombuttons.bottomPanel."

  if(!aURL && aURL != "") {
    try {
      aURL = gPrefService.getCharPref(prefBranch + "url");
    } catch(ex) {
      aURL = "";
    }
  }
  if(aURL == "") return;

  if(aURL == gURLBar.value && !aURL.match(/^\w+?\:/)) aURL = "http://" + aURL;

  var panelID = "bottom-panel";
  var gPanel = document.getElementById(panelID);
  var height;
  try {
    height = gPrefService.getIntPref(prefBranch + "height");
  } catch(ex) {
    height = 400;
  }

  if(gPanel) {

    var src = gPanel.firstChild.nextSibling.getAttribute("src");
    if(aURL != src) {
      gPanel.firstC

Сustom Buttons » Custom Buttons » 11-07-2019 10:14:36

Garalf полный код
[spoiler][code]
  /*Initialization Code*/

/////////////////////////////////////////////////////////////////////////////
/////////////////////////////// Создание меню ///////////////////////////////
/////////////////////////////////////////////////////////////////////////////

function $(aId) {
  return document.getElementById(aId);
};

function addMenuItem(aNewIDs, aNodeIDs, aLabel, aIcon, aCommand) {
  for (var i = 0; i < aNewIDs.length; i++) {
   
    if ($(aNewIDs[i])) $(aNewIDs[i]).parentNode.removeChild($(aNewIDs[i]));

  var mi = document.createXULElement("menuitem");
           mi.setAttribute("id", aNewIDs[i]);
           mi.setAttribute("class", "menuitem-iconic");
           mi.setAttribute("image", aIcon);
           mi.setAttribute("label", aLabel);
           mi.setAttribute("oncommand", aCommand);
       
    if (i == 0)
      mi.setAttribute("observes", "custombuttons-contextbroadcaster-primary");

    if ($(aNodeIDs[i])) {
      if ($(aNodeI

Сustom Buttons » Custom Buttons » 11-07-2019 06:56:08

Garalf починил для Вас для 68 Экспорт всех CB кнопок в HTML файл (помог Dumby) [spoiler][code]this.onclick =()=> menuPopup.openPopup(this, "after_start");


var array = [
   [ "Экспорт всех CB кнопок в HTML файл", "setPathToHtmlFile()", "data:image/x-icon;base64,AAABAAEAEhIAAAEAIACABQAAFgAAACgAAAASAAAAJAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg/o/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg/o/w4P6P8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg/o/zUq6P8OD+j/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADg/o/0RC//0cE+X/Dg/o/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQW5/8tMOT/Njfw/0BA+v9JSP//UU///1hT//9aVv3/RUL5/zQy+f8zNPH/JSHa/w4P6P8AAAAAAAAAAAAAAAAAAAAAAAAAABAR5v0UFeL/Hh7v/Soo+P80Mf39PDn+/0I+//05NPn/F5sr/zlO0/0

Сustom Buttons » Custom Buttons » 10-07-2019 20:24:27

Dumby спасибо все работает. На 68 работают все кнопки с заменой "createElement" на "createXULElement" и все изменения, которые вносил для 69b1

Сustom Buttons » Custom Buttons » 10-07-2019 14:32:41

Dumby подскажи пожалуйста на 68 поймал такую ошибку doc.load is not a function в коде

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

Выделить код

Код:

function getPaleteButtonsURI(but) {
   var doc = document.implementation.createDocument("", "", null);
   doc.async = false;
   doc.load("chrome://custombuttons/content/nbftemplate.xml");

   ["help,Help", "name,label", "image,image", "mode,cb-mode", "initcode,cb-init", "accelkey,cb-accelkey", "code,cb-oncommand"]
   .forEach(str=> {
      var arr = str.split(',');
      var value = but.getAttribute(arr[1]), name = arr[0];
      custombutton.buttonSetText(doc, name, value, true);
   });

   var ser = new XMLSerializer();
   return "custombutton://" + escape(ser.serializeToString(doc));
};


я так понимаю из-за Removed the non-standard XMLDocument.load() и Removed the non-standard XMLDocument.async и использовать XMLHttpRequest или fetch() вместо, а как это сделать?

Сustom Buttons » Custom Buttons » 09-07-2019 17:51:04

Dumby окно появляется, но не переводит а копирует текст, при нажатии на заголовок (должен отправить выделенный текст на перевод в новой вкладке) вместо текста посылает - 531391.531391.
Я думаю этот вариант для кнопки не подойдет. Давайте попробуем попроще вариант с этим же окном
[spoiler][code]/*CODE*/
//var createWindow = function(text, status, title, id, pos, size){
var createWindow = function(text, title, id, pos, size){
    //var win = document.commandDispatcher.focusedWindow.top == content ? document.commandDispatcher.focusedWindow : content;   
    var win = content;
    var doc = win.document, wId = 'ujs_window'+(id || ''), w = doc.getElementById(wId);
    var keyDown = function(e){if(!e.shiftKey && !e.ctrlKey && !e.altKey && e.keyCode == 27)doc.getElementById(wId).closeWin()};
    if(w)w.closeWin();
    w = doc.createElement('div');
    w.setAttribute('style', 'position:fixed;display:block;visibility:hidden;left:0;top:0;width:auto;height:auto;border:1px solid gray;paddi

Сustom Buttons » Custom Buttons » 09-07-2019 10:02:33

momo2000 пишет:

Подскажите, на 68 теперь не работает

замени везде "getBrowser ()" на "gBrowser"

09-07-2019 10:14:33

Dumby пишет:

Чисто теоретически,

Окно не появляется.
В ошибках пусто,
В предупреждениях:

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

Выделить код

Код:

SyntaxError: test for equality (==) mistyped as assignment (=)? data:((dir, sx, sy) => { var window = content; var createWindow :89:48
SyntaxError: test for equality (==) mistyped as assignment (=)? data:((dir, sx, sy) => { var window = content; var createWindow :96:29
ReferenceError: assignment to undeclared variable TKK data:((dir, sx, sy) => { var window = content; var createWindow :102:9
ReferenceError: reference to undefined property 1 data:((dir, sx, sy) => { var window = content; var createWindow :134:9

Сustom Buttons » Custom Buttons » 08-07-2019 19:16:40

xrun1 а у нас тут даже почти примеров нет, как делать такие кнопки, поэтому даже не знаю, как править.

Сustom Buttons » Custom Buttons » 08-07-2019 09:31:40

Garalf пишет:

Как получить ключ API для перевода в окне Яндекса?

зарегистрироваться на Яндексе и бесплатно получить на yandex в течении нескольких минут, также и для  microsoft. Если не понятно, в инете полно инструкций.

Garalf пишет:

Но есть один неприятный момент.

У себя не наблюдаю, попробуй отключать по очереди кнопки.

Garalf пишет:

Можно ее починить?

ее по моему делал bunda1
В качестве альтернативы дополнительное меню для кнопок для 67. Там один из пунктов - Сохранить все кнопки HTML файл[spoiler][code]
  /*Initialization Code*/

/////////////////////////////////////////////////////////////////////////////
/////////////////////////////// Создание меню ///////////////////////////////
/////////////////////////////////////////////////////////////////////////////

function $(aId) {
  return document.ge

Сustom Buttons » Custom Buttons » 07-07-2019 22:28:56

leex это для для 69, на 67 не будет работать, я не стал делать совместимым с 67. Все дело в createXULElement для пунктов контекстного меню (для 67 - createElement)
Garalf несколько страниц назад пост Dumby в config.js добавить

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

Выделить код

Код:

//
try {
    Components.interfaces.nsIUDPSocketChild ||
    Cc["@mozilla.org/process/environment;1"].getService(Ci.nsIEnvironment).set(
        "MOZ_FORCE_DISABLE_E10S",
        Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefBranch)
            .getBoolPref("browser.tabs.remote.autostart", true) ? "" : "1"
    );
} catch(ex) {}


затем в about:config - browser.tabs.remote.autostart = false

Сustom Buttons » Custom Buttons » 07-07-2019 13:44:13

Garalf посмотри мой комбайн перевода, у меня так работает на 69b1 и исправь свой (однопроцессорный прописывается сначала config.js, потом переключается в about:config)[spoiler][code]/*Initialization Code*/
//--------------------------------Перевод----------------------------------------
//Здесь можно изменять парамеры:

//Ключи
//Яндекс
var keyuser = "____Ваш ключ______";
//Microsoft
var keyus = "____Ваш ключ______";


//Варианты выбора языка переводчика для перевода текста в окне. Нужное разкоментировать. Остальное закоментировать.
//Google,
var langFrom_google_text = "auto";//авто
var langTo_google_text = "ru";
//Microsoft
var langFrom_Microsoft_text = "";//авто
var langTo_Microsoft_text = "ru";
//Promt
var langFrom_PROMT_text = "a";//авто
var langTo_PROMT_text = "r";
//Яндекс
var langFrom_yandex_text = ""; //авто
//var langFrom_yandex_text = "en-"; //английский и так же другие языки, тире обязательно
var langTo_yandex_text = "ru";
     
//Назначаем иконки
var maini

Сustom Buttons » Custom Buttons » 07-07-2019 13:18:46

Garalf однопроцессорный включен? Что в консоли пишет?

Сustom Buttons » Custom Buttons » 07-07-2019 11:31:16

Dumby спасибо, исправил в onLoad(), в принципе ответ лежал на поверхности. Про bug 1552477, вроде пишут только в ночнушках и бетах, завернул this.onclick - не помогло. На 67 то работает. А в принципе эта кнопка и ненужна. Есть другой вариант - разделения на два окна. Просто когда делал для себя кнопку для вкладок открыть в боковой панели, паровозом и эту кнопку сделал. Еще раз спасибо.
А DOM Inspector У Вас есть для 69b1?

Сustom Buttons » Custom Buttons » 07-07-2019 00:15:26

Dumby спасибо, по первой кнопке без проблем, во второй кнопке Ваш вариант не прошел, но прошел вариант из первой кнопки, в третьей без проблем (удалил и дописал скрипт).
И еше вопрос по третьей кнопке, как Вы видите я из нее сделал такую солянку из всех ваших кодов, чтобы она открывалась везде. Самое интересное, что это пока работает, но как то интересно. Если в окне - то все нормально, если  первый раз открываю допустим сайдбар, то пока не щелкну по текстовому полю, текст не не появляется. Если второй раз открываю, то уже все нормально. Перезагружаю браузер, тоже все нормально. То же самое с tooltip. Пока в первый раз не открою окно, tooltip не появляется. Видать наверно я не правильно объединил функции для сайдбара и xml из вкладки "Справка", где-то какая то мелочь мешает. Но это не критично.
И еще один интересный момент про нижнюю панель (этот код, что в кнопке 3) у меня он везде работает и на других кнопках в 69b1 за исключением одной кнопки - почему-то браузер после примене

Сustom Buttons » Custom Buttons » 06-07-2019 19:00:42

Dumby подскажи, может знаешь в чем причина. На 69b1 в кнопках, которые выводят диалоговые окна, перестали выделятся пункты внутри окна:
1 кнопка
[spoiler][code]/*CODE*/
var btn = this, br = gBrowser;
var trigger, trigger1, dialog, drives, count;
function jarLoaded(e) {        var val = gURLBar.value;
    if(val.search(/(file|jar):/) == 0 && val.search(/\.(ja|jar|xpi|zip)$/i) > -1) loadURI("jar:" + val + "!/");
}
function jarClicked(e) {    if(e.button == 0) {
    var tabUrl = gURLBar.value;
    if(tabUrl.search(/(file|jar):/) == 0 && tabUrl.search(/\/$/) > -1 || tabUrl.search(/view-source:/) == 0) {
        var node = e.target.href;
        if(node && node.search(/\.(exe|dll|sqlite|sqlite-shm|sqlite-wal)$/i) == -1) {
            if(tabUrl.search(/view-source:/) == 0 &&
                 node.search(/view-source:/) == 0    || node.search(/\.(ja|jar|xpi|zip)$/i) > -1) {
                e.preventDefault();    e.stopPropagation();    br.selectedTab = br.addTab(node);
            } e

Сustom Buttons » Custom Buttons » 30-06-2019 22:45:45

Dumby спасибо, все работает.

Сustom Buttons » Custom Buttons » 29-06-2019 18:14:26

Dumby пишет:

Так обычное контекстное меню страниц, вроде ничего особенного.

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

Сustom Buttons » Custom Buttons » 29-06-2019 13:29:34

Dumby спасибо все работает

Board footer

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