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. bege

Beiträge von bege

  • addons_very_day_updatecheck.uc.js tut nicht mehr

    • bege
    • 29. März 2025 um 22:07
    Zitat von milupo

    Kommt darauf an. Was steht denn bei dir in Zeile 10? Es gibt ja immer mal wieder Skriptversionen mit unterschiedlicher Zeilennummerierung. Steht da vielleicht:

    JavaScript
    this.EXPORTED_SYMBOLS = ["AboutAddonsVerboseChild"];

    Entschuldigung, deine Antwort ist bei mir untergegangen. Ja, das ist die Zeile.

  • addons_very_day_updatecheck.uc.js tut nicht mehr

    • bege
    • 18. März 2025 um 22:30

    Ich sehe in der Konsole diese Fehlermeldung:

    undefined has no properties addons_ver_day_updatecheck.uc.js:10:5

    Kann damit jemand was anfangen?

  • Fx 136: Skript SaveTo.uc.js Popup-Menü kann nicht mehr gescrollt werden.

    • bege
    • 10. März 2025 um 17:29
    Zitat von 2002Andreas
    Zitat von bege

    kann ich das Popup-Menü nicht mehr scrollen.

    Teste bitte mal dieses angepasste Skript: ...

    Solltest du in der userChrome.css einen Code für die Scrollleiste haben, den dann bitte mal entfernen.

    Die ist jetzt im Skript enthalten, Zeile 54 - 60. Dort kannst du dir die Höhe vom Popup noch anpassen.

    Funktioniert! Dankeschön! Edit: auch ohne Zeile 8. HelperAppDlg wird nirgendwo verwendet.

    Edit:

    Es hat bis vor einiger Zeit noch funktioniert. Wenn ich das mit dem von lenny2 zitierten Thema vergleiche, sieht es so aus, als hätte ich mir die bereits geänderte Version irgendwie zerschossen. Dann lag es wohl nicht am Fx-Update.

  • Fx 136: Skript SaveTo.uc.js Popup-Menü kann nicht mehr gescrollt werden.

    • bege
    • 9. März 2025 um 21:05

    Im Skript SaveTo.uc.js kann ich das Popup-Menü nicht mehr scrollen. Dadurch komme ich in einem Menü mit vielen Einträgen nicht mehr an die unteren Einträge heran. Das könnte auch schon im Fx135 so gewesen sein.

    In der Version im Github von Endor ist das auch so.

    Hier meine Version

    JavaScript: SaveTo.uc.js
    // ==UserScript==
    // @include       chrome://mozapps/content/downloads/unknownContentType.xhtml
    // @charset       UTF-8
    // @version       Fx104+
    // ==/UserScript==
    (function () {
       if (location != 'chrome://mozapps/content/downloads/unknownContentType.xhtml')
          return;
       const { FileUtils } = ChromeUtils.importESModule( 'resource://gre/modules/FileUtils.sys.mjs');
    
      setTimeout(function () {
        saveTo();
      }, 200);
    
      function saveTo() {
       // Config
       const dirArray = [
       ['F:\\Users\\bege\\Desktop', 'Desktop'],
       ['F:\\Downloads', 'Downloads'],
       ['F:\\Eigene Dateien\\Eigene Bilder\\Symbole', 'Symbole'],
       ['F:\\Users\\bege\\AppData\\Roaming\\Mozilla\\Firefox\\icons', 'Firefox\\Icons'],
       ['F:\\Setups\\Audio-Video', 'Setups\\Audio-Video'],
       ['F:\\Setups\\Dateiverwaltung', 'Setups\\Dateiverwaltung'],
       ['F:\\Setups\\Dateiverwaltung\\FreeCommander', 'Setups_FreeCommander'],
       ['F:\\Setups\\Editoren', 'Setups\\Editoren'],
       ['F:\\Setups\\Editoren\\Notepad++', 'Setups\\Notepad++'],
       ['F:\\Setups\\Grafik', 'Setups\\Grafik'],
       ['F:\\Setups\\Internet', 'Setups\\Internet'],
       ['F:\\Setups\\Office\\LibreOffice', 'Setups_LibreOffice'],
       ['F:\\Setups\\Sicherheit\\KeePass', 'Setups\\Sicherheit\\KeePass'],
       ['F:\\Setups\\Tools', 'Setups\\Tools'],
       ['F:\\Setups\\Tools\\W10', 'Setups\\Tools\\W10'],
       ['F:\\Setups\\Wartung', 'Setups\\Wartung'],
       ['F:\\Setups\\Wartung\\System u. Hardware', 'Setups\\Wartung\\System, Hardw.'],
       ['F:\\Eigene Dateien\\Eigene Bilder\\aktuelleDownloads', 'Bilder'],
       ['F:\\Eigene Dateien\\Eigene Musik\\aktuelleDownloads', 'Musik'],
       ['F:\\Eigene Dateien\\Eigene Videos\\aktuelleDownloads', 'Videos'],
       [FileUtils.getDir('UChrm', []).path, 'chrome'],
       [FileUtils.getDir('UChrm', ['CSS']).path, 'CSS'],
       [FileUtils.getDir('UChrm', ['JS']).path, 'JS'],
    /*    ['C:\\', 'C:'],
       ['E:\\', 'E:'],
       ['F:\\', 'F:'],
       ['S:\\', 'S:']
     */   ];
       const button = document.getElementById('unknownContentType').getButton('cancel');
       const saveTo = button.parentNode.insertBefore(document.createXULElement('button'), button);
       const saveToMenu = saveTo.appendChild(document.createXULElement('menupopup'));
    
       saveTo.classList.toggle('dialog-button');
       saveTo.label = 'Speichern in…';
       saveTo.type = 'menu';
    
       const css =`
           
          hbox.dialog-button-box button.dialog-button menupopup {
            // color: white !important;
            background: #eeeeee !important;
          }
          hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic {
             padding-left: 8px !important;
          }
          hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic:hover {
            background: red !important;
            // color: white !important;
          }
          //hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic hbox.menu-iconic-left {
          //  transform: scale(.5) !important;
    	     //max-height: 20px !important;
          //}
          hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic label.menu-iconic-text {
            padding-right: 8px !important;
            padding-left: 8px !important;
            color: black !important;
          }
          //hbox.dialog-button-box button.dialog-button menupopup menuitem.menuitem-iconic hbox.menu-accel-container {
    	     //max-height: 18px !important;
          //}
        `;
    
       const sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
       const uri = Services.io.newURI('data:text/css,' + encodeURIComponent(css));
       sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
    
       dirArray.forEach(function (directory) {
         const [name, dir] = [directory[1], directory[0]];
         const mi = document.createXULElement('menuitem');
         const item = saveToMenu.appendChild(mi);
         item.setAttribute('label', (name || (dir.match(/[^\\/]+$/) || [dir])[0]));
         item.setAttribute('image', 'moz-icon:file:///' + dir + '\\');
         item.setAttribute('class', 'menuitem-iconic');
         item.addEventListener('command', function () {
           const locationtext = document.getElementById('locationtext');
           const pathFile = dir + '\\' + (locationtext ? locationtext.value : document.getElementById('location').value);
           const file = new FileUtils.File(pathFile);
           dialog.mLauncher.saveDestinationAvailable(file);
           dialog.onCancel = function () {};
           close();
        });
       });
      }
    }());
    Alles anzeigen
  • Fx 136 downloadSoundPlay.uc.js funktioniert nicht mehr

    • bege
    • 7. März 2025 um 16:57

    Dieses Skript spielt keinen Ton mehr ab, wenn ein Download fertig ist, seit dem Update auf Fx 136.

    JavaScript: downloadSoundPlay.uc.js
    // ==UserScript==
    // @name           downloadSoundPlay_Fx26.uc.js
    // @namespace      http://space.geocities.yahoo.co.jp/gl/alice0775
    // @description    Downloads überwachen und Ton Dateien für Download-Manager abspielen
    // @include        main
    // @compatibility  Firefox 115
    // @author         Alice0775
    // @version        2023/10/13 use ChromeUtils.import instead of XPCOMUtils.defineLazyModuleGetter
    // @version        2016/03/15 hack of selection chanhe
    // @version        2015/01/15 1:00 Fixed strictmode
    // @version        2013/12/18 11:00 defineLazyModuleGetter for Firefox26
    // @version        2013/12/18 Firefox26
    // @version        2009/11/28
    // ==/UserScript==
    
    var downloadPlaySound = {
      // -- config --
      DL_START : null,
      DL_DONE  : "file:///C:/WINDOWS/Media/tada.wav",
      DL_CANCEL: null,
      DL_FAILED: "file:///C:/Windows/Media/XP/Windows Error.wav",
      // -- config --
    
      _list: null,
      init: function sampleDownload_init() {
        const { Downloads } = ChromeUtils.import(
        "resource://gre/modules/Downloads.jsm");
    
        //window.removeEventListener("load", this, false);
        window.addEventListener("unload", this, false);
    
        //**** Download-Überwachung hinzufügen
        if (!this._list) {
          Downloads.getList(Downloads.ALL).then(list => {
            this._list = list;
            return this._list.addView(this);
          }).then(null, Cu.reportError);
        }
      },
    
      uninit: function() {
        window.removeEventListener("unload", this, false);
        if (this._list) {
          this._list.removeView(this);
        }
      },
    
      onDownloadAdded: function (aDownload) {
        //**** Startereignis herunterladen
        if (this.DL_START)
          this.playSoundFile(this.DL_START);
      },
    
      onDownloadChanged: function (aDownload) {
        //**** Download abbrechen
        if (aDownload.canceled && this.DL_CANCEL)
          this.playSoundFile(this.DL_CANCEL)
        //**** Herunterladen fehlgeschlagen
        if (aDownload.error && this.DL_FAILED)
          this.playSoundFile(this.DL_FAILED)
        //**** Download abgeschlossen
        if (typeof aDownload.downloadPlaySound == "undefined" &&
            aDownload.succeeded && aDownload.stopped && this.DL_DONE) {
          aDownload.downloadPlaySound = true;
          this.playSoundFile(this.DL_DONE);
        }
      },
    
      playSoundFile: function(aFilePath) {
        if (!aFilePath)
          return;
        var ios = Components.classes["@mozilla.org/network/io-service;1"]
                  .createInstance(Components.interfaces["nsIIOService"]);
        try {
          var uri = ios.newURI(aFilePath, "UTF-8", null);
        } catch(e) {
          return;
        }
        var file = uri.QueryInterface(Components.interfaces.nsIFileURL).file;
        if (!file.exists())
          return;
    
        this.play(uri);
       },
    
      play: function(aUri) {
        var sound = Components.classes["@mozilla.org/sound;1"]
                  .createInstance(Components.interfaces["nsISound"]);
        sound.play(aUri);
      },
    
      handleEvent: function(event) {
        switch (event.type) {
          case "unload":
            this.uninit();
            break;
        }
      }
    }
    downloadPlaySound.init();
    Alles anzeigen

    Die Fehlerkonsole wirft den Fehler aus, dass in Zeile 26 ChromeUtils.import keine Funktion ist.

    Nach der Änderung in ChromeUtils.importESModule kommt die Fehlermeldung

    "Failed to load resource://gre/modules/Downloads.jsm"

    Edit: Doch noch selbst herausgefunden. Das hier funktioniert.

    JavaScript: downloadSoundPlay.uc.js
    // ==UserScript==
    // @name           downloadSoundPlay_Fx26.uc.js
    // @namespace      http://space.geocities.yahoo.co.jp/gl/alice0775
    // @description    Downloads überwachen und Ton Dateien für Download-Manager abspielen
    // @include        main
    // @compatibility  Firefox 115
    // @author         Alice0775
    // @version        2023/10/13 use ChromeUtils.import instead of XPCOMUtils.defineLazyModuleGetter
    // @version        2016/03/15 hack of selection chanhe
    // @version        2015/01/15 1:00 Fixed strictmode
    // @version        2013/12/18 11:00 defineLazyModuleGetter for Firefox26
    // @version        2013/12/18 Firefox26
    // @version        2009/11/28
    // ==/UserScript==
    
    var downloadPlaySound = {
      // -- config --
      DL_START : null,
      DL_DONE  : "file:///C:/WINDOWS/Media/tada.wav",
      DL_CANCEL: null,
      DL_FAILED: "file:///C:/Windows/Media/XP/Windows Error.wav",
      // -- config --
    
      _list: null,
      init: function sampleDownload_init() {
        const { Downloads } = ChromeUtils.importESModule(
        "resource://gre/modules/Downloads.sys.mjs");
    
        //window.removeEventListener("load", this, false);
        window.addEventListener("unload", this, false);
    
        //**** Download-Überwachung hinzufügen
        if (!this._list) {
          Downloads.getList(Downloads.ALL).then(list => {
            this._list = list;
            return this._list.addView(this);
          }).then(null, Cu.reportError);
        }
      },
    
      uninit: function() {
        window.removeEventListener("unload", this, false);
        if (this._list) {
          this._list.removeView(this);
        }
      },
    
      onDownloadAdded: function (aDownload) {
        //**** Startereignis herunterladen
        if (this.DL_START)
          this.playSoundFile(this.DL_START);
      },
    
      onDownloadChanged: function (aDownload) {
        //**** Download abbrechen
        if (aDownload.canceled && this.DL_CANCEL)
          this.playSoundFile(this.DL_CANCEL)
        //**** Herunterladen fehlgeschlagen
        if (aDownload.error && this.DL_FAILED)
          this.playSoundFile(this.DL_FAILED)
        //**** Download abgeschlossen
        if (typeof aDownload.downloadPlaySound == "undefined" &&
            aDownload.succeeded && aDownload.stopped && this.DL_DONE) {
          aDownload.downloadPlaySound = true;
          this.playSoundFile(this.DL_DONE);
        }
      },
    
      playSoundFile: function(aFilePath) {
        if (!aFilePath)
          return;
        var ios = Components.classes["@mozilla.org/network/io-service;1"]
                  .createInstance(Components.interfaces["nsIIOService"]);
        try {
          var uri = ios.newURI(aFilePath, "UTF-8", null);
        } catch(e) {
          return;
        }
        var file = uri.QueryInterface(Components.interfaces.nsIFileURL).file;
        if (!file.exists())
          return;
    
        this.play(uri);
       },
    
      play: function(aUri) {
        var sound = Components.classes["@mozilla.org/sound;1"]
                  .createInstance(Components.interfaces["nsISound"]);
        sound.play(aUri);
      },
    
      handleEvent: function(event) {
        switch (event.type) {
          case "unload":
            this.uninit();
            break;
        }
      }
    }
    downloadPlaySound.init();
    Alles anzeigen
  • Wie kann man Buttons in der Firefox-eigenen Sidebar verstecken?

    • bege
    • 10. Februar 2025 um 14:24
    Zitat von 2002Andreas

    Hier wird beschrieben, was du dazu brauchst:

    Manchmal frage ich mich, warum Leute Artikel nicht bis zum Ende lesen. Heute frage ich mich das über mich selbst. Da steht es am Ende. 🙄

    So, Button weg, User zufrieden! Dankeschön euch!

  • Wie kann man Buttons in der Firefox-eigenen Sidebar verstecken?

    • bege
    • 10. Februar 2025 um 14:11
    Zitat von milupo

    Es sieht so aus, als ob die Elemente unter #shadow-root liegen, sprich, CSS-Anweisungen müssen in die userChromeShadow.css und nicht in die userChrome.css.

    Wenn ich das Skript zum Laden der userChromeShadow.css doch mal brauche, wie muss dieses Skript aussehen? Der verlinkte Code von aborix ist nur ein Schnipsel.

  • Wie kann man Buttons in der Firefox-eigenen Sidebar verstecken?

    • bege
    • 10. Februar 2025 um 14:08
    Zitat von 2002Andreas

    So wäre der Eintrag für eine Erweiterung:

    CSS
    .tools-and-extensions > moz-button[view="_143f479b-4cb2-4d8c-8c31-ae8653bc6054_-sidebar-action"] {
      display: none !important;
    }

    Ich lade die CSS-Dateien mit dem userCSSLoader. Mit der Datei, in die ich den Code eingefügt hatte, funktioniert etwas nicht. In einer neuen Datei klappt's. Vielen Dank!

  • Wie kann man Buttons in der Firefox-eigenen Sidebar verstecken?

    • bege
    • 10. Februar 2025 um 13:38
    Zitat von milupo

    Es sieht so aus, als ob die Elemente unter #shadow-root liegen, sprich, CSS-Anweisungen müssen in die userChromeShadow.css und nicht in die userChrome.css.

    Weil im angepinnten Beitrag von BrokenHeart steht:

    Zitat von BrokenHeart

    Die neue Methode um 'css'-Regeln anzuwenden, wird nur für Regeln benötigt, die einen ::part() Selektor beinhalten.

    dachte ich, das gilt hier nicht. Ist diese Einschränkung überholt?

    Zitat von grisu2099

    Klappe mal bitte den genauen Bereich im Inspektor weiter auf - also unter moz-button... Vielleicht sehe ich dann eine Möglichkeit..

    Es geht um den hier:

  • Wie kann man Buttons in der Firefox-eigenen Sidebar verstecken?

    • bege
    • 10. Februar 2025 um 13:20

    Ich möchte gern einen Button in der Sidebar, den eine Erweiterung einfügt, verstecken. Die normale Methode mit CSS und display: none !important; funktioniert nicht. Weiß jemand Rat?

    Hier der Bereich im Inspektor

    Es betrifft die moz-button.

  • Entwicklung Firefox

    • bege
    • 6. Februar 2025 um 21:05
    Zitat von Sören Hentzschel

    Ich mag das neue Firefox-Logo. :)

    Ich finde es sieht so aus, als ob er gleich runterfällt, der Arme. 😢

  • Clickbares Panel verschiebbar machen?

    • bege
    • 6. Februar 2025 um 20:54
    Zitat von .DeJaVu

    Aktuell ist Firefox 135. Wenn du jetzt für v134 anpackst, kannst du für v135 wieder alles neu denken.

    Ich habe mich vertippt, ich habe Fx 135 und deswegen alle Skripte aktualisiert.

    Verschiebbar konnte ich es mit einigen Versuchen machen, aber der Text wurde dann nicht mehr angezeigt

  • Clickbares Panel verschiebbar machen?

    • bege
    • 5. Februar 2025 um 21:56

    Hallo,

    kann mir jemand dabei helfen, dieses clickbare Panel verschiebbar zu machen? Bisher wird es über die ID eines benachbarten Elements positioniert. Ich würde es gern wie einen Button verschiebbar machen. Geht das?

    JavaScript
    // ==UserScript==
    // @name           VersionInAddonBar.uc.js
    // @description    Versionsnummer in der Addon-Bar anzeigen
    // @include        main
    // @charset        UTF-8
    // @note           Basiert auf dem Script MemoryMonitorMod.uc.js und der Erweiterung "Version in Statusbar"
    // @note           Bit-Version aus https://www.camp-firefox.de/forum/thema/135247-anwendungsname-und-version-in-der-men%C3%BCleiste/
    // @note           In Zeilen 17 u. 18 die Toolbar und die Position (hinter welchem Element) auf der Toolbar anpassen.
    // @note           Ein Klick auf den Button öffnet das Fenster "Über Firefox".
    // ==/UserScript==
    
            setTimeout(function() {
    
    var ucjsVN = {
    
        init : function () {
           let profile = Cc["@mozilla.org/toolkit/profile-service;1"].getService(Ci.nsIToolkitProfileService).currentProfile.name;
            var Toolbar = 'addonbar';
    		  var Position = 'customizableui-special-separator177';
            // var Position = 'formhistory_yahoo_com-browser-action';
            // var Position = 'textarea-cache-lite_wildsky_cc-browser-action';
            var info = Components.classes['@mozilla.org/xre/app-info;1'].getService(Components.interfaces.nsIXULAppInfo);
            var bit = (Services.appinfo.is64Bit ? 64 : 32);
            var versionPanel = document.createXULElement('toolbaritem');
            versionPanel.id = 'VersionDisplay';
            versionPanel.setAttribute('tooltiptext', 'Versions-Nummer. Klick öffnet "Über ' + info.vendor + ' ' + info.name + '"');
            versionPanel.addEventListener('click', function () {
              openAboutDialog();
            });
            versionPanel.style.paddingTop = '4px';
            var label = document.createXULElement('label');
            label.setAttribute('value', "v" + info.version + " (" + bit + "bit)" + " [" + profile + "]");
            versionPanel.appendChild(label);
            document.getElementById(Toolbar).insertBefore(versionPanel, document.getElementById(Position).nextSibling);
        },
    }
    ucjsVN.init();
    }, 3000);
    Alles anzeigen
  • userChrome.js Scripte für den Fuchs (Diskussion)

    • bege
    • 2. Februar 2025 um 12:37

    Ich kann die verschiedenen Bedürfnisse verstehen. Wenn es in dem von 2002Andreasgenannten Thema Beschwerden gab und in diesem hier nicht, wäre ich dankbar, die beiden Themen entsprechend unterschiedlich zu behandeln. Da wir auf das Github von Endor angewiesen sind, bitte ich, auch seine Meinung zu berücksichtigen.

    Danke euch beiden für die hilfreiche Arbeit. 💛

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

    • bege
    • 1. Februar 2025 um 22:57
    Zitat von 2002Andreas

    Nur mal so als Hinweis.

    Bitte für Fragen bei Problemen mit Skripten etc., einen eigenen neuen Thread erstellen, und nicht alles in diesem Sammelthread posten, danke.

    Es wurden seit Jahren in diesem Thema Skript-Probleme vor allem mit den Skripten ursprünglich aus Ardimans, jetzt aus Endors Github diskutiert. Ich gebe zu, dass mein letzter Beitrag hier zu einem Skript von Aris war, aber das Problem betraf alle Skripte für zusätzliche Addon-Leisten. Es stimmt, man kann das in einzelnen Themen behandeln. Da ich nicht laufend hier im Forum unterwegs bin, war es für mich hilfreich, dass ich immer wusste, wo ich nach Lösungen für nicht mehr funktionierende Skripte suchen konnte. Und vor allem, ich hatte dieses Thema abonniert, so konnte ich die Benachrichtigungsmails überfliegen und sehen, ob ein Update zu neuen Problemen geführt hat. Wenn das jeweils in neuen Themen behandelt wird, bekomme ich diese E-Mails nicht mehr. Ich fände das schade und für mich deutlich aufwändiger. Ich hoffe, dafür gibt es noch einen einfachen Weg.

    Wofür ist dann in Zukunft dieses Thema gedacht?

  • "Neues", altes Appmenu. Update, und bräuchte Hilfe!

    • bege
    • 1. Februar 2025 um 22:42

    Mira_Belle

    Das ist ja genial, dass du die chrome://browser/content/browser-menubar.js direkt einliest. Ich hatte sie bisher in ein Skript kopiert und hätte das bei Änderungen im Zusammenhang mit Updates immer händisch ändern müssen. Dankeschön!

    Mit dieser abgespeckten Version kann ich das Skript für das ursprüngliche App-Menu-Skript verwenden, das ich ja auch mit einem weiteren Skript u.a. um die Menüeinträge erweitert habe.

    Ich verstehe zwar nur den oberen Teil, aber es funktioniert! 👍

    JavaScript
    (function () {
        setTimeout(async function () {
            
            // bind event
            let source = await readSource('chrome://browser/content/browser-menubar.js');
            source = source.replace("main-menubar", "AMpopup").replace({ once: true }, '')
            eval(source);
            async function readSource (url) {
                return new Promise(resolve => {
                    let xhr = new XMLHttpRequest();
                    xhr.open('GET', url);
                    xhr.onload = function () {
                        resolve(xhr.responseText);
                    };
                    xhr.send();
                });
            }
        }, 300);
    })();
    Alles anzeigen
  • addonbar.us.js funktioniert nicht mehr

    • bege
    • 26. Januar 2025 um 17:47

    Danke für eure Bemühungen. Wenn ihr mein oben verlinktes Github-Issue bei Aris anschaut und die folgenden Beiträge auf meinen zitierten Beitrag zu dem Problem hier in diesem Forum, wird klar, das im Fx 134 aus der Download-Button Funktion der Event-Handler entfernt wurde (oder so ähnlich, sorry für den Kauderwelsch eines Nur-Bastlers). Der soll durch den Zusatzcode ersetzt werden. Für Nutzer, die einen anderen Skript-Loader benutzen, scheint das zu funktionieren (siehe nochmal das Github-Issue, hier aber nicht.

  • addonbar.us.js funktioniert nicht mehr

    • bege
    • 25. Januar 2025 um 21:37
    Zitat von bege

    Mit Fx 133.0 funktioniert der Downloads-Button in der Addon-Bar von aris nicht mehr, das Popup-Fenster wird nicht angezeigt. In der normalen Leiste des Fx und im Überhangmenü funktioniert es. Kann das jemand bestätigen?

    JavaScript: addonbar.us.js
    // Add-on Bar script for Firefox 126+ by Aris
    //
    // no 'close' button
    // 'toggle' toolbar with 'Ctr + /' on Windows/Linux or 'Cmd + /' on macOS
    // no 'Add-on Bar' entry in toolbar context menu
    //
    // option: smaller buttons / reduced toolbar button height
    //
    // flexible spaces on add-on bar behave like on old Firefox versions
    
    // [!] Fix for WebExtensions with own windows by 黒仪大螃蟹 (for 1-N scripts)
    
    
    var appversion = parseInt(Services.appinfo.version);
    
    var compact_buttons = false; // reduced toolbar height and smaller buttons
    
    var AddAddonbar = {
      init: function() {
    
    	if (location != 'chrome://browser/content/browser.xhtml')
          return;
    	  
    	/* blank tab workaround */
    	try {
    	  if(gBrowser.selectedBrowser.getAttribute('blank')) gBrowser.selectedBrowser.removeAttribute('blank');
    	} catch(e) {}
    	
    	try {
    	  Services.prefs.getDefaultBranch('browser.addonbar.').setBoolPref('enabled',true);
    	} catch(e) {}
    
    	var addonbar_label = 'Add-on Bar';
    	var compact_buttons_code = '';
    	
    	if(compact_buttons)
    	  compact_buttons_code = `
    		#addonbar toolbarbutton .toolbarbutton-icon {
    		  padding: 0 !important;
    		  width: 16px !important;
    		  height: 16px !important;
    		}
    		#addonbar .toolbarbutton-badge-stack {
    		  padding: 0 !important;
    		  margin: 0 !important;
    		  width: 16px !important;
    		  min-width: 16px !important;
    		  height: 16px !important;
    		  min-height: 16px !important;
    		}
    		#addonbar toolbarbutton .toolbarbutton-badge {
    		  margin-top: 0px !important;
    		  font-size: 5pt !important;
    		  min-width: unset !important;
    		  min-height: unset !important;
    		  margin-inline-start: 0px !important;
    		  margin-inline-end: 0px !important;
    		}
    		#addonbar .toolbaritem-combined-buttons {
    		  margin-inline: 0px !important;
    		}
    		#addonbar toolbarbutton {
    		  padding: 0 !important;
    		}
    	  `;
    
    	// style sheet
    	Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService).loadAndRegisterSheet(
    	  Services.io.newURI('data:text/css;charset=utf-8,' + encodeURIComponent(`
    		  #addonbar toolbarpaletteitem[place=toolbar][id^=wrapper-customizableui-special-spring],
    		  #addonbar toolbarspring {
    			-moz-box-flex: 1 !important;
    			min-width: unset !important;
    			width: unset !important;
    			max-width: unset !important;
    		  }
    		  #main-window[customizing] #addonbar {
    			outline: 1px dashed !important;
    			outline-offset: -2px !important;
    		  }
    		  #addonbar {
    			border-top: 1px solid var(--sidebar-border-color,rgba(0,0,0,0.1)) !important;
    			background-color: var(--toolbar-bgcolor);
    			background-image: var(--toolbar-bgimage);
    			-moz-window-dragging: no-drag !important;
    		  }
    		  :root[lwtheme] #addonbar {
    			background: var(--lwt-accent-color) !important;
    		  }
    		  :root[lwtheme][lwtheme-image='true'] #addonbar {
    			background: var(--lwt-header-image) !important;
    			background-position: 0vw 50vh !important;
    		  }
    		  /* autohide add-on bar in fullscreen mode */
    		  /*#main-window[sizemode='fullscreen']:not([inDOMFullscreen='true']) #addonbar {
    			visibility: visible !important;
    			display: block !important;
    			min-height: 1px !important;
    			height: 1px !important;
    			max-height: 1px !important;
    		  }
    		  #main-window[sizemode='fullscreen']:not([inDOMFullscreen='true']) #addonbar:hover {
    			min-height: 24px !important;
    			height: 24px !important;
    			max-height: 24px !important;
    		  }*/
    		  #unified-extensions-button[hidden]{
    			visibility: visible !important;
    			display: flex !important;
    		  }
    		  `+compact_buttons_code+`
    	  `), null, null),
    	  Components.classes['@mozilla.org/content/style-sheet-service;1'].getService(Components.interfaces.nsIStyleSheetService).AGENT_SHEET
    	);
    
    	// toolbar
    	try {
    	  if(document.getElementById('addonbar') == null) {
    		var tb_addonbar = document.createXULElement('toolbar');
    		tb_addonbar.setAttribute('id','addonbar');
    		tb_addonbar.setAttribute('collapsed', 'false');
    		tb_addonbar.setAttribute('toolbarname', addonbar_label);
    		tb_addonbar.setAttribute('defaultset','spring,spring'); 
    		tb_addonbar.setAttribute('customizable','true');
    		tb_addonbar.setAttribute('mode','icons');
    		tb_addonbar.setAttribute('iconsize','small');
    		tb_addonbar.setAttribute('context','toolbar-context-menu');
    		tb_addonbar.setAttribute('lockiconsize','true');
    		tb_addonbar.setAttribute('class','toolbar-primary chromeclass-toolbar browser-toolbar customization-target');
    
    		document.getElementById('browser').parentNode.appendChild(tb_addonbar);
    		
    		CustomizableUI.registerArea('addonbar', {legacy: true});
    		
    		setTimeout(function(){
    		  CustomizableUI.registerArea('addonbar', {legacy: true});
    		},2000);
    	  
    		CustomizableUI.registerToolbarNode(tb_addonbar);
    		
    		// 'Ctr + /' on Windows/Linux or 'Cmd + /' on macOS to toggle add-on bar
    		var key = document.createXULElement('key');
    		key.id = 'key_toggleAddonBar';
    		key.setAttribute('key', '/');
    		key.setAttribute('modifiers', 'accel');
    		key.setAttribute('oncommand',`
    			var newAddonBar = document.getElementById('addonbar');
    			setToolbarVisibility(newAddonBar, newAddonBar.collapsed);
    			Services.prefs.getBranch('browser.addonbar.').setBoolPref('enabled',!newAddonBar.collapsed);
    		  `);
    		document.getElementById('mainKeyset').appendChild(key);
    		
    		
    		try {
    		  setToolbarVisibility(document.getElementById('addonbar'), Services.prefs.getBranch('browser.addonbar.').getBoolPref('enabled'));
    		} catch(e) {}
    	  
    	  }
    	} catch(e) {}
    
      }
    
    }
    
    /* initialization delay workaround */
    document.addEventListener('DOMContentLoaded', AddAddonbar.init(), false);
    /* Use the below code instead of the one above this line, if issues occur */
    /*
    setTimeout(function(){
      AddAddonbar.init();
    },2000);
    */
    Alles anzeigen

    Das Problem besteht weiter, obwohl es gerade ein Update für das Skript gab.

    Meine Meldung auf Github ist verwaist. Dort gibt es Lösungsvorschläge, die aber wohl nur mit einem anderen Skriptloader funktionieren. Weiß jemand eine Lösung mit "unserem" Skriptloader, also dem in Endors Github?

  • Links öffnen nicht in einen neuen Tab

    • bege
    • 8. Dezember 2024 um 14:13
    Zitat von Road-Runner
    Zitat

    Links aus der Adressleiste: ab Fx 60: about:config - browser.urlbar.openintab auf true setzen

    Links aus der Suchzeile: about:config - browser.search.openintab auf true setzen

    Links aus den Lesezeichen: about:config - browser.tabs.loadBookmarksInTabs auf true setzen

    Links zu anderen Seiten: Erweiterung Open Link with New Tab https://addons.mozilla.org/de/firefox/add…k-with-new-tab/

    Links im Vordergrund öffnen: about:config browser.tabs.loadBookmarksInBackground auf false setzen

    Aus meinem Notizen kopiert. Ob alle Werte noch so stimmen, weis ich nicht. Aber ein Versuch kann nicht schaden.

    Alles anzeigen

    Genau so steht's in meiner user.js und funktioniert.

    Code: user.js
    // Links öffnen
    user_pref("browser.search.openintab", true);
    user_pref("browser.urlbar.openintab", true);
    user_pref("browser.tabs.loadBookmarksInTabs", true);
  • userChrome.js Scripte für den Fuchs (Diskussion)

    • bege
    • 28. November 2024 um 10:25
    Zitat von 2002Andreas
    Zitat von bege

    Kann das jemand bestätigen?

    Ist hier auch so.

    Klick auf den Button, und es passiert nichts.

    Dankeschön! Ich habe das bei Aris gemeldet.

Unterstütze uns!

Jährlich (2025)

101,9 %

101,9% (662,48 von 650 EUR)

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