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

Beiträge von Mitleser

  • extensionsUpdateChecker.uc.js no longer works

    • Mitleser
    • 9. Juni 2026 um 20:58

    Hallo FuchsFan , wenn dass das offizielle update ist, könntest Du das bitte mal verlinken? Ansonsten hätte ich gern die Quelle/Source als Link (wenn möglich).

    Hier ein funktionierender Button:

    JavaScript
    // JavaScript Document
    // B_AddonsUpdate.uc.js
    
    // Das Script erstellt einen Button, der die AddOns updatet. Das .svg-Icon kann - je nach Hover-Zustand - mit zwei unterschiedlichen Farben gefüllt werden [fill].
    
    
    (function() {
      if (!window.gBrowser)
    	return;
    const
    // ■■ START UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
             id = 'addons-update-button', // Id des Buttons
          label = 'Add-ons Update', // Bezeichnung des Buttons
    tooltiptext = 'Add-ons aktualisieren',
    // Icon-------------------------------------------------------
           icon = '16synchronization-13_moz.svg',  // [Name.Dateiendung] des Symbols
       iconPath = '/chrome/icons/', // Pfad zum Ordner der das Icon enthält
      iconColOu = 'currentColor',  // Farbe des Icons (nur .svg-Datei mit [moz-context-properties], bei anderen Icons hat const iconColOu keine Funktion)
      iconColOv = 'yellow',  // Farbe des Icons beim Überfahren des Buttons (nur .svg-Datei mit [moz-context-properties], bei anderen Icons hat const iconColOv keine Funktion)
    // ■■ END UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
     curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir));
    
    	if (Services.prefs.getBoolPref('svg.context-properties.content.enabled') == false) {
    		Services.prefs.setBoolPref('svg.context-properties.content.enabled', true );
    	}
    //BUTTON
    try {
    	CustomizableUI.createWidget({
    		id: id,
    		defaultArea: CustomizableUI.AREA_NAVBAR,
    		label: label,
    		tooltiptext: tooltiptext,
    
    		onCreated: (button) => {
    			button.style.MozContextProperties = 'fill, stroke, fill-opacity, stroke-opacity';
    			button.style.listStyleImage = 'url("' + curProfDir + iconPath + icon + '")';
    			button.style.fill = iconColOu;
    			button.style.minWidth = 'fit-content';
    		}
    	});
    } catch(e) {};
    
    const button = document.getElementById(id);
    //over
    button.addEventListener('mouseover', () => {
    		button.style.fill = iconColOv;
    });
    //out
    button.addEventListener('mouseout', () => {
    		button.style.fill = iconColOu;
    });
    //contextmenu
    button.addEventListener('contextmenu', e => {
    	if (event.button === 2) {
    			e.preventDefault();
    	}
    });
    //click
    button.addEventListener('click', () => {
    	if (event.button == 0) {
    			update();
    	}
    });
    
    //----
    function update () {
          let targetUpdateMessage=null;
          let categories=null;
    
          openTrustedLinkIn('about:addons', 'tab');
    
          addEventListener('pageshow', function onPageshow(event) {
            let document = event.target;
            if (document.URL != 'about:addons')
                return;
            removeEventListener('pageshow', onPageshow);
    
            categories = document.getElementById('categories');
            targetUpdateMessage = document.querySelector('#page-header .main-heading #updates-message');
    
            const configObserver = { attributes: true };
            const observerUpdateMessage = new MutationObserver(callback);
    
            observerUpdateMessage.observe(targetUpdateMessage, configObserver);
    
            document.querySelector('addon-page-options panel-item[action="check-for-updates"]').click();
         });
    
    
         const callback = (mutationList, observer) => {
            for (const mutation of mutationList) {
                if (mutation.type === 'attributes') {
    
                    message = targetUpdateMessage.getAttribute('state');
    
                    if( message == "manual-updates-found" )    {
                        setTimeout(function() {
                            gBrowser.selectedTab.linkedBrowser.reload();
                        }, 1000);
                        categories.querySelector('button[viewid="addons://updates/available"]').click();
                        return;
                       }
                     else if( message == "none-found" )
                     {
                        return;
                     }
                     else if( message == "installed" )
                     {
                         document.querySelector('addon-page-options panel-item[action="view-recent-updates"]').click();
                         setTimeout(function() {
                            categories.querySelector('button[viewid="addons://updates/recent"]').click();
                         }, 1000);
                          return;
                     }
                  }
               }
            }
    };
    
    })();
    Alles anzeigen

    Dateien

    16synchronization-13_moz.svg 1,22 kB – 3 Downloads
  • Was hört Ihr gerade?

    • Mitleser
    • 8. Juni 2026 um 23:03

    Ein Weg mental mit Internet-Trollen umzugehen...

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • JavaScript ist aktiviert, soll aber aktiviert werden

    • Mitleser
    • 7. Juni 2026 um 00:13

    Hallo Mira_Belle ,

    Zitat von Mira_Belle

    Mach doch bitte mal ein paar Vorschläge, denn ich habe auch so meine Probleme für mich das passende "Linux" zu finden.
    Nett wäre es, wenn das "Linux" sich an W7 orientieren würde.

    mir hat es geholfen das Linux meiner Wahl erst einmal per bootable Stick auszubrobieren; habe Mint Cinnamon (LTS) dann tatsächlich vom Stick installiert, allerdings habe ich auch das alte Windows behalten und kann immernoch (2026) per bootloader 'grub2' auf Win 7 zugreifen.
    In der ersten Zeit war das hilfreich auf Win 7 wegen der darauf befindlichen Software, Word-Vorlagen usw. zugreifen zu können, heute ist das einfach nur Ballast.

    Bei der Installation von Mint wirst du gefragt ob du das vorhandene BS behalten möchtest, wenn ja wird der bootloader 'Grub2' installiert und du kannst später im Bootvorgang per ESC-Taste das Win-System anstatt des Linux-Systems starten (Dualboot).

    Download Linux Mint 22.3 - Linux Mint
    Linux Mint Installation Guide — Linux Mint Installation Guide documentation
    Create the bootable media — Linux Mint Installation Guide documentation

  • JavaScript ist aktiviert, soll aber aktiviert werden

    • Mitleser
    • 4. Juni 2026 um 23:49

    Hallo Jack D., unter Umständen könntest Du auch mit dem Gedanken spielen ohne Neuanschaffung eines Rechners in Zukunft einfach Deinen scheinbar veralteten vorhandenen Rechner mit einem alternativen Betriebssystem (z.B. Linux) auszustatten (Diese Lsg. benötigt natürlich Gehirnschmalz, Arbeit, ist aber kostenlos und funktioniert). Das könntest Du sofort machen, oder ...

  • Was hört Ihr gerade?

    • Mitleser
    • 24. Mai 2026 um 03:05

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • v152.0beta1. Script "toolbar_top_with_toggle_button-Mod.uc.js" funktioniert nicht mehr richtig.

    • Mitleser
    • 22. Mai 2026 um 18:06

    Hallo lenny2 , in 152 wird aus --toolbarbutton-inner-padding --toolbarbutton-padding-inner. Ebenso verhält es sich mit --toolbarbutton-padding-outer. So musste ich z.B. dies ändern um die Buttongröße wieder anzupassen:

    CSS
    /*■■■■■■■151■■■■■■*/
    #nav-bar {
    	--toolbarbutton-inner-padding: 6px !important;
     	--toolbarbutton-outer-padding: 0px !important;
    }
    /*■■■■■■■152■■■■■■*/
    #nav-bar {
    	--toolbarbutton-padding-inner: 6px !important;
    	--toolbarbutton-padding-outer: 0 !important;
    }
  • Firefoxview Button Strich rechts daneben entfernen

    • Mitleser
    • 17. Mai 2026 um 18:24

    Ich nutze dies (aber ob das bei dir funzt??):

    CSS
    /*151 Trennlinie tab*/
     #tabbrowser-tabs[orient="horizontal"]::before {
        border-inline-start: none !important;
        padding-inline-start: 0px !important;
        margin-inline-start: 0px !important;
    }
  • Button um das Nova-Design in 'about:config' ein/aus zu blenden sowie Button um die neue Sidebar in 'about:config ' ein/aus zu blenden

    • Mitleser
    • 16. Mai 2026 um 22:22

    Auch dieses Script könnte für Tester der Nightly 152.0a1 nützlich sein; es erstellt einen Button der die 'Neue Sidebar' ein/aus -schaltet:
    (EDIT: stand 16.05 funktionieren die 'Neue' sowie die 'Alte (mit hover-css)' 'noch?' gleichzeitig/parallel)

    JavaScript
    // JavaScript Document
    // B_UserPrefSidebarRevamp.uc.js
    // Firefox Nightly 152.0a1
    
    // Quelle: https://www...
    
    // Das Script erstellt einen Button, der in about:config boolsche Werte ändert. In der UserConfiguration unter 'const boolPref' kann die zu ändernde Einstellung (hier: sidebar.revamp) festgelegt werden. Das icon/label/tooltiptext kann in der UserConfiguration dem jeweiligen Zustand angepasst werden (true/false).
    
    // Der Button schaltet die neue Sidebar ein/aus. Eine Änderung des Wertes benötigt keinen Neustart des Browsers.
    
    (function() {
      if (!window.gBrowser)
    	return;
    const
    // ■■ START UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
              id = 'UserPref-Sr-button', // Id des Buttons
        boolPref = 'sidebar.revamp', // Einstellung in about:config deren boolesche Variable geschaltet werden soll
          labelT = 'Neue Sidebar aktiviert', // Bezeichnung des Buttons bei boolPref=true
          labelF = 'Neue Sidebar deaktiviert', // Bezeichnung des Buttons bei boolPref=false
    tooltiptextT = 'Neue Sidebar anzeigen\n[true=>Standardeinstellung]',
    tooltiptextF = 'Neue Sidebar nicht anzeigen\n[false=>Benutzereinstellung]',
    // Icon-------------------------------------------------------
           iconT = '16-control-panel-20_moz.svg',  // [Name.Dateiendung] des Symbols für boolPref=true
           iconF = '16-control-panel-18_moz.svg',  // [Name.Dateiendung] des Symbols für boolPref=false
         bgImage = 'blue', //'transparent' // Farbe des Indikators (zur Unterscheidung mehrerer UserPref-buttons;)
        iconPath = '/chrome/icons/', // Pfad zum Ordner der das Icon enthält
      iconColorT = 'forestgreen',  // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für die Standardeinstellung, bei anderen Icons hat const iconColorT keine Funktion)
      iconColorF = 'firebrick',  // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für die geänderte Usereinstellung, bei anderen Icons hat const iconColorF keine Funktion)
    // ■■ END UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
      curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir));
    
    	if (Services.prefs.getBoolPref('svg.context-properties.content.enabled') == false) {
    		Services.prefs.setBoolPref('svg.context-properties.content.enabled', true );
    	}
    //BUTTON
    try {
    	CustomizableUI.createWidget({
    		id: id,
    		defaultArea: CustomizableUI.AREA_NAVBAR,
    
    		onCreated: (button) => {
    			button.style.MozContextProperties = 'fill, stroke, fill-opacity, stroke-opacity';
    			button.style.minWidth = 'fit-content';
    	//bgImage
    			button.style = 'background-image:linear-gradient('+bgImage+','+bgImage+'); background-repeat: no-repeat; background-size: 4px 4px; background-position: left 2px top calc(50% - 8px);';
    		}
    	});
    } catch(e) {};
    
    setTimeout(() => {
    const button = document.getElementById(id);
    //start
    if (Services.prefs.getBoolPref(boolPref) == false ) {
    		button.style.fill = iconColorF;
    		button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconF + '")';
    		button.style.fontStyle = 'italic';
        	button.setAttribute('label', labelF);
        	button.setAttribute('tooltiptext', tooltiptextF);
    }
    else
    if (Services.prefs.getBoolPref(boolPref) == true ) {
    		button.style.fill = iconColorT;
    		button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconT + '")';
    		button.style.fontStyle = 'normal';
        	button.setAttribute('label', labelT);
        	button.setAttribute('tooltiptext', tooltiptextT);
    }
    //contextmenu
    button.addEventListener('contextmenu', e => {
    	if (event.button === 2) {
    			e.preventDefault();
    	}
    });
    //click
    button.addEventListener('click', () => {
    if (event.button === 0) {
    	if (Services.prefs.getBoolPref(boolPref) == false ) {
    		Services.prefs.setBoolPref(boolPref, true);
    		button.style.fill = iconColorT;
    		button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconT + '")';
    		button.style.fontStyle = 'normal';
        	button.setAttribute('label', labelT);
        	button.setAttribute('tooltiptext', tooltiptextT);
    	}
    	else
    	if (Services.prefs.getBoolPref(boolPref) == true ) {
    		Services.prefs.setBoolPref(boolPref, false);
    
    		button.style.fill = iconColorF;
    		button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconF + '")';
    		button.style.fontStyle = 'italic';
        	button.setAttribute('label', labelF);
        	button.setAttribute('tooltiptext', tooltiptextF);
    	}
    }
    });
    
    }, 10);
    
    })();
    Alles anzeigen

    Die Icons/Iconpfade sind identisch

    Screen:

    Es gibt viel zu tun: Packen wir es an!

  • Button um das Nova-Design in 'about:config' ein/aus zu blenden sowie Button um die neue Sidebar in 'about:config ' ein/aus zu blenden

    • Mitleser
    • 14. Mai 2026 um 23:02

    Dieses Script könnte für Tester der Nightly 152.0a1 nützlich sein; es erstellt einen Button der das 'Nova-Design' ein/aus -schaltet:

    JavaScript
    // JavaScript Document
    // B_UserPrefNovaEnabled.uc.js
    // Firefox Nightly 152.0a1
    
    // Quelle: https://www...
    
    // Das Script erstellt einen Button, der in about:config boolsche Werte ändert. In der UserConfiguration unter 'const boolPref' kann die zu ändernde Einstellung (hier: browser.nova.enabled) festgelegt werden. Das icon/label/tooltiptext kann in der UserConfiguration dem jeweiligen Zustand angepasst werden (true/false).
    
    // Der Button blendet das neue Design 'Nova' ein/aus. Eine Änderung des Wertes benötigt keinen Neustart des Browsers.
    
    (function() {
      if (!window.gBrowser)
    	return;
    const
    // ■■ START UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
              id = 'UserPref-bNE-button', // Id des Buttons
        boolPref = 'browser.nova.enabled', // Einstellung in about:config deren boolesche Variable geschaltet werden soll
          labelT = '"browser.nova.enabled" aktiviert', // Bezeichnung des Buttons bei boolPref=true
          labelF = '"browser.nova.enabled" deaktiviert', // Bezeichnung des Buttons bei boolPref=false
    tooltiptextT = '"browser.nova.enabled" aktiviert\n[true=>Benutzereinstellung]',
    tooltiptextF = '"browser.nova.enabled" deaktiviert\n[false=>Standardeinstellung]',
    // Icon-------------------------------------------------------
           iconT = '16-control-panel-20_moz.svg',  // [Name.Dateiendung] des Symbols für boolPref=true
           iconF = '16-control-panel-18_moz.svg',  // [Name.Dateiendung] des Symbols für boolPref=false
         bgImage = 'darkorange', //'transparent' // Farbe des Indikators (zur Unterscheidung mehrerer UserPref-buttons;)
        iconPath = '/chrome/icons/', // Pfad zum Ordner der das Icon enthält
      iconColorT = 'forestgreen',  // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für die Standardeinstellung, bei anderen Icons hat const iconColorT keine Funktion)
      iconColorF = 'firebrick',  // Farbe des Icons (nur .svg-Datei mit [moz-context-properties] für die geänderte Usereinstellung, bei anderen Icons hat const iconColorF keine Funktion)
    // ■■ END UserConfiguration ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
      curProfDir = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir));
    
    	if (Services.prefs.getBoolPref('svg.context-properties.content.enabled') == false) {
    		Services.prefs.setBoolPref('svg.context-properties.content.enabled', true );
    	}
    //BUTTON
    try {
    	CustomizableUI.createWidget({
    		id: id,
    		defaultArea: CustomizableUI.AREA_NAVBAR,
    
    		onCreated: (button) => {
    			button.style.MozContextProperties = 'fill, stroke, fill-opacity, stroke-opacity';
    			button.style.minWidth = 'fit-content';
    	//bgImage
    			button.style = 'background-image:linear-gradient('+bgImage+','+bgImage+'); background-repeat: no-repeat; background-size: 4px 4px; background-position: left 2px top calc(50% - 8px);';
    		}
    	});
    } catch(e) {};
    
    setTimeout(() => {
    const button = document.getElementById(id);
    //start
    if (Services.prefs.getBoolPref(boolPref) == false ) {
    		button.style.fill = iconColorF;
    		button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconF + '")';
    		button.style.fontStyle = 'normal';
        	button.setAttribute('label', labelF);
        	button.setAttribute('tooltiptext', tooltiptextF);
    }
    else
    if (Services.prefs.getBoolPref(boolPref) == true ) {
    		button.style.fill = iconColorT;
    		button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconT + '")';
    		button.style.fontStyle = 'italic';
        	button.setAttribute('label', labelT);
        	button.setAttribute('tooltiptext', tooltiptextT);
    }
    //contextmenu
    button.addEventListener('contextmenu', e => {
    	if (event.button === 2) {
    			e.preventDefault();
    	}
    });
    //click
    button.addEventListener('click', () => {
    if (event.button === 0) {
    	if (Services.prefs.getBoolPref(boolPref) == false ) {
    		Services.prefs.setBoolPref(boolPref, true);
    		button.style.fill = iconColorT;
    		button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconT + '")';
    		button.style.fontStyle = 'italic';
        	button.setAttribute('label', labelT);
        	button.setAttribute('tooltiptext', tooltiptextT);
    	}
    	else
    	if (Services.prefs.getBoolPref(boolPref) == true ) {
    		Services.prefs.setBoolPref(boolPref, false);
    
    		button.style.fill = iconColorF;
    		button.style.listStyleImage = 'url("' + curProfDir + iconPath + iconF + '")';
    		button.style.fontStyle = 'normal';
        	button.setAttribute('label', labelF);
        	button.setAttribute('tooltiptext', tooltiptextF);
    	}
    }
    });
    
    }, 10);
    
    })();
    Alles anzeigen

    Dateien

    icons.zip 1,13 kB – 26 Downloads
  • Was hört Ihr gerade?

    • Mitleser
    • 14. Mai 2026 um 21:04

    We Love Udo

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • Was hört Ihr gerade?

    • Mitleser
    • 18. April 2026 um 03:09

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne deine Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklärst du dich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

  • Probleme bei Firefox 149

    • Mitleser
    • 31. März 2026 um 22:09
    Zitat von Horstmann

    im Submenü mit Immer anzeigen etc. sind alle Einträge Radios.

    Das hatte ich mir schon gedacht. Im den Screens 1+2 sind aber Symbole für Checkboxen (content: "\2713"; /* a checkmark */) dargestellt.

    Naja, in Linux eben nicht da sind Radios Radios und Checkboxen Checkboxen, so wie es im Quellcode steht. Deshalb die Verwirrung.

    Aber warum ist deine Darstellung (Screen 3+4) der Radiob. so angelehnt an die Checkb.? Radiob. auch im Zusammenhang mit Websitecontent/about:preferences könnten dort sinnvoller sein. So aber jetzt stelle ich die Menüleiste endgültig auf display:none;:)!

  • Probleme bei Firefox 149

    • Mitleser
    • 31. März 2026 um 20:38
    Zitat von Horstmann

    Ah, jetzt macht das Sinn;

    Welche Symbole zeigt denn der Mac an diesen Menüpunkten? Nichts/nur Checkboxen? Aber jetzt verstehe ich auch dein "gleichmachendes" css aus Beitrag #35.
    Ich betrachte allerdings die Menüleiste als Teil des Browsers und dort wird ja auch zwischen den Check/Radiobuttons unterschieden. Jedenfalls auf Linux:

    Menüleiste eingeblendet bei offenem Einstellungstab ist dann doch verwirrend, wenn in der Ml. nur Checkboxen zu sehen sind.
    Aber das ist schon kleinlich...So und nun blende ich sie wieder aus..

  • Probleme bei Firefox 149

    • Mitleser
    • 31. März 2026 um 19:16
    Zitat von Sören Hentzschel

    Ohje. „Form follows function” erinnert in gewisser Hinsicht an „Never change a running system” –

    Der Ausdruck Form follows function (englisch für: ‚Form folgt Funktion‘, im Deutschen oftmals auch als vollständiger Satz „Die Form folgt der Funktion“ gebraucht) (FFF) ist ein Designleitsatz insbesondere aus dem Produktdesign und der Architektur. Die Gestalt (äußere Form) von Gegenständen soll sich dabei aus ihrer Funktion oder ggf. ihrem Zweck ableiten; im Gegenzug kann man nach Abschluss der Formgebung aus der Form des designten Gegenstands gegebenenfalls auf dessen Funktion bzw. Zweck rückschließen.

    [Wikipedia]

    Zitat von Sören Hentzschel

    Aber im Design der Menüleiste von Firefox wird ganz bewusst auf einen Unterschied verzichtet.

    Linux fügt hier die Systemsymbole hinzu:

    Aber scheinbar habe ich das lediglich falsch verstanden. Im Sidebar-Untermenü verwirrt mich die Darstellung schon ein wenig.

  • Probleme bei Firefox 149

    • Mitleser
    • 31. März 2026 um 18:16
    Zitat von Horstmann

    , aber wo ist der Funktionsaspekt, bzw. der funktionale Unterschied zw. checkbox und radio

    Es besteht ein grundlegender Unterschied zwischen ihnen. In einer Checkbox-Gruppe kann ein Benutzer mehrere Optionen auswählen. Jede Checkbox funktioniert einzeln, sodass der Benutzer jede Antwort einzeln aktivieren oder deaktivieren kann. Optionsfelder hingegen funktionieren als Gruppe und bieten sich gegenseitig ausschließende Auswahlmöglichkeiten.
    Wobei die Darstellung Menüleiste > Ansicht > Sidebar als Checkboxen dann nicht richtig wäre, die unter Webseiten-Stil als Radiobuttons aber schon...

    Im Quellcode: type="checkbox"

    Im Quellcode: type="radio"

  • Probleme bei Firefox 149

    • Mitleser
    • 31. März 2026 um 14:22
    Zitat von Horstmann

    Was Checkboxen und Radiobuttons angeht, gibt es einen Grund sie generell separat zu behandeln, was das Design angeht?

    Designregel Nr. 1: Form follows function...

  • Probleme bei Firefox 149

    • Mitleser
    • 31. März 2026 um 11:41
    Zitat von Horstmann

    gibt es auch noch type radio, s. Bild von einem Leisten Kontextmenü.

    Dein Code mit ein paar Anpassungen, mit Fx Icons zum Testen

    Checkboxen und Radiobuttons würde ich nicht gleichsetzen wollen, denn sie haben ja jeweils eine spezielle Funktion:
    Ups, ein Link mit http:// (ob das wohl gutgeht...)
    Aber selbstverständlich ist der Quellcode verbesserungswürdig. Habe ich einfach stumpf rauskopiert, muss aus einer Zeit stammen als ich fill noch nicht auf dem Zettel hatte, is gab es bestimmt noch garnicht. Abgesehen davon würde ich Icons immer lokal speichern. Aber das ist ein anderes Thema...

  • Probleme bei Firefox 149

    • Mitleser
    • 30. März 2026 um 22:42

    Bei mir sieht das so aus; ich denke ich habe (fast) alle checkboxen abgedeckt:

    CSS
    menupopup > menuitem[type="checkbox"] > img.menu-icon,
    menupopup > menuitem[type="checkbox"][checked="false"] > img,
    menupopup > menuitem[type="checkbox"][checked="true"] > img {
    	display: none !important;
    }
    menupopup > menuitem[type="checkbox"][checked]::before,
    menupopup > menuitem[type="checkbox"][checked="true"]::before {
    	content: '' !important;
    	display: block !important;
    	width: 16px !important;
    	height: 16px !important;
    	margin-left: 0px !important;
    	margin-right: 4px !important;
    	background-image: url("../icons/16_checkmark-checked_neongreen.svg") !important;
    	background-repeat: no-repeat !important;
    	background-size: 16px 16px !important;
    	background-position: center !important;
    }
    menupopup > menuitem[type="checkbox"][checked]:hover::before,
    menupopup > menuitem[type="checkbox"][checked="true"]:hover::before{
    	background-image: url("../icons/16_checkmark-unchecked_white.svg") !important;
    }
    menupopup > menuitem[type="checkbox"]::before,
    menupopup > menuitem[type="checkbox"][checked="false"]::before {
    	content: '' !important;
    	display: block !important;
    	width: 16px !important;
    	height: 16px !important;
    	margin-left: 0px !important;
    	margin-right: 4px !important;
    	background-image: url("../icons/16_checkmark-unchecked_redorange.svg") !important;
    	background-repeat: no-repeat !important;
    	background-size: 16px 16px !important;
    	background-position: center !important;
    }
    menupopup > menuitem[type="checkbox"]:hover::before,
    menupopup > menuitem[type="checkbox"][checked="false"]:hover::before {
    	background-image: url("../icons/16_checkmark-checked_white.svg") !important;
    }
    Alles anzeigen

    Dateien

    icons.zip 7,56 kB – 65 Downloads
  • Ein Script, "QuickLinkButton-about-about.uc.js", habe ich noch.

    • Mitleser
    • 28. März 2026 um 20:32

    FuchsFan , genau das meinte ich; keine Ahnung von javascript und dann auch noch aggressiv mit der Wahrheit umgehen. Ob das Thema erledigt ist, ist nicht Deine Entscheidung!

  • Ein Script, "QuickLinkButton-about-about.uc.js", habe ich noch.

    • Mitleser
    • 28. März 2026 um 19:46
    Zitat von Horstmann

    der untere function Block ist KI, und max. 5 Minuten lang getestet, genau wie vermutlich die erste Version, korrekt?

    Ja, das ist wohl die Zukunft, aber das man solche unqualifizierte Lösungen auch noch verbreitet/veröffentlicht und dann auch noch stolz darauf ist eine KI bedienen zu können...Schöne neue Welt..

    Und wo ist eigentlich der obligatorische Hinweis auf eine KI im Quellcode?

    Um dem Problem des Ki-Mißbrauchs etwas entgegensetzen ist eigentlich die Community gefragt (wie Du es gerade gemacht hast) .

Unterstütze uns!

Jährlich (2026)

51,8 %

51,8% (401,55 von 775 EUR)

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