1. Nachrichten
  2. Forum
    1. Unerledigte Themen
    2. Forenregeln
  3. Spenden
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. camp-firefox.de
  2. lenny2

Beiträge von lenny2

  • Einige Skripte funktionieren seit ff 138 nicht mehr

    • lenny2
    • 6. Mai 2025 um 12:08
    Zitat von Mira_Belle

    lenny2 A new version of your script, without security.allow_unsafe_dangerous_privileged_evil_eval set to true!

    v139.0b4. Die deutsch-französische Team hat gute Arbeit geleistet :thumbup::)

  • Einige Skripte funktionieren seit ff 138 nicht mehr

    • lenny2
    • 6. Mai 2025 um 06:32
    Zitat von Mira_Belle

    Also, wie auch immer, das Skript von lenny2 funktioniert bei mir nicht.

    v139.0b4 security.allow_unsafe_dangerous_privileged_evil_eval set to true

  • Einige Skripte funktionieren seit ff 138 nicht mehr

    • lenny2
    • 5. Mai 2025 um 15:33

    Google Context Translation. Übersetzt in einem Pop-up-Fenster, nicht in einer neuen Tab. Getestet mit v139.0beta3.

    JavaScript
    // google-context-translate.uc.js (any > de)
    location.href.endsWith("://browser/content/browser.xhtml") && ({
        async init(func) {
            await delayedStartupPromise;
            var code = func.toString();
            code = code.slice(code.indexOf("{") + 1, -1).trim();
            var addEventListener = (...args) => {
                var trg = args[3];
                if (!trg) trg = args[3] = window;
                trg.addEventListener(...args);
                this.handlers.push(args);
            }
            new Function(
                "_id,xhtmlns,addDestructor,addEventListener,gClipboard,LOG", code
            ).call(
                this, "cbinit-google-translate", "http://www.w3.org/1999/xhtml",
                () => {}, addEventListener, {read: readFromClipboard}, Cu.reportError
            );
            window.addEventListener("unload", this, {once: true});
        },
        handlers: [],
        handleEvent() {
            for(var args of this.handlers)
                args.pop().removeEventListener(...args);
            delete this.handlers;
        }
    }).init(() => {
    // Here's the code google-context-translate.uc.js
    // Google
    var langFrom_google_text = "auto"; //auto
    var langTo_google_text = "de"; 
         
    // Assign icons
    var mainicon="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAADKElEQVR42p2TX2hTdxTHPzfJTW6T3qQmapvWabUbog+udp3kYeLQ4f6wiZQNtjlXHyZaBYe6TekYVGRQYexFscOtuD7UdWxzMtAXEbZStKIbDsaUCbVj9o8mTW+aNrlJbu5vJ8Ex2OMO/Lj87jnne873nO9PSyTV3tkAfYi5NhQ1MB1Ijc3ijN+D7CQh28YK+GHDMyxpjlJTkmAdQi5dWvOsUrYkGB5QC5Kcg/aFBxxqqycmcY38a/1yTqYgMw8ByfFKjtZ4V6myCeW8IApyfOw2155fw1DG4dOJJK1r45x5BPDUpZuMr2uXSuAvgBMQgOitjLJNn7iDSJP0rIJ35dt19TeGoi0Es1MMP72KFvm3+88phuYM3HCd3ObQizpa/cW7Kh020E0Tz1yOUxvjdIr7o6t/cLpkEJqZp7s5zN62ZewfnWLQ9VIIBqodBdI5tIbBG8oKhSAaJZDN8tpSP5+3L8eVgLbeAdKal7NH3mKL3FcOXCfV1ITjc7FLFrWZIlpt/4+qEA7hLRrCwk/RusOXu7ax8xHvGTkVgi/89As/T8ia9EUyghKOWSaYyqNx8oIiuEgcshetsooceibJinvTfNH1DpseD3LHSZE4eprs6k24NQaevI1fF8q5FJqv9xvlmFLdkKZlhb77E8TdIlFD54OOl3mzdXm1k+sP0jzbdwF7cRhsj8ysAWYnpYPeQfXPnn3JJG8/sZT+PW8gkuDbkWEiRh3b29dV/edujNE5dB4nHJSCUrQsTdP9mUKrCKHA5piHK+918quVp/VoD9W9uhGejNRx6+N9VZAmoTJZmhbK4vR7BGDPCQEQ/qU8R15aT2/Hi/R8PcyxyyMyVBmaXwIfPiTVf5yYHiF28ARpOyuqk3nJ4DV2HFc4SamUZ3vrGr7vPlitFNraQc4SzZZt6ptWMv3DAOdGrrGj7yvR+2KYr5A0BeCVAwqvBQuyMG+MTzp3cvj15/ivfXfzNq++/yFEIlD7GFjZ6uPRaE4oGuNQI68jIINJu0QbTFoadIJlL7lSgb8sxbSVEb8geUUVtkh55r50MY5Wec6jibV9/A9LjP7e9TdFQScjW9P1XAAAAABJRU5ErkJggg==";
    function GetXmlHttpObject(){
            if (window.XMLHttpRequest){ return new XMLHttpRequest();}
            if (window.ActiveXObject) { return new ActiveXObject("Microsoft.XMLHTTP");}
           return null;
           };
    var lc = navigator.lastClick = {};
    addEventListener("mouseup", e => {
       if (e.button) return;
       lc.X = e.screenX - mozInnerScreenX;
       lc.Y = e.screenY - mozInnerScreenY;
    }, false, gBrowser.tabpanels || 1);
    var 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();
    // Close the pop-up window by clicking on the page (next 4 lines of code)
      gBrowser.addEventListener("click", function c() {
         this.removeEventListener("click", c );
         try { doc.getElementById(wId).closeWin() } catch(e) {};
      }, true );
       w = doc.createElementNS(xhtmlns, 'div');
        w.setAttribute('style', 'position:fixed;display:block;visibility:hidden;left:0;top:0;width:auto;height:auto;border:1px solid gray;padding:2px;margin:0;z-index:99999;overflow:hidden;cursor:move;'+(typeof w.style.borderRadius === 'string' ? 'background-color:#eaeaea;padding-top:0px;border-radius:4px;box-shadow:0 0 15px rgba(0,0,0,.4);' : 'background:-o-skin("Window Skin");'));
       w.id = wId;
       w.closeWin = function(){
           doc.removeEventListener('keydown', keyDown, false);
           this.parentNode.removeChild(this);
       };
       w.addEle = function(str, style){
           var ele = doc.createElementNS(xhtmlns, 'div');
           ele.setAttribute('style', style);
           if(str){
               ele.innerHTML = str;
               for(var el, all = ele.getElementsByTagName('*'), i = all.length; i--;){
                   el = all[i];
                   if(/^(script|frame|iframe|applet|embed|object)$/i.test(el.nodeName)){
                       el.parentNode.removeChild(el);
                   }
                   else{
                       for(var att = el.attributes, j = att.length; j--;){
                           if(/^on[a-z]+$/i.test(att[j].name))att[j].value = '';
                       }
                   }
               }
           };
           return this.appendChild(ele);
       };
        w.addEle1 = function(str, style){
           var ele = doc.createElementNS(xhtmlns, 'textarea');
           ele.setAttribute('style', style);
           if(str){
               ele.innerHTML = str;
               for(var el, all = ele.getElementsByTagName('*'), i = all.length; i--;){
                   el = all[i];
                   if(/^(script|frame|iframe|applet|embed|object)$/i.test(el.nodeName)){
                       el.parentNode.removeChild(el);
                   }else{
                       for(var att = el.attributes, j = att.length; j--;){
                           if(/^on[a-z]+$/i.test(att[j].name))att[j].value = '';
                       }
                   }
               }
           };
           return this.appendChild(ele);
       };
       var img = doc.createElementNS(xhtmlns, 'div');
       img.setAttribute('style', 'display:block;float:right;width:22px;height:22px;padding:0;margin-top:2px;margin-right:1px;border:none;cursor:pointer;background-image:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAIAAABL1vtsAAAACXBIWXMAAArEAAAKxAFmbYLUAAABc0lEQVQ4y2P84mzGQBlgYaAYoBjBrKn79/plgnrQlCGM4Jwwj0lC6kdjKX5TmDV1Oeq7/7149r0gCcUIZk1dJgkpBgYGjvruXyvm/96wErt+fWOOylYGBgYmCSm4WxjhwQkxHsL+vW39r0Uz0f3s6M6eVsDAyMjAwIDsWEbkGGHW1OWoaGFgZ8c0BaH///8fHbV/L56BSzGiRSqztj5HWROaKcj6f86e+GffDmQtjJjpAs2Uf48f4NGP3Qg0U6AAh36cRkBNqWhmYGWDcH/OmoBVP77UySgmwcDCCucyyciTlsCRw4/hz28GVjZWr0AGBgbMmMZuBFr4/3/5nKOskYGdA5cp6GGBNf6YtfUhpmBNdShGsFjas+dVYI0/ZFN+zZ/2e+cmLEYgEjiO+MNlCtQI5Azyc1L7n2MHsQYzk4o6Z8tECBtuCjQ4/16//O/FM4KZ/d+dm99r8jlbJv69eRXdFSQVOUwq6v/u3CScOuladgIAhMrZgyTDTBwAAAAASUVORK5CYII=");background:-o-skin("Caption Close Button Skin");');
       img.title = (win.navigator.language.indexOf('de') == 0) ? '\u0417\u0430\u043A\u0440\u044B\u0442\u044C' : 'Close';
       img.addEventListener('click', function(){this.parentNode.closeWin()}, false);
       w.appendChild(img);
       var title = w.addEle(title, 'display:table;color:#000;font:17px Times New Roman;width:auto;height:auto;padding:0;margin:0 2px;cursor:text;');
           title.onclick = e => {
           e.preventDefault();
           var url = e.target.href;
    // This is where we open the url the way we want
           var ctabpos = gBrowser.selectedTab._tPos +1;
           gBrowser.moveTabTo(gBrowser.selectedTab = gBrowser.addWebTab(url), ctabpos);
           doc.getElementById(wId).closeWin();    
       }
       var cnt = w.addEle1(text, 'display:block;border:1px solid #aaa;padding-bottom:3px;padding-left:3px;background-color:#f2ffe6;color:#8c0023;font:24px Times New Roman;width:600px;height:200px;overflow:auto;cursor:text;-moz-user-focus:normal;-moz-user-select:text;');
       cnt.contentEditable="true";
       cnt.context="contentAreaContextMenu";
       w.addEle(status, 'display:table;font:14px Times New Roman;font-weight:bold;color:blue;width:auto;height:auto;padding-top:2px;margin:0 3px;cursor:pointer;');
       w.addEventListener('mousedown', function(e){
           if(e.target == w){
               e.preventDefault();
               var st = w.style;
               var mouseMove = e => {
                   st.top = parseInt(st.top) + e.movementY + "px";
                   st.left = parseInt(st.left) + e.movementX + "px";
               }
               doc.addEventListener('mousemove', mouseMove, false);
               doc.addEventListener('mouseup', function(){doc.removeEventListener('mousemove', mouseMove, false)}, false);
           }
       }, false);
       doc.documentElement.appendChild(w);
     
       if(size){
           cnt.style.height = size.height;
           cnt.style.width = size.width;
       }
       else{
           for(var i = 3; i < 10; i++){
               if(cnt.scrollHeight > cnt.offsetHeight || cnt.scrollWidth > cnt.offsetWidth){
                   cnt.style.height = 80*i+'px';
                   cnt.style.width = 160*i+'px';
               }
               else break;
           }
       };
       var docEle = (doc.compatMode == 'CSS1Compat' && win.postMessage) ? doc.documentElement : doc.body;
       var mX = docEle.clientWidth-w.offsetWidth, mY = docEle.clientHeight-w.offsetHeight;
       if(mX < 0){cnt.style.width = parseInt(cnt.style.width)+mX+'px'; mX = 0};
       if(mY < 0){cnt.style.height = parseInt(cnt.style.height)+mY+'px'; mY =0};
       var hW = parseInt(w.offsetWidth/2);
       w.style.left = (pos && pos.X < mX+hW ? (pos.X > hW ? pos.X-hW : 0) : mX)+'px';
       w.style.top = (pos && pos.Y+10 < mY ? pos.Y+10 : mY)+'px';
       w.style.visibility = 'visible';
       doc.addEventListener('keydown', keyDown, false);
       return w;
    };
    var getHash = function (txt) {
       TKK=eval('((function(){var a\x3d817046147;var b\x3d-335196159;return 410049+\x27.\x27+(a+b)})())');
       function sM(a) {
           var b;
           if (null !== yr)
               b = yr;
           else {
               b = wr(String.fromCharCode(84));
               var c = wr(String.fromCharCode(75));
               b = [b(), b()];
               b[1] = c();
               b = (yr = window[b.join(c())] || "") || ""
           }
           var d = wr(String.fromCharCode(116))
               , c = wr(String.fromCharCode(107))
               , d = [d(), d()];
           d[1] = c();
           c = "&" + d.join("") + "=";
           d = b.split(".");
           b = Number(d[0]) || 0;
           for (var e = [], f = 0, g = 0; g < a.length; g++) {
               var l = a.charCodeAt(g);
               128 > l ? e[f++] = l : (2048 > l ? e[f++] = l >> 6 | 192 : (55296 == (l & 64512) && g + 1 < a.length && 56320 == (a.charCodeAt(g + 1) & 64512) ? (l = 65536 + ((l & 1023) << 10) + (a.charCodeAt(++g) & 1023),
                   e[f++] = l >> 18 | 240,
                   e[f++] = l >> 12 & 63 | 128) : e[f++] = l >> 12 | 224,
                   e[f++] = l >> 6 & 63 | 128),
                   e[f++] = l & 63 | 128)
           }
           a = b;
           for (f = 0; f < e.length; f++)
               a += e[f],
                   a = xr(a, "+-a^+6");
           a = xr(a, "+-3^+b+-f");
           a ^= Number(d[1]) || 0;
           0 > a && (a = (a & 2147483647) + 2147483648);
           a %= 1E6;
           return c + (a.toString() + "." + (a ^ b))
       }
       var yr = null;
       var wr = function(a) {
           return function() {
               return a
           }
       }
           , xr = function(a, b) {
           for (var c = 0; c < b.length - 2; c += 3) {
               var d = b.charAt(c + 2)
                   , d = "a" <= d ? d.charCodeAt(0) - 87 : Number(d)
                   , d = "+" == b.charAt(c + 1) ? a >>> d : a << d;
               a = "+" == b.charAt(c) ? a + d & 4294967295 : a ^ d
           }
           return a
       };
       return sM(txt);
    };
    // Translate text from the clipboard
    var ujs_google_translat = function (dir){
      var lng = 'de';
      var txt = gClipboard.read(); 
      var l = dir.split('|');
      var encTxt = encodeURIComponent(txt);
      var winWait = function(lng){createWindow('', (lng == 'de' ? 'Warten bis der Text übersetzt ist' : 'Wait, is going Translating')+'\u2026', 'Google Translate', '_gt', window.navigator.lastClick)};
       if (txt) {
       winWait(lng);
           var xhr = new XMLHttpRequest();
           var url = 'https://translate.google.com/translate_a/single?client=gtx&sl=' + l[0] + '&tl=' + l[1] + '&hl=' + lng + '&eotf=0&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t' + getHash(txt);
           var urlt = "http://translate.google.com/translate_t?text="+encTxt+"&sl=' + l[0] + '&tl=' + l[1] + '&hl=' + lng + '&eotf=0&ujs=gtt";
           xhr.open('POST', url, true);
           xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
           xhr.onreadystatechange = function() {
               try{
                   if (xhr.readyState == 4 && xhr.status == 200) {
                       var result = '', status = '', tmp = JSON.parse(xhr.responseText.replace(/\[(?=,)/g, '[0').replace(/,(?=,|\])/g, ',0').replace(/\\n/g, "<br />"));
                       for(var i = 0, n; n = tmp[0][i]; i++){
                           if(n[0])result += n[0].toString();
                       };
                       status = tmp[8][0][0].toUpperCase() + ' -\u203A ' + l[1].toUpperCase();
                       createWindow(result, status, '<a href="'+urlt.replace(/&/g,'&amp;')+'" target="_blank" style="display:inline;padding:0;margin:0;text-decoration:none;border:none;color:#009;font:22px Times New Roman;">Google Translate</a>', '_gt', window.navigator.lastClick);
                   }
               } catch (x){LOG(x)};
           };
           xhr.send('q=' + encodeURIComponent(txt));
       };
    };
    // Translate selected text
    function ujs_google_translate (){
       var lng = 'de';
       var txt = gContextMenu.selectionInfo.fullText;
       var encTxt = encodeURIComponent(txt);
       var winWait = function(lng){createWindow('', (lng == 'de' ? 'Warten bis der Text übersetzt ist' : 'Wait, is going Translating')+'\u2026', 'Google Translate', '_gt', window.navigator.lastClick)};
       if (txt) {
       winWait(lng);
           var xhr = new XMLHttpRequest();
           var url = 'https://translate.google.com/translate_a/single?client=gtx&sl=' + langFrom_google_text + '&tl=' + langTo_google_text + '&hl=' + lng + '&eotf=0&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t' + getHash(txt);
           var urlt = "http://translate.google.com/translate_t?text="+encTxt+"&sl='  + langFrom_google_text + '&tl=' + langTo_google_text +'&hl=' + lng + '&eotf=0&ujs=gtt";
         
           xhr.open('POST', url, true);
           xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded;charset=utf-8');
           xhr.onreadystatechange = function() {
               try{
                   if (xhr.readyState == 4 && xhr.status == 200) {
                       var result = '', status = '', tmp = JSON.parse(xhr.responseText.replace(/\[(?=,)/g, '[0').replace(/,(?=,|\])/g, ',0').replace(/\\n/g, "<br />"));
                       for(var i = 0, n; n = tmp[0][i]; i++){
                           if(n[0])result += n[0].toString();
                       };
                        status = tmp[8][0][0].toUpperCase() + ' -\u203A ' + langTo_google_text.toUpperCase();
                        createWindow(result, status, '<a href="'+urlt.replace(/&/g,'&amp;')+'" target="_blank" style="display:inline;padding:0;margin:0;text-decoration:none;border:none;color:#009;font:22px Times New Roman;">Google Translate</a>', '_gt', window.navigator.lastClick);
                   }
               } catch (x){LOG(x)};
           };
           xhr.send('q=' + encodeURIComponent(txt));
        };
    };
    // Context menu for translation from clipboard  
    (function () {
    if ( document.getElementById("TranslateBufer") ) return; 
    var contextMenu = document.getElementById("contentAreaContextMenu");  
    var Item = document.createXULElement("menuitem");
          Item.setAttribute("label", "Translate from clipboard");
          Item.setAttribute("class", "menuitem-iconic");
          Item.setAttribute("image", mainicon);
          Item.addEventListener("command", function(){ujs_google_translat('auto|de')}, false);
       contextMenu.insertBefore(Item, document.getElementById("context-viewpartialsource-selection") ); 
       addDestructor(function() { contextMenu.removeChild( Item ) });
    })();
    
    // Context menu for text translation
       (function () {
           if ( document.getElementById("TranslateSelected") ) return;
           var contextMenu = document.getElementById("contentAreaContextMenu");
           var Item = document.createXULElement("menuitem");
           Item.setAttribute("id", "TranslateSelected");
           Item.setAttribute("label", "Translate selected text");
           Item.setAttribute("class", "menuitem-iconic");
           Item.setAttribute("image", mainicon);
           Item.addEventListener("command", function(){ujs_google_translate()}, false);
    
           contextMenu.insertBefore(Item, document.getElementById("context-viewpartialsource-selection") );
           addDestructor(function() { contextMenu.removeChild( Item ) });
    
           addEventListener("popupshowing", function() {
               Item.hidden = !gContextMenu.isTextSelected;
           }, false, contextMenu );
       })();
    });
    Alles anzeigen
  • FFX 138: Wo ist Firefox\Browser\Features abgeblieben?

    • lenny2
    • 5. Mai 2025 um 08:47

    Mozilla hat die Systemerweiterungen (Ordner \features\) vollständig aufgegeben. Einige Erweiterungen wurden nach omni.ja verschoben, einige wurden entfernt https://bugzilla.mozilla.org/show_bug.cgi?id=1938155

  • Firefox v136.0a1 - Skript „copyURL“ funktioniert nicht mehr

    • lenny2
    • 2. Mai 2025 um 14:30

    Danke, ich verstehe. Die "Clip url" Erweiterung hat genau die gleiche Funktionalität.

  • userChrome.js Scripte für den Fuchs (Diskussion)

    • lenny2
    • 2. Mai 2025 um 10:44

    Bitte probieren Sie ein nützliches kleines Skript für Monkey aus.

    JavaScript
    // ==UserScript==
    // @name        Google Search Numbering
    // @description Makes Google search results numbered
    // @namespace   Greasymonkey Scripts
    // @icon        https://www.google.com/favicon.ico
    // ==/UserScript==
    function numberHeadings() {
       let h3s = document.getElementById('rso').getElementsByTagName('h3');
       let count = 1;
       for (let i = 0; i < h3s.length; i++) {
           if (h3s[i].innerText === 'Map' || h3s[i].getAttribute("role") === "heading") {
               i += 1; 
               continue;
           }
           h3s[i].innerText = (count++) + '. ' + h3s[i].innerText;
       }
    }
    numberHeadings();
    Alles anzeigen

  • Firefox v136.0a1 - Skript „copyURL“ funktioniert nicht mehr

    • lenny2
    • 2. Mai 2025 um 10:37
    Zitat von milupo

    ich habe hier obiges Skript angepasst (.jsm nach .sys.mjs).

    Hallo, dieses Skript funktioniert nicht wieder, v139.0beta2 :(

  • Tab Schließen Javascript

    • lenny2
    • 2. Mai 2025 um 08:12
    Zitat von milupo

    Probiere mal diese Version:

    v139.0b1. Auf der Einstellungsfenster verschiebt sich der Trenner je nach Klickpunkt. Um das Problem zu reproduzieren, klicken Sie mit der rechten Maustaste an verschiedene Stellen auf der Einstellungsfenster. Es ist besser, die Option für die Einstellungsfenster vollständig zu entfernen.

  • #alltabs-button Hintergrundfarbe Menü ändern

    • lenny2
    • 1. Mai 2025 um 13:09
    Zitat von MarketMaker

    #alltabs-button ändern?

    Mit Tab-Zähler

    CSS
    /* userChrome.css */  
    #alltabs-button {  
       display: -moz-box !important;  
    }  
    /* tab counter */  
    #TabsToolbar-customization-target {  
       counter-reset: tabCount;  
    }  
    .tabbrowser-tab {  
       counter-increment: tabCount;  
    }  
    #alltabs-button > .toolbarbutton-badge-stack > .toolbarbutton-icon {  
       visibility: collapse !important;  
    }  
    #alltabs-button > .toolbarbutton-badge-stack {  
       position: relative !important;  
    }  
    #alltabs-button > .toolbarbutton-badge-stack::before {  
       content: counter(tabCount);  
       border-bottom: 1px solid var(--toolbarbutton-icon-fill);  
       color: var(--toolbarbutton-icon-fill);  
       opacity: var(--toolbarbutton-icon-fill-opacity);  
       position: absolute;  
       bottom: var(--toolbarbutton-inner-padding);  
       left: 50%;  
       transform: translateX(-50%);  
       padding: 0 3px;  
        color: orange !important;                /* digit color */
        background-color: blue; !important;        /* background color */
    }
    /* CSS by 2002Andreas */
    #allTabsMenu-allTabsView > .panel-subview-body {
     background-color: red !important;
     color: white !important;
     font-size: 22px !important;
    }
    Alles anzeigen
  • Profilordner.uc.js und RestartFirefoxButtonM.uc.js

    • lenny2
    • 30. April 2025 um 08:24
    Zitat von geldhuegel

    bei mir funktioniert das Script für den Aufruf des Profilordners leider nicht mehr.

    Funktioniert, v138

    JavaScript
    // Open_Profiles_Folder.uc.js
    try {
       CustomizableUI.createWidget({
           id: "openfolder-profiles",
           label: "Profiles Folder",
           tooltiptext: "Open Profiles Folder",
           defaultArea: CustomizableUI.AREA_NAVBAR,
        onCreated: btn => btn.image = "data:image/gif;base64,R0lGODlhEAAQAOZMAP/////MAF06AJhlAJNgAP//AP/lAP/UAJViAP/JANShAJRhAP/OAJRgAOy5AMaSAP/nAMyZAP/IAP/NAOazAP/RAMmVALaAAH5TAJNfAM2aAP/dT//XOv/KAOPOkMeRAP/nhOSxAOu4AP3KAOrTkv/nrv//1c6bAKdyAP/TAP/bPdWsMr6LA7iCALqGALiEAJNeAMCMAP/gcv/eYdGdAP/TEP/mgv/2y//gg/3JAP/ila97AP/aKsWPAJFbAJZgALeBAMiVAPC9AP/rOum2AHlQAP/4zP//z//jPpNdAP/LANixNP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAEwALAAAAAAQABAAAAefgEyCg4SFhoeFDQ0LjIiCCyU5IwEBBAiXCAOEBDohFBREIg6jQgibODQKqgonDz0fPkkwDQMEMhYRERpBMUsAv8C1Mw8uLUAXKwA2EgkJDJoEGy8swAAgCZQMz0wEKigkN8wJHZQBFZrcPDsAHErllBMT6AQ1HkYVKQf6++hMGUgAhhgYSBAChH4/TBwpwLAhw35MMAiYSLFiEUcYmQQCADs=",
        onCommand: function(event) {
            Services.dirsvc.get("ProfD", Ci.nsIFile).launch();
    }
       });
    } catch(e) {}
    Alles anzeigen
  • Profilordner.uc.js und RestartFirefoxButtonM.uc.js

    • lenny2
    • 30. April 2025 um 06:10
    Zitat von geldhuegel

    bei mir funktioniert das Script für den Aufruf des Profilordners leider nicht mehr.

    Verfügt über keine Button, funktioniert über Hotkeys

    JavaScript
    // OpenProfileFolder(Alt+P).uc.js
    (function(win){
       function openProfileDirectory() {
           Components.classes["@mozilla.org/file/directory_service;1"]
                 .getService(Components.interfaces.nsIProperties)
                 .get("ProfD", Components.interfaces.nsIFile)
                 .launch();
       }
       if(typeof win.openProfileDirectory == 'undefined') {
           win.openProfileDirectory = openProfileDirectory;
           win.addEventListener('keydown', function(e) {
               if (e.altKey == true && e.keyCode == 80) {
                   e.preventDefault();
                   openProfileDirectory();
               }
           }, false);
       }
    })(window);
    Alles anzeigen
  • Profilordner.uc.js und RestartFirefoxButtonM.uc.js

    • lenny2
    • 30. April 2025 um 04:48
    Zitat von geldhuegel

    Auch das Script RestartFirefoxButtonM.uc.js hat keine Wirkung mehr.

    Hier sind funktionierende Restart-Skripte

  • Skripte funktionieren nicht mehr

    • lenny2
    • 29. April 2025 um 14:02
    Zitat von seipe

    Habe gerade gesehen, daß ein weiteres Script nicht mehr funktioniert.

    Diese funktionieren.
    Restart Button in toolbar RE: Firefox 136 - Restart Button Script geht nicht mehr
    Restart Button in hamburger RE: Div. Skripte funktionieren im aktuellem Nightly nicht mehr

  • Skripte funktionieren nicht mehr

    • lenny2
    • 29. April 2025 um 08:37
    Zitat von seipe

    Folgendes Script funktioniert in FF 138 nicht mehr bzw. erfolgt kein Start.

    Dieser Code funktioniert

    JavaScript
    try {
        CustomizableUI.createWidget({
            id: "add-BB-app",
            label: "Betterbird",
            tooltiptext: "Betterbird Start",
            onCreated: btn => btn.image = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAE+UlEQVRIibVVXWxUVRCec8/9272729otbm0CtoWGEgFFygMKMdUEEjVWMV0N/pGYWIwPojEmao2amMgDRkVDAolo0DQECkEkEhRYiEFEa6VNKKXdttKltrttl+7uvXv3nl8fsKVFqEDCJPNwZubMN+ebyRmAWyzo/wJkLhdhjK1ACC1ECIVBSiIRGsAAv0Eo1IYQIjcFYCeTd+sYv4XynQ9IxdClUe4DxW+CoBzxiw4qJKg0K0aEWrLNCIe3IoTc6wKQUuJcMtmkjZ96VR1qlvTOV0xpzfcjND1UCo/jwW+zijuIaeWGPk8Y60pmz26fEUDGYup4ddXXvvjn9Xhov+Le950mtSJtJgrUxE7H6NmsFGq/ypHQ/GhJefnxqX5l6mGsqmqj0bGp3vjzE5+9YBOiyNIYYzCTumVP+pm2QPiONBSj8fjOVCJRfVWA4Xj8IeGMNGrn9oFnLfO80F0+yhgwN8P0tk8vhvatzhW1rMhbh55zcPcehxBXUMaAcY7sqkZFSY+quP9HQ3jOtlgspk4DkFJiRvLvB4++STkvMQolKxHjAhjnILJ/54Tr5VAqoeDhAb/Re0IN/PwhuW3f0wXmpBnjHNxAtc5pCUfJHmx0fFM7r7z8sWkA/Z2dtfq5g0vMzlhI5lGG4FJOKQVKKcD4sGn98mU5TtsW2ADCwRpkvJDR124W//SuRykFJhEWLFhQL/S4gV+3q4wWGid7BABAGXvEPBtDYEusDcQ1WZlTGeeAaIGV7nkd4XxBBQA5tuJlZ/ze53Wh+TQjddaddXRjgXFuSSGkzDHQUl1FiLiGkuxZ2tXVVVpTUzOqAAAwSu9xg9Ue2AA4bRfp8dOcMgb+joNETY2ZYAN4ZoWbXPqiRbCpMyGRU1rjv7D6I5MyBjKTJOpQ0ofTeZNDqeeplkldd/7lHuSz4UDbEUGV27NgAwTbjmkyO0Z8Z04KsAHABpCuCozzaRNUsGZZjDEItB5gSpapYAMU/BWZ0IndlFNaNkkR41wa/f0BRD0ACYBtW4+0fOwo2RET7EtcmnavYcbbXbtykX/qGOojCS9yYLsGBQABiAU7WkudcI3DOb/cA0/Rxwq+O8BK9xkTF8PHD/q5qgtgExaJKze/oZ6PvuZkFyzTJAAUdbfRObs/03DW1i/RIVUAJO3SSt2jdHgSgAhxuvuZprqq5s2kqOt08N+MCAPBU6vV7Kw+74sPdKGoBABAEcya6me6SROPPmunFq5UCOfnJntACfnB6IuD1RlXwEZ8gvdrqZJlupJl+pV2ZEsSOXxIo5yfqqurG518wWgm0yoXL2uvFP5a1banVX0jgsGzEk88bBMpt07YFACAaDTKmaa/d/aFRo+7SAgX4GY0E6nI/1W3ulUzzf1XrWD/3r2bzjQ05BwAkQeQN6IXi4u9w1u2DH3f0jLts5tGx0vr1x8drKioIRjPDXR2qkJKxAGAAwDRdYcJoVLDsAXnxoSdA4Adibh/NDVlnbKypx5vaGibmvM/C2fXrl0YOH8n2N29Ye6OHUagr8+HpESp5ctHZ508GXbmzHEUQrB/eNgnDIMMrlpFB9as6SaGsW7t2rUdV+a75spsbm5eLDl/O9jb+2Cgv98vEeKRY8ck9/lQor4ezHQap5csGaCh0FZN07ZFo9HrW5lXAYpQSu+XUi4CgLACQCRC5xUhfjcsqy0ajc649G+5/ANe1OtU6F5WHAAAAABJRU5ErkJggg==",
            onCommand: function(event) {
                var file = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
                file.initWithPath("C:\\Program Files\\Betterbird\\betterbird.exe");
                if (file.exists()) file.launch();
            }
        });
    } catch(e) {}
    Alles anzeigen
  • Tabgruppen verschieben, Größe der Tabgruppen-Namen

    • lenny2
    • 24. April 2025 um 12:30

    Ctwx Die Höhe wird größer, wenn Sie die Schrift vergrößern. CSS von 2002Andreas.

    CSS
    .tab-group-label {
        tab-group[collapsed] > .tab-group-label-container > & {
        font-size: 17px  !important;
       font-family: cursive; !important;
        padding-inline: 8px !important;
     }
    }
    .tab-group-label {
        tab-group > .tab-group-label-container > & {
        font-size: 17px  !important;
       font-family: cursive; !important;
        padding-inline: 8px !important;
     }
    }
    Alles anzeigen
  • Firefox v136.0a1 - Skript „saveTo“ funktioniert nicht mehr

    • lenny2
    • 21. April 2025 um 12:50
    Zitat von 2002Andreas

    Teste bitte:

    Danke, funktioniert.

  • Firefox v136.0a1 - Skript „saveTo“ funktioniert nicht mehr

    • lenny2
    • 20. April 2025 um 13:26

    BrokenHeart Vielen Dank :thumbup:  2002Andreas Danke für das CSS für das Skript :thumbup:

    Nur zur Info.
    Die alte Version aus Beitrag Nr. 1, angepasst für v136.0a1, hat ein starkes positives Feature – sie legt die Breite des Dropdown-Menüs automatisch abhängig vom längsten Elementnamen fest. Diese Option wäre im Skript für v139.0a1 nützlich.

  • Firefox v136.0a1 - Skript „saveTo“ funktioniert nicht mehr

    • lenny2
    • 18. April 2025 um 15:02
    Zitat von BrokenHeart

    Beim Skript von Endor (#8) kann man als Workaround die Zeile 69 anpassen und zwar so:

    Bestätigt, es funktioniert, Fehler in der Konsole

    Uncaught TypeError: can't access property "getButton", document.getElementById(...) is null    saveTo debugger eval code:45

    Der Code aus Beitrag #1 funktioniert genauso, wenn Sie die Änderungen aus Beitrag #2 (fügt Unterstützung für v136, v137, v138 hinzu) und Beitrag #13 (fügt Unterstützung für v139 hinzu) vornehmen. Fehler in der Konsole

    Uncaught TypeError: can't access property "getButton", document.getElementById(...) is null     saveTo debugger eval code:25

    Dies gilt wahrscheinlich nicht für den Konsolenfehler und es macht keinen Sinn, es zu posten? saveTo debugger eval code:25

  • Firefox v136.0a1 - Skript „saveTo“ funktioniert nicht mehr

    • lenny2
    • 18. April 2025 um 07:59

    Hm und es gibt keine Analogie im Internet :rolleyes:

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • lenny2
    • 18. April 2025 um 07:52
    Zitat von Mira_Belle

    Hier mein Skript:

    Funktioniert im Bereich v128.9.0esr - v139.0a1

Unterstütze uns!

Jährlich (2025)

90,1 %

90,1% (585,86 von 650 EUR)

Jetzt spenden
  1. Kontakt
  2. Datenschutz
  3. Impressum
Community-Software: WoltLab Suite™
Mastodon