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

Beiträge von BarbaraZ-

  • Header (Kopfzeile) fixieren

    • BarbaraZ-
    • 22. Juni 2026 um 12:50

    Gibt es eine Möglichkeit, die Kopfzeile zu fixieren.
    Ich finde es nämlich nervig, wenn ich zwischen den Themen wechseln möchte, erst immer komplett zurückzuscrollen.

    Gemeint ist dieses.

  • Notiz hinzufügen

    • BarbaraZ-
    • 21. Juni 2026 um 17:27

    Sehr schön, vielen Dank.

  • Notiz hinzufügen

    • BarbaraZ-
    • 21. Juni 2026 um 17:04

    Moin,
    mich stört es extrem, dass über den Tabs das Kästchen und der Text: Notiz hinzufügen eingeblendet wird.

    Erstens benötige ich es nicht und
    Zweitens ist das für mich verschenkter Platz.

    Wie kann diese Zeile deaktiviert oder ausgeblendet werden?

  • Abstand der Icons in der Menuleiste zu groß

    • BarbaraZ-
    • 20. Juni 2026 um 11:27

    Treffer und versenkt.

    Herzlichen Dank

  • Abstand der Icons in der Menuleiste zu groß

    • BarbaraZ-
    • 20. Juni 2026 um 11:17

    Das mit dem fehlenden px stimmte wohl. Ist mir beim speichern reingerutscht. Ich habe jetzt mal -8.6px genutzt, ändert nichts am Ergebnis.

    Meine Idee wäre vielleicht, die Adressliste zu vergrößern/zu verlängern. Sollte dann die Icons weiter zusammenschieben. Also nur mal so gedacht.

    Eventuell kollidiert es hiermit:

    CSS
    /*Schrift für Menuleiste kräftiger*/
    
    @-moz-document url-prefix("chrome://browser/content/browser.xhtml"){
    
    /* Schrift kräftiger */
    #main-menubar {
        font-size: 13px !important;
    	color: red !important;
    	font-weight: bold !important;
    }
    
    /* Hintergrund obere Leiste im Screen*/    
    #toolbar-menubar {
        background-color: yellow !important; 
    	font-size: 12px !important;
    }
    }
    #home-button{
    fill:darkred!important;}
    
    #back-button{
    fill:yellow!important;}
    
    #forward-button{
    fill:dodgerblue!important;}
    Alles anzeigen

    Ich hab woanders noch eine Schnipsel gefunden:

    CSS
    #nav-bar .toolbarbutton-1 {
       --toolbarbutton-outer-padding: 0px !important;
  • Abstand der Icons in der Menuleiste zu groß

    • BarbaraZ-
    • 20. Juni 2026 um 11:06

    Bei mir sind die Abstände der Icons untereinander zu groß geworden.

    CSS
    /* Adressleiste - Rand und Farbe anpassen */
    
    @-moz-document url(chrome://browser/content/browser.xhtml) {
    
    #urlbar {
        border: 2px solid dodgerblue !important;
        }
    	
    .urlbar-input {
        color: red !important; /* Schriftgestaltung */  
        font-weight: bold !important;
        font-size: 14px !important;
     }
    	
    /** Abstände Icons verkleinern */
    
    toolbar .toolbarbutton {
        margin: 0.8px -0.8 !important;	
    }
    }
    Alles anzeigen

    Mit dem Code oben spreche ich die Icons an. Die Standardeinstellung unter margin war 1.6px und -1.6px.
    Leider ist es egal, welchen Wert ich dort einsetze, ob den jetzigen oder den vorherigen, die Abstände bleiben zu groß.

    Über eine Lösung freue ich mich.

  • ublock-origin-button laden

    • BarbaraZ-
    • 19. Juni 2026 um 12:58

    Halt stopp. Ich habe den Fehler gefunden. Ich habe diesesmal nur das falsche Icon angeklickt.
    Herzlichen Dank alles passt.

  • ublock-origin-button laden

    • BarbaraZ-
    • 19. Juni 2026 um 12:54

    Danke für deine Mühe.
    Aber damit bekomme ich noch nicht mal den zugehörigen Button angezeigt. Ist schon irgendwie komisch.

  • ublock-origin-button laden

    • BarbaraZ-
    • 19. Juni 2026 um 12:32

    Nein, eben nicht.

  • ublock-origin-button laden

    • BarbaraZ-
    • 19. Juni 2026 um 12:30

    Eben genau um die Seite geht es.

  • ublock-origin-button laden

    • BarbaraZ-
    • 19. Juni 2026 um 12:24

    Hallo Andreas,
    irgend etwas ist unrund.
    Er zeigt zwar das Icon an, ich kann aber beim Anklicken den Ublock nicht aktualisieren.

  • ublock-origin-button laden

    • BarbaraZ-
    • 19. Juni 2026 um 11:08

    Dieses Skript lädt nicht mehr:

    JavaScript
    // ublock_in_new_tab.uc.js
    
     (function() {
      if (location != 'chrome://browser/content/browser.xhtml') return;
       
       try {
           CustomizableUI.createWidget({
               id: 'ublock',
               type: 'custom',
               defaultArea: CustomizableUI.AREA_NAVBAR,
               onBuild: function(aDocument) {     
                   var toolbaritem = aDocument.createElementNS('http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul', 'toolbarbutton');
                   var props = {
                       id: 'ublock',
                       class: 'toolbarbutton-1 chromeclass-toolbar-additional',
                       label: 'ublock-Button',
                       tooltiptext: 'uBlock Update',
                       style: 'list-style-image: url("data:image/png;base64,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")'
    				   };
    				   
                   for (var p in props)
                       toolbaritem.setAttribute(p, props[p]);
    				   toolbaritem.addEventListener('click', event => {
    				   if (event.button == 0) {
    				   event.target.ownerGlobal.openTrustedLinkIn("moz-extension://5ecb425e-9732-4036-b85d-5a22f246c4d4/dashboard.html#3p-filters.html", "tab");
    				   }
    				   });
                   return toolbaritem;
               }
           });
       } catch(e) { };
      
    })();
    Alles anzeigen

    Bitte gerne auch den base 64 code umstellen.

    url("file:///C:/Users/Barbaraz-/AppData/Roaming/Mozilla/Firefox/Profiles/"xyz".default/chrome/Icons/pencil.png");

    Danke

  • extraconfigmenu

    • BarbaraZ-
    • 18. Juni 2026 um 13:08

    Danke

    Nun klappt es. Ich habe den base64 code mal geändert in:

    url("file:///C:/Users/Barbaraz-/AppData/Roaming/Mozilla/Firefox/Profiles/"xyz".default/chrome/Icons/pencil.png");

    und es klappt. Kann man das ganze noch irgendwie verkürzen?

  • extraconfigmenu

    • BarbaraZ-
    • 18. Juni 2026 um 11:56

    Hallo Andreas,
    mit dem Script aus Beitrag #2 wird mir das Icon nicht mehr angezeigt.
    Und ja, sicherlich kann es schon länger nicht mehr funktionieren, wie in meinem anderen Beitrag geschrieben.

    Ich nutze ja nicht jeden Tag immer immer alles, von daher kann es durch die vielen Updates schon sein. Habe im Moment mehr oder weniger den Überblick verloren. Von daher finde ich es klasse, das es hier immer kompetente Hilfe gibt.

    Habe es nach dem Aktualisieren hier mal sichtbar gemacht.

  • extraconfigmenu

    • BarbaraZ-
    • 18. Juni 2026 um 10:35

    Ich bekomme hier:

    JavaScript
    // ==UserScript==
    // @name           extras_config_menu.uc.js
    // @compatibility  Firefox 5*.*
    // @include        main
    // @version        1.0.20190504
    // @edit           @aborix 7/21 CSS Dateien als Untermenü eingefügt 
    // @edit           @2002Andreas 8/21 Shadow CSS Dateien als Untermenü + Ordner eingefügt
    // @edit 		   @BrokenHeart	1/25 Anpass. wg. Änderung der Sicherheitsrichtlinien bei 'inlineEvents'
    // ==/UserScript==
    
    var uProfMenu = {
      // Beginn der Konfiguration
      // In der folgenden Zeile (11) den Pfad zum Texteditor eintragen (unter Ubuntu 10.04 z.B.: '/usr/bin/gedit'). Bei Fehleintrag wird view_source.editor.path ausgelesen:
      //TextOpenExe: 'E:\\Notepad++\\notepad++.exe',
      TextOpenExe: 'E:\\Notepad++\\notepad++.exe',
      // Falls gewuenscht, in Zeile 15 einen Dateimanager eintragen (komplett leer lassen fuer Dateimanager des Systems) Beispiele:
      // vFileManager: 'C:\\Programme\\TotalCommander\\Totalcmd64.exe',
      vFileManager: 'C:\\Programme\\TotalCommander\\Totalcmd64.exe',
      // In der folgenden Zeile (19) 'menu' eintragen, damit es unter "Extras" als Menue erscheint, sonst die id des gewuenschten
      // Elements *nach* dem der Button erscheinen soll (z.B. 'urlbar', 'searchbar', 'undoclosetab-button','abp-toolbarbutton')
      // Bitte nicht so etwas wie die Menue- oder Navigationsleiste (sondern einen Menuepunkt oder einen Button mit id auf diesen Leisten) eintragen:
     warpmenuto: 'helpMenu',
     // Unter Linux sollte/kann versucht werden, die userChromeJS-Skripte zu sortieren, unter Windows ist das evtl. nicht noetig (die Sortierung wird Gross- und Kleinschreibung *nicht* beruecksichtigen - dazu wird die sort()-Funktion entsprechend mit einer Vergleichsfunktion aufgerufen)
      sortScripts: 0,   // 1 zum Erzwingen der Sortierung
      // Einbindung CSS-Ordner (0: nein, 1: UserCSSLoader-Ordner im Chrome-Verzeichnis):
      cssOrdner: 0,
      // In Zeile 30 gueltige about:Adressen eintragen, die ebenfalls aufgerufen werden sollen.
      // - Zum Ausblenden: abouts: [],
      // - Damit die about:-Seiten nicht als Untermenue, sondern direkt als Menuepunkte aufgefuehrt werden, muss das erste Element '0' sein:
      // abouts: ['0','about:about','about:addons','about:cache','about:config','about:support'],
      abouts: ['about:about','about:cache','about:config','about:crashes','about:downloads','about:home','about:logins','about:support','about:preferences','about:profiles'],
      // Die normalen Firefox-Einstellungen auch zur Verfuegung stellen (0: nein, 1: ja):
      showNormalPrefs: 0,
      // Stellt "Skriptliste in Zwischenablage" zur Verfuegung (1: ja, 2: mit getrennter Nummerierung, 3: mit gemeinsamer Nummerierung) oder nicht (0):
      enableScriptsToClip: 1,
      // Um den Eintrag "Neustart" zu erzwingen (falls z.B. das andere Skript zu spaet eingebunden und nicht erkannt wird), auf 1 setzen:
      enableRestart: 0,
      // Ende der Konfiguration
    
      init: function() {
        if (this.warpmenuto.toLowerCase() == 'menu') {
          // aufgrund des gewaehlten warpmenuto als Untermenue von Extras anlegen
          var zielmenu = document.getElementById('menu_ToolsPopup');
          if (zielmenu==null) {
            userChrome.log("extras_config_menu.uc.js findet Zielmenue nicht, evtl. weil ein anderes Fenster als das Hauptfenster " +
                           "geoeffnet wurde. Falls dieser Fehler auch im Hauptfenster auftritt, bitte die vorgehende Definition " +
                           "von 'zielmenu' kontrollieren.");
           return
          }
          var menu = zielmenu.appendChild(this.createME("menu","Config Men\u00FC",0,0,"ExtraConfigMenu"));
          menu.setAttribute("class","menu-iconic");
          menu.setAttribute("ondblclick","openTrustedLinkIn('about:config', 'tab');");
         } else {
    		 
    	// als verschiebbaren Button anlegen
          if (window.__SSi == "window0") {
            CustomizableUI.createWidget({
              id: "ExtraConfigMenu-button",
              defaultArea: CustomizableUI.AREA_NAVBAR,
              label: "Extra Config Menü",
              tooltiptext: "Extra Config Menü\nRechtsklick \öffnet about:config"
            });
    		
          }
          var menu = document.getElementById("ExtraConfigMenu-button");
          menu.setAttribute("type", "menu");
    	  menu.addEventListener('click', function(event) {
    			if (event.button == 2 && !this.open) { 
    				openTrustedLinkIn("about:config", "tab");
    				event.preventDefault();
    			};
    	 },true);
    	  
        }
    	
        //ab hier ist alles gleich, egal ob Button oder Menue
        var css = " \
          #ExtraConfigMenu, #ExtraConfigMenu-button { \
            list-style-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACnElEQVR4Xm2RzYtbZRSHn/fr3pvJzTB3qiNM2k2pMBUGhEHaqsUqdeFGQalCobgREaFu/B/cqCtxVSjoQhBEQRBmIfWDKgNGJUPt0Nhah9JJ4iSd5E6+bu5972tAO4SS5/DjXZ1znsMrNiq1eikMQqYYJCmjxNH5+zdW777L0J5KKl9VPmnf+ut9KWkwhbheuzNcOVYOmGKc5iRO0r1ykeXCx0h7kt4fC3z5wfqbQnAJwQHa5S7jAZSRuJ0mkf81cheobhBXZa+ri1uptQjHAZoZCEC1PiPgDuwxCfwerBU7b73zXn//3usCcdt4HkZ7SGZg431U51NUCgwlO3cV/bVXhR/6p9ut+nP9QYeNn7/n8qUPZxvQ/Q6VVWHk4ZqWRvlJjpx9hcGfW2wO95N2q8m3618A2WwDt/0RplSAXsBed57eyossHl5GYdHacG3zGpADM06wjQ1UUIN+CLHPvfAxojPnKLiE+bDE1R9+5GatAmgPeGCAteQ7l5GBhGSyuROyd/gFouUyWkqEErR2mwXAAA8BRS0AgMQBjSra30ZkEeDzz9Dn4ZcvMO51SMcJcTdGChmA0ABA6cAgzyG3I8jLEBylV4fWoaeIc0V7t0Uv7pFbC+CA+28mp/8+SwXKnMVmz1O9HpE+eobMZdjcoY1GIHD/NwIdoH1fBaNguzlg88pVyoUi4vTbFI8eJxsNAIfSkrliESllH/L0v0jktNNomFGv1TFrL3Fo9QSMR3jaEEXzLC09gjaKp595No0WjyCEB4zRclICUMDxtRMce/wJ1MIi2SglXShhfI/cOjxPoZRmbq4gXzt/gVrtBrdvbiG+Wf+p/mvll1BpiVAGhCDPxuAUDotz4HKHlIJON6bRbL4hhPjcMx5mkn8BBLEUrsVZbq0AAAAASUVORK5CYII=);  \
    		 margin-top: 0px !important; \
    		 opacity: 1 !important;\
          } \
          #ExtraConfigMenu-button > dropmarker, #ExtraConfigMenu-button > hbox > .toolbarbutton-menu-dropmarker { \
            display: none !important; \
          }";
        var sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
        var uri = makeURI('data:text/css;charset=UTF=8,' + encodeURIComponent(css));
        sss.loadAndRegisterSheet(uri,sss.AGENT_SHEET);
    	menu.addEventListener('popupshowing', function(event) {
    			uProfMenu.getScripts(0);
    			uProfMenu.getCss(3);
    			uProfMenu.getCss(4);
    			uProfMenu.getCss(5);
    	 },true);
    	
        var menupopup = menu.appendChild(this.createME("menupopup",0,0,0,"ExtraConfigMenu-popup"));
        // Anlegen von Untermenues fuer userChromeJS-Skripte und CSS-Dateien (befuellen spaeter)
        var submenu = menupopup.appendChild(this.createME("menu","Meine Scripte",0,0,"submenu-ucjs"));
        var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-ucjs-items"));
        // var submenu = menupopup.appendChild(this.createME("menu","uc.xul",0,0,"submenu-ucxul"));
        // var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-ucxul-items"));
        var submenu = menupopup.appendChild(this.createME("menu","css",0,0,"submenu-css"));
        var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-css-items"));
    	var submenu = menupopup.appendChild(this.createME("menu","CSSShadow",0,0,"submenu-CSSShadow"));
        var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-CSSShadow-items"));
        var submenu = menupopup.appendChild(this.createME("menu","cssweb",0,0,"submenu-cssweb"));
        var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-cssweb-items"));
        if (this.enableScriptsToClip) menupopup.appendChild(this.createME("menuitem","Skriptliste in Zwischenablage","uProfMenu.getScripts(1)","uProfMenu_clipboard",0));
        // Ende Anlegen von Untermenues
        menupopup.appendChild(document.createXULElement('menuseparator'));
        // Einbindung von Konfigdateien
     	//menupopup.appendChild(this.createME("menuitem","Bild Url","uProfMenu.edit(0,'Bild Url.css');","uProfMenu_edit",0));
    	//menupopup.appendChild(this.createME("menuitem","config Einträge.css","uProfMenu.edit(0,'config Einträge.css');","uProfMenu_edit",0));
    	/*menupopup.appendChild(this.createME("menuitem","Forum.css","uProfMenu.edit(0,'./CSSWeb/Forum.css');","uProfMenu_edit",0)); */
        menupopup.appendChild(this.createME("menuitem","userChrome.css","uProfMenu.edit(0,'userChrome.css');","uProfMenu_edit",0));
    	menupopup.appendChild(this.createME("menuitem","userChromeShadow.css","uProfMenu.edit(0,'userChromeShadow.css');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","userContent.css","uProfMenu.edit(0,'userContent.css');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","userChrome.js","uProfMenu.edit(0,'userChrome.js');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","prefs.js","uProfMenu.edit(1,'prefs.js');","uProfMenu_edit",0));
        menupopup.appendChild(this.createME("menuitem","user.js","uProfMenu.edit(1,'user.js');","uProfMenu_edit"),0);
    
        // Ende Einbindung von Konfigdateien
        menupopup.appendChild(document.createXULElement('menuseparator'));
        // Einbindung von Ordnern
        switch (this.gmOrdner) {
          case 1:
            menupopup.appendChild(this.createME("menuitem","GM-skripty","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfD')+uProfMenu.getDirSep()+'gm_scripts');","uProfMenu_folder"),0);
            break;
          case 2:
            menupopup.appendChild(this.createME("menuitem","USL-skripty","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'UserScriptLoader');","uProfMenu_folder"),0);
            break;
          case 3:
            menupopup.appendChild(this.createME("menuitem","Skripty Scriptish","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfD')+uProfMenu.getDirSep()+'scriptish_scripts');","uProfMenu_folder"),0);
            break;
        }
    
        menupopup.appendChild(this.createME("menuitem","CSS-Ordner ","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'css');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","CSSShadow-Ordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'CSSShadow');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","CSSWeb-Ordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'CSSWeb');","uProfMenu_folder"),0);
    	menupopup.appendChild(this.createME("menuitem","cssforum","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'cssforum');","uProfMenu_folder"),0);
    	 menupopup.appendChild(this.createME("menuitem","Chromeordner","uProfMenu.prefDirOpen('UChrm');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","Profilordner","uProfMenu.prefDirOpen('ProfD');","uProfMenu_folder"),0);
    	    menupopup.appendChild(this.createME("menuitem","Icons-Ordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'Icons');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","Installationsordner","uProfMenu.prefDirOpen('CurProcD');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","Addonordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfD')+uProfMenu.getDirSep()+'extensions');","uProfMenu_folder"),0);
        menupopup.appendChild(this.createME("menuitem","Startup-Cacheordner","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('ProfLD')+uProfMenu.getDirSep()+'startupCache');","uProfMenu_folder"),0);
      /*   menupopup.appendChild(this.createME("menuitem","Ordner about","uProfMenu.dirOpen(uProfMenu.getPrefDirectoryPath('UChrm')+uProfMenu.getDirSep()+'about');","uProfMenu_folder"),0); */
        // Ende Einbindung von Ordnern
        // Einbindung von abouts
        if (this.abouts.length>0) {
          menupopup.appendChild(document.createXULElement('menuseparator'));
          // falls der erste Eintrag des Arrays = '0' ist, dann kein Untermenue anlegen, sondern direkt als Menuepunkte einbinden
          if (this.abouts[0]=='0') {
            for (var i = 1; i < this.abouts.length; i++) {
            menupopup.appendChild(this.createME("menuitem",this.abouts[i],"openTrustedLinkIn('"+this.abouts[i]+"','tab')","uProfMenu_about"),0);
            }
           } else {
            // der erste Eintrag des arrays ist ungleich '0', deshalb als Untermenue einrichten
            var submenu = menupopup.appendChild(this.createME("menu","uc.js",0,0,"submenu-about"));
            var submenupopup = submenu.appendChild(this.createME("menupopup",0,0,0,"submenu-about-items"));
            this.fillMenu("submenu-about","submenu-about-items", "about:",this.abouts,"uProfMenu_about",1);
          }
        }
        // Ende Einbindung von abouts
        // Separator, falls dieser nicht schon durch abouts generiert wurde und weitere Menuepunkte folgen werden
        if (this.abouts.length==0 && (this.showNormalPrefs || typeof(ToolRstartMod) != "undefined")) menupopup.appendChild(document.createXULElement('menuseparator'));
        // Falls gewuenscht (s. Konfigurationsabschnitt), Zugriff auf die normalen Einstellungen
        if (this.showNormalPrefs) menupopup.appendChild(this.createME("menuitem","Einstellungen","try{openOptionsDialog();}catch(e){openPreferences();}","uProfMenu_prefs"),0);
        // Falls addRestartButton installiert ist, Neustart zur Verfuegung stellen (addRestartButton 1.0.20120105mod erforderlich)
        if(typeof(ToolRstartMod) != "undefined" || this.enableRestart) menupopup.appendChild(this.createME("menuitem","Neustart",
        "try{ToolRstartMod.restartApp(false);} catch(e){alert(e);}","uProfMenu_restart"),0);
      },
    
      getDirSep:function() {
        // Betriebssystem nach https://developer.mozilla.org/en/Code_snippets/Miscellaneous ermitteln
        var osString = Components.classes["@mozilla.org/xre/app-info;1"].getService(Components.interfaces.nsIXULRuntime).OS;
        var dirsep = "/";
        switch(osString) {
          case "WINNT":
            dirsep = "\\";
            break;
          case "Darwin":
            dirsep = "/";
            break;
        }
        return dirsep;
      },
    
      edit:function(OpenMode,Filename){
        var Path = "";
        var dSep = this.getDirSep();  // die Trennzeichen zwischen Ordnern abhaengig vom Betriebssystem machen
        switch (OpenMode){
          //Current is Chrome Directory
          case 0:
            var Path = this.getPrefDirectoryPath("UChrm") + dSep + Filename;
            break;
          //Current is Profile Directory
          case 1:
            var Path = this.getPrefDirectoryPath("ProfD") + dSep + Filename;
            break;
          //Current is Root
          case 2:
            var Path = Filename;
            break;
          //Current is CSS folder
          case 3:
            var Path = this.getPrefDirectoryPath("UChrm") + dSep + "CSS" + dSep + Filename;
            break;
          //Current is CSSWeb folder
          case 4:
            var Path = this.getPrefDirectoryPath("UChrm") + dSep + "CSSWeb" + dSep + Filename;
            break;
    		//Current is CSSShadow folder
          case 5:
            var Path = this.getPrefDirectoryPath("UChrm") + dSep + "CSSShadow" + dSep + Filename;
            break;
        }
        this.launch(this.TextOpenExe,Path);
      },
    
      dirOpen:function(Path){
        if (this.vFileManager.length != 0) {
          var file = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
          var process = Cc['@mozilla.org/process/util;1'].createInstance(Ci.nsIProcess);
          var args = [Path];
          file.initWithPath(this.vFileManager);
          process.init(file);
          // Verzeichnis mit anderem Dateimanager oeffnen
          process.run(false, args, args.length);
         } else {
          // Verzeichnis mit Dateimanager des Systems oeffnen
          var dir = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
          dir.initWithPath(Path);
          dir.launch();
        }
      },
    
      prefDirOpen:function(prefDir){
        Path = this.getPrefDirectoryPath(prefDir);
        this.dirOpen(Path);
      },
    
      getPrefDirectoryPath:function(str){
        // get profile directory
        var file = Components.classes["@mozilla.org/file/directory_service;1"]
          .getService(Components.interfaces.nsIProperties)
          .get(str, Components.interfaces.nsIFile);
        if (str == 'CurProcD') {
          file = file.parent;
        };
        return file.path;
      },
    
      launch:function(RanPath,OpenPath){
        var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsIFile);
        var proc = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
        var args = [OpenPath];
        file.initWithPath(RanPath);
        // falls der im Konfigurationsabschnitt definierte Editor nicht gefunden wird, auf Einstellung in about:config ausweichen:
        if (!file.exists()) {
          var pref = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefBranch);
          RanPath = pref.getCharPref("view_source.editor.path");
          file.initWithPath(RanPath);
        }
        proc.init(file);
        proc.run(false, args, args.length);
      },
    
      stringComparison:function(a, b){
        a = a.toLowerCase();
        a = a.replace(/ä/g,"a");
        a = a.replace(/ö/g,"o");
        a = a.replace(/ü/g,"u");
        a = a.replace(/ß/g,"s");
        b = b.toLowerCase();
        b = b.replace(/ä/g,"a");
        b = b.replace(/ö/g,"o");
        b = b.replace(/ü/g,"u");
        b = b.replace(/ß/g,"s");
        return(a==b)?0:(a>b)?1:-1;
      },
    
      getScripts:function(iType) {
        // Arrays (jeweils ein Array fuer uc.js und uc.xul) nehmen Namen der gefundenen Skripte auf
        let ucJsScripts = [];
        let ucXulScripts = [];
        // Suchmuster, also die Dateierweiterungen uc.js und uc.xul
        let extjs = /\.uc\.js$/i;
        //let extxul = /\.uc\.xul$/i;
        let aFolder = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
        aFolder.initWithPath(Services.dirsvc.get("UChrm", Ci.nsIFile).path);
        // files mit Eintraegen im Chrome-Ordner befuellen
        let files = aFolder.directoryEntries.QueryInterface(Ci.nsISimpleEnumerator);
        // Ordner bzw. files durchlaufen und kontrollieren, ob gesuchte Dateien dabei sind
        while (files.hasMoreElements()) {
          let file = files.getNext().QueryInterface(Ci.nsIFile);
          // keine gewuenschte Datei, deshalb continue
          //if (!extjs.test(file.leafName) && !extxul.test(file.leafName)) continue;
          // uc.js gefunden -> im Array ablegen
          if (extjs.test(file.leafName)) ucJsScripts.push(file.leafName);
          // uc.xul gefunden -> im Array ablegen
          //if (extxul.test(file.leafName)) ucXulScripts.push(file.leafName);
        }
        if (this.sortScripts) {
          ucJsScripts.sort(this.stringComparison);
          //ucXulScripts.sort(this.stringComparison);
        }
        // Aufruf der naechsten Methoden um die beiden Untermenues oder die Zwischenablage zu befuellen
        if (iType==0) {
          this.fillMenu("submenu-ucjs","submenu-ucjs-items", "Meine Scripte",ucJsScripts,"uProfMenu_ucjs",0);
          //this.fillMenu("submenu-ucxul","submenu-ucxul-items", "uc.xul",ucXulScripts,"uProfMenu_ucxul",0);
         } else {
          var result = this.fillClipboardValue(ucJsScripts,ucXulScripts);
          Components.classes["@mozilla.org/widget/clipboardhelper;1"].getService(Components.interfaces.nsIClipboardHelper).copyString(result);
        }
      },
    
      getCss:function(iType) {
        // Array nimmt Namen der gefundenen css-Dateien auf
        let cssFiles = [];
        // Suchmuster, also die Dateierweiterung css
        let extcss = /\.css$/i;
        let aFolder = Cc['@mozilla.org/file/local;1'].createInstance(Ci.nsIFile);
        if (iType==3) {
          aFolder.initWithPath(Services.dirsvc.get("UChrm", Ci.nsIFile).path+this.getDirSep()+"CSS");
         } else if (iType==4) {
          aFolder.initWithPath(Services.dirsvc.get("UChrm", Ci.nsIFile).path+this.getDirSep()+"CSSWeb");
        }  else if (iType==5) {
          aFolder.initWithPath(Services.dirsvc.get("UChrm", Ci.nsIFile).path+this.getDirSep()+"CSSShadow");
        }
        // files mit Eintraegen im CSS- bzw. CSSWeb-Ordner befuellen
        let files = aFolder.directoryEntries.QueryInterface(Ci.nsISimpleEnumerator);
        // Ordner bzw. files durchlaufen und kontrollieren, ob gesuchte Dateien dabei sind
        while (files.hasMoreElements()) {
          let file = files.getNext().QueryInterface(Ci.nsIFile);
          // css gefunden -> im Array ablegen
          if (extcss.test(file.leafName)) cssFiles.push(file.leafName);
        }
        if (this.sortScripts) {
          cssFiles.sort(this.stringComparison);
        }
        // Untermenue befuellen
        if (iType==3) {
          this.fillMenu("submenu-css","submenu-css-items","Meine CSS-Dateien",cssFiles,"uProfMenu_css",3);
         } else if (iType==4) {
          this.fillMenu("submenu-cssweb","submenu-cssweb-items","Meine CSSWeb-Dateien",cssFiles,"uProfMenu_css",4);
        }  else if (iType==5) {
          this.fillMenu("submenu-CSSShadow","submenu-CSSShadow-items","Meine CSSShadow-Dateien",cssFiles,"uProfMenu_css",5);
        }
      },
    
      fillMenu:function(whichsubmenu, whichsubmenuitems, strlabel, scriptArray,sClass,sTyp) {
        // Beschriftung des Untermenues mit Anzahl der gefundenen Dateien ergaenzen
        var e = document.getElementById(whichsubmenu);
        e.setAttribute('label',strlabel + ' (' + scriptArray.length + ')');
        var popup = document.getElementById(whichsubmenuitems);
        // zunaechst Untermenue zuruecksetzen
        while(popup.hasChildNodes()){
          popup.removeChild(popup.firstChild);
        }
        // Untermenue endlich befuellen
        for (var i = scriptArray.length-1; i > -1; i--) {
          // Typunterscheidung (userChromeJS-Skript oder about: oder css)
          if (sTyp==0){
            var mitem = this.createME("menuitem",scriptArray[i],"uProfMenu.edit(0,'"+scriptArray[i]+"')",sClass,0);
    		mitem.addEventListener('click', function(event) {
    			uProfMenu.openAtGithub(event,'"+scriptArray[i]+"');
    			event.preventDefault();
    		},true);
    		
            mitem.setAttribute("tooltiptext"," Linksklick: Bearbeiten,\n Mittelklick: https://github.com/.../"+this.cleanFileName(scriptArray[i])+" oeffnen,\n Rechtsklick: Suche auf GitHub");
           } else if (sTyp==1){
            var mitem = this.createME("menuitem",scriptArray[i],"openTrustedLinkIn('"+scriptArray[i]+"','tab')",sClass,0);
           } else if (sTyp==3){
            var mitem = this.createME("menuitem",scriptArray[i],"uProfMenu.edit(3,'"+scriptArray[i]+"')",sClass,0);
           } else if (sTyp==4){
            var mitem = this.createME("menuitem",scriptArray[i],"uProfMenu.edit(4,'"+scriptArray[i]+"')",sClass,0);
          }
    	  else if (sTyp==5){
            var mitem = this.createME("menuitem",scriptArray[i],"uProfMenu.edit(5,'"+scriptArray[i]+"')",sClass,0);
          }
          popup.insertBefore(mitem, popup.firstChild);
        }
      },
    
      fillClipboardValue:function(sArray,xArray) {
        var retValue;
        var s = 0;
        var x = 0;
        s = sArray.length;
        x = xArray.length;
        switch(this.enableScriptsToClip) {
          case 1:
            retValue = "userChromeJS/uc.js ("+s+"):\n------------------------\n"+sArray.join("\n")+
                       "\n\nuserChromeJS/uc.xul ("+x+"):\n-------------------------\n"+xArray.join("\n");
            break;
          default:
            retValue = "userChromeJS/uc.js ("+s+"):\n------------------------";
            for (var i = 0; i < s ; i++) {
              j = i + 1;
              retValue = retValue + "\n" + j + ". " + sArray[i];
            }
            retValue = retValue + "\n\nuserChromeJS/uc.xul ("+x+"):\n-------------------------";
            if (this.enableScriptsToClip==2) s = 0;
            for (var i = 0; i < x ; i++) {
              j = i + s + 1;
              retValue = retValue + "\n" + j + ". " + xArray[i];
            }
            break;
        }
        return retValue;
      },
    
      createME:function(sTyp,sLabel,sCommand,sClass,sId) {
        // Anlegen von menuitem, menu oder menupop - fuer bestimmte Typen nicht eingesetzte Parameter werden als 0 uebergeben
        const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
        var m = document.createElementNS(XUL_NS, sTyp);
        switch (sTyp) {
          case "menuitem":
            // this.createME("menuitem","Label des Items","ZuzuweisenderCodeFueroncommand","GewuenschteKlasseDesItems",0)
            m.setAttribute('label', sLabel);
            m.setAttribute('class',sClass);
    		m.addEventListener('command', function(event) {
    			Function("return " + sCommand)();
    		}, true);
    		
            break;
          case "menu":
            // this.createME("menu","Label des Menues",0,0,"GewuenschteIdDesMenues")
            m.setAttribute('label', sLabel);
            m.setAttribute('id', sId);
            break;
          case "menupopup":
            //this.createME("menupopup",0,0,0,"GewuenschteIdDesMenupopups");
            m.setAttribute('id', sId);
            break;
        }
        return m;
      },
    
      openAtGithub:function(e,sScript) {
        if (e.button==1){
          // Mittelklick - Seite auf GitHub oeffnen (funktioniert nur, wenn Ordner- und bereinigter Dateiname [ohne Erweiterung] uebereinstimmen):
          var sUrl = "https://github.com/ardiman/userChrome.js/tree/master/"+this.cleanFileName(sScript);
          openWebLinkIn(sUrl, 'tab');
        }
        if (e.button==2){
          // Rechtsklick - Suche auf GitHub starten (funktioniert nur, wenn der Dateiname im Code hinterlegt ist):
          e.preventDefault();
          var sUrl = "https://github.com/search?langOverride=&language=&q="+sScript+"&repo=&start_value=1&type=Code";
          openWebLinkIn(sUrl, 'tab');
        }
      },
    
      cleanFileName:function(sName) {
        sName = sName.toLowerCase();
        /* Das folgende Array enthaelt regulaere Ausdruecke, um ungueltige Zeichenfolgen entfernen:
        /Datei-Erweiterungen am Ende/, /"ucjs_" am Anfang/, /"_"gefolgtVonZahlUndDanachBeliebigenZeichen/
        / "_fx"gefolgtVonZahl(en)/, /"-" oder "+" oder "."/, /"_v"gefolgtVonZahlen
        */
        var regs = [/\.uc\.js$/,/\.uc\.xul$/,/^ucjs_/,/_\d.+/,/_fx\d+/,/[-+\.]/g,/_v\d+/];
        for (var i = 0; i < regs.length; i++) {
          sName = sName.replace(regs[i],"");
        }
        return sName;
      }
    
    };
    
    uProfMenu.init();
    Alles anzeigen

    Keine CSS-Ordner aufgerufen.
    Was muss angepasst werden?

  • Seit Firefox 152.0 keine Funktion der Lesezeichen Symbolleiste

    • BarbaraZ-
    • 17. Juni 2026 um 18:02

    Ja, denkste. Ich kann zwar jetzt wieder meine Css und uc.js aufrufen aber erstartet meine Tabs nicht. Ist also irgenwo noch der Wurm drin.

  • Seit Firefox 152.0 keine Funktion der Lesezeichen Symbolleiste

    • BarbaraZ-
    • 17. Juni 2026 um 17:59

    Ich habe mich mal gleich angehängt.

    Danke für den Hinweis auf Beitrag #6. Nun ist alles wieder schick, wie es so schön heißt.

  • Windows und KB5089573 Secure Boot

    • BarbaraZ-
    • 6. Juni 2026 um 06:47

    Moin, dieses Update wurde bei mir auch am 28.05.26 installiert. Alles ohne Probleme.

  • Doppelter Tab nach Update

    • BarbaraZ-
    • 3. Juni 2026 um 17:13

    Was mir dabei aufgefallen ist, dass mit den Tabs wurde ja ziemlich aufgebohrt. Für mich ein wenig zu viel, denn ich nutze es so gut wie gar nicht. Tabs ganz oben und fertig.

  • Doppelter Tab nach Update

    • BarbaraZ-
    • 3. Juni 2026 um 17:09

    Hallo Andreas, ich weis gar nicht, wie ich Tabs anpinnen kann. Habe ich bewusst noch nicht probiert.

    Durch Deinen Hinweis habe ich aber die Option gefunden: Tab ablösen. Damit ist es erledigt. Danke

Unterstütze uns!

Jährlich (2026)

76,1 %

76,1% (589,79 von 775 EUR)

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