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

Beiträge von FuchsFan

  • Buttons funktionieren nur im/ für das erste Fenster

    • FuchsFan
    • 10. Mai 2025 um 09:44
    Zitat von Mira_Belle

    oder soll ich sie schon ungefixt hier "vorstellen"?

    Besser sie sind fertig nutzbar.;):)

  • Buttons funktionieren nur im/ für das erste Fenster

    • FuchsFan
    • 10. Mai 2025 um 09:29
    Zitat von Mira_Belle

    Für das Skript hier ein Ersatz.

    Ich danke dir, aber wie müsste der Ablauf z.B. für about:about, oder auch Konsole aussehen, bekomme es nicht gebacken.


    Zitat von Mira_Belle

    Ich meine, dass darüber im Forum schon "gesprochen" wurde.

    Ja, das schon, aber ich war immer der Meinung, dass meine Scripte funktionieren, leider nicht.

  • Buttons funktionieren nur im/ für das erste Fenster

    • FuchsFan
    • 9. Mai 2025 um 21:43
    Zitat von Horstmann

    Nicht bei mir

    Stimmt, das habe ich nicht in der richtigen Reihenfolge gemacht.:rolleyes:

    Dann habe ich dieses noch, ist im Aufbau fast deinem ähnlich. Kannst ja mal probieren.

    JavaScript
     //  Button zum Aufruf des Profil-Ordners
      
      (function() {
    	  
    	  if (location.href !== 'chrome://browser/content/browser.xhtml') return;
    	
    	try {
    		ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs");
    		const sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
    		
    		const button_label = "Profil Button (generic)";
            const open_in_a_window = false; 
    		
    		CustomizableUI.createWidget({
    			id: 'Profil-Button',
    			defaultArea: CustomizableUI.AREA_NAVBAR,
    			removable: true,
    	        label: button_label, 
    	        tooltiptext: button_label, 
    	        onClick: function(event) {
    		
    			    const win = Components.classes["@mozilla.org/appshell/window-mediator;1"]
    		           .getService(Components.interfaces.nsIWindowMediator)
    		           .getMostRecentWindow("navigator:browser");
    		
                    if(event.button=='0') {
    		          try {
    		  
    		            if(open_in_a_window)
    		              window.open("ProfD");
    		              uProfMenu.prefDirOpen('ProfD');
    							  		  
    		} catch (e) {}
    	  }   
    	},
    	onCreated: function(button) {
    	  return button;
    	}
    		
      });
    					
    // style button icon
      const uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent('\
    	\
    	  #Profil-Button .toolbarbutton-icon {\
    		list-style-image: url("file:///C:/FoxIcons2/prof.png"); \
    	}\
    	\
      '), null, null);
      
      sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
      
    } catch (e) {
    	Components.utils.reportError(e);
    };
    
    })();					
    Alles anzeigen
  • Buttons funktionieren nur im/ für das erste Fenster

    • FuchsFan
    • 9. Mai 2025 um 18:34
    Zitat von Horstmann

    Die Lösung kommt von einem Amateur (mir), und könnte unvorhergesehene, aber von mir noch nicht beobachtete Probleme verursachen. :/

    Gute Lösung, meine ich als absoluter Amateur, deswegen habe ich, so gut ich konnte, meine Scripte nach dieser Vorlage aufgebaut. Einfach und verständlich, und kann auf alle möglichen Button umgeschrieben werden. Außerdem funktionstüchtig in allen Fenstern, und die Konsole ist auch zufrieden.

    JavaScript
    // ButtonProfilordner.uc.js
    // Öffnen des "Profilordners"
    
    (function() {
    	if (!window.gBrowser)
    		return;
    
    	CustomizableUI.createWidget({
    		id: 'buttonProfilOrdner',
    		defaultArea: CustomizableUI.AREA_NAVBAR,
    		label: 'Profilordner öffnen',
    		tooltiptext: 'Profilordner öffnen',
    
    		onCreated: (button) => {
    			button.style.listStyleImage = 'url("file:///C:/FoxIcons2/prof.png")';
    
    			button.addEventListener('click', () => {
    				if (event.button == 0) {
    					uProfMenu.prefDirOpen('ProfD');
    				}
    			})
    		}
    	});
    })();
    Alles anzeigen
  • Einige Skripte funktionieren seit ff 138 nicht mehr

    • FuchsFan
    • 6. Mai 2025 um 13:13
    Zitat von Mira_Belle

    Bitte um Tests und natürlich um Rückmeldung(en).

    Funktioniert!:thumbup:

  • Einige Skripte funktionieren seit ff 138 nicht mehr

    • FuchsFan
    • 6. Mai 2025 um 09:18

    lenny2

    Bestätigung, das Script funktioniert.

  • Selektor für kleinen Pfeil in CSS-Code zum extra-config-menü.uc.js ab v139

    • FuchsFan
    • 4. Mai 2025 um 14:00

    Hier noch ein Nachtrag. Zum Vergleich mal den Code für das Appmenu.uc.js, dort funktioniert es ohne Probleme, Selektoren fast identisch.

    CSS
    /*rechts der kleine Pfeil / neues Icon*/
    #AppMenuButton menupopup#AMpopup menu.menu-iconic::after {
      content: "" !important;
      background-image: url("..//icons/rechts6.png") !important;
      margin-right: 12px !important; 
      background-size: 18px 18px !important;
    }
    
    /*rechts der kleine Pfeil bei hover / neues Icon*/
    #AppMenuButton menupopup#AMpopup menu.menu-iconic:hover::after {
      content: "" !important;
      background-image: url("..//icons/down2.png") !important;
      margin-right: 12px !important; 
      display: block !important;
      background-repeat: no-repeat !important;
      background-position: 0px 3px !important;
      background-size: 14px 14px !important;
    }
    Alles anzeigen

  • Selektor für kleinen Pfeil in CSS-Code zum extra-config-menü.uc.js ab v139

    • FuchsFan
    • 4. Mai 2025 um 12:52
    Zitat von Horstmann

    Nochmal die Frage: an welchem Punkt ist das Problem aufgetreten?

    menu::after geht gar nicht

    #ExtraConfigMenu-popup :is(#submenu-ucjs,#submenu-css,#submenu-cssweb,#submenu-cssabout,#submenu-cssshadow,#submenu-about,#submenu-extra2,#submenu-extra):hover::after { funktioniert bestens

    #ExtraConfigMenu-popup [id^="submenu-"]:hover[open]::after {  funktioniert mit kl. Verzögerung

    Zitat von Horstmann

    Und ist das Problem das Hovern über dem Sub Popup, nachdem man die Maus aus dem ersten (Haupt) Popup herausbewegt schliesst sich der Sub ohne dort etwas anzuklicken?

    ....damit:

    #ExtraConfigMenu-popup [id^="submenu-"]:hover::after {

    Auf deinen Wunsch hin habe ich dieses nochmal aufgeführt. Dass es jetzt solche Ausmaße angenommen hat konnte ich nicht ahnen. Mir ist hier geholfen worden, dafür bedanke ich mich bei allen herzlichst. Ich habe zwei Selektoren die ich einsetzen kann, und bin damit zufrieden (wenn es denn so bleibt).

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

    • FuchsFan
    • 4. Mai 2025 um 09:53
    Zitat von Mira_Belle

    Test die Version von

    Ich glaube, Du bist da eine Zeile verrutscht.:/

  • Selektor für kleinen Pfeil in CSS-Code zum extra-config-menü.uc.js ab v139

    • FuchsFan
    • 4. Mai 2025 um 09:49
    Zitat von Horstmann

    Das kann aber eigentlich nichts mit diesem CSS zu tun haben, ist ja nur zum stylen der Pfeile.

    Das sehe ich auch so, aber so funktioniert es nun mal nicht. Einen weiteren Code gibt es nur für das Bereitstellen der Icons, ansonsten keine weiteren Anpassungen. Ich betone nochmals, der Code aus #1 funktioniert bis v138 ohne Probleme, deshalb kann es nur an Änderungen in den folgenden Versionen liegen.

  • Selektor für kleinen Pfeil in CSS-Code zum extra-config-menü.uc.js ab v139

    • FuchsFan
    • 3. Mai 2025 um 22:39
    Zitat von Horstmann

    Wenn du Laune hast, probier mal das hier, würd mich interessieren ob's a) geht und b) die Pause entfernt:

    Beide Codes funktionieren, Verzögerung ganz gering noch, ich sage dazu normal.:)

    Edit:

    Aber die Popups schließen sofort bei Berührung.:rolleyes:

  • Selektor für kleinen Pfeil in CSS-Code zum extra-config-menü.uc.js ab v139

    • FuchsFan
    • 3. Mai 2025 um 22:10
    Zitat von Horstmann

    eine kurze Verzögerung zwischen hover Status (keine Funktion) und dem Moment in dem ein Popup dann aufgeht

    Ja, ist mir sofort aufgefallen, aber ist ja nur ein Päuschen.

  • Selektor für kleinen Pfeil in CSS-Code zum extra-config-menü.uc.js ab v139

    • FuchsFan
    • 3. Mai 2025 um 20:40
    Zitat von Sören Hentzschel

    Das hat immer noch das überflüssige :is() mit drin. Kürzer:

    Danke, so funktioniert es auch. :)

  • Selektor für kleinen Pfeil in CSS-Code zum extra-config-menü.uc.js ab v139

    • FuchsFan
    • 3. Mai 2025 um 18:15
    Zitat von Horstmann

    Ein [open] könnte man noch irgendwo mit reinquetschen;

    Du quetscht nicht schlecht.:thumbup: Das ist es wohl gewesen, jetzt funktioniert es wie gewünscht, und zwar mit diesem String.

    #ExtraConfigMenu-popup :is([id^="submenu-"][open])::after {    

    Danke, hast du gut gemacht.

  • Selektor für kleinen Pfeil in CSS-Code zum extra-config-menü.uc.js ab v139

    • FuchsFan
    • 3. Mai 2025 um 09:45
    Zitat von Mitleser

    Ja stimmt! Bleibt die Frage ob es überhaupt funktioniert in Nightly?

    Leider war die Vorfreude umsonst.;(

    Bei Hover wird zwar das Icon angezeigt, das Submenü öffnet sich, aber sofern mit der Maus das Popup berührt wird verschwindet es . Da werde ich dann doch bei der Lösung von 2002Andreas bleiben. Oder gibt es dazu noch einen Lösungsvorschlag?

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

    • FuchsFan
    • 2. Mai 2025 um 22:22

    Da kann ich auch noch ein Script beisteuern, funktioniert in allen Fenstern, und ohne Fehler in der Konsole.

    JavaScript
    //  Button zum Aufruf des Profil-Ordners
      
      (function() {
    	  
    	  if (location.href !== 'chrome://browser/content/browser.xhtml') return;
    	
    	try {
    		ChromeUtils.importESModule("resource:///modules/CustomizableUI.sys.mjs");
    		const sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
    		
    		const button_label = "Profil Button (generic)";
            const open_in_a_window = false; 
    		
    		CustomizableUI.createWidget({
    			id: 'Profil-Button',
    			defaultArea: CustomizableUI.AREA_NAVBAR,
    			removable: true,
    	        label: button_label, 
    	        tooltiptext: button_label, 
    	        onClick: function(event) {
    		
    			    const win = Components.classes["@mozilla.org/appshell/window-mediator;1"]
    		           .getService(Components.interfaces.nsIWindowMediator)
    		           .getMostRecentWindow("navigator:browser");
    		
                    if(event.button=='0') {
    		          try {
    		  
    		            if(open_in_a_window)
    		              window.open("ProfD");
    		              uProfMenu.prefDirOpen('ProfD');
    							  		  
    		} catch (e) {}
    	  }   
    	},
    	onCreated: function(button) {
    	  return button;
    	}
    		
      });
    					
    // style button icon
      const uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent('\
    	\
    	  #Profil-Button .toolbarbutton-icon {\
    		list-style-image: url("file:///C:/FoxIcons2/prof.png"); \
    	}\
    	\
      '), null, null);
      
      sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET);
      
    } catch (e) {
    	Components.utils.reportError(e);
    };
    
    })();					
    Alles anzeigen
  • Selektor für kleinen Pfeil in CSS-Code zum extra-config-menü.uc.js ab v139

    • FuchsFan
    • 2. Mai 2025 um 22:04
    Zitat von Mitleser

    Geht das im Nightly? Als Kurzfassung?

    Super, das funktioniert in dieser Fassung perfekt. Die Schreibweise von Sören Hentzschel ist dann aber wohl die bessere Idee.

    Ich danke euch für diesen Ansatz. :thumbup::thumbup::)

  • Ganze Seite nach unten oder oben Scrollen

    • FuchsFan
    • 2. Mai 2025 um 18:06
    Zitat von 2002Andreas

    Oder nimm gleich passende Icons:

    Ja, das funktioniert dann wenigstens. Ich danke Dir!:thumbup::)

  • Ganze Seite nach unten oder oben Scrollen

    • FuchsFan
    • 2. Mai 2025 um 17:09
    Zitat von Mira_Belle

    Bekomme ich mal Deinen Code?

    Mira_Belle

    Sorry, habe ich jetzt erst gelesen. Das ist der Code für das Rechtsklick-Kontextmenü, so wie ich ihn verwende (für 139/140).

    CSS
    /*======= Rechtsklick-Kontextmenü =======*/
    
    /* AGENT_SHEET */
        @namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
        @-moz-document url(chrome://browser/content/browser.xhtml){
            
        /*==== zusätzliche Anpassungen Rechtsklick-Kontextmenü ====*/
        
    /* Breite des Popup-Menüs begrenzt */    
    #mainPopupSet menupopup#contentAreaContextMenu{
        max-width: 345px !important;
        min-width: 345px !important;
    }    
    
    /* obere Box mit den Icons */
    #context-navigation {
    	appearance: none !important;
        background: #99ccff !important; 
        padding: 8px !important; 
        margin-bottom: 3px !important; 
        min-height: 50px !important; 
        max-height: 50px !important;
        max-width: 320px !important;
    	box-shadow: inset 0.05em 0.05em 0.3em 0.3em #009926 !important;
    }
    
    /* Button mit den Icons */
    #context-navigation menuitem.menuitem-iconic {
    	background-color: transparent /* #fae7b5 */ !important;
        border: 1px solid royalblue !important;
    	max-width: 47px !important;
        min-width: 47px !important;
    	min-height: 35px !important; 
        max-height: 35px !important;
    	padding-left: 4px !important;
    	margin-left: 3px !important;
        margin-top: 0px !important;
    }
    
    /* die aktiven Button oben im Kontextmenü bei hover */
    #context-navigation > .menuitem-iconic:not([disabled]):hover{
        background-color: #d2f2f8 !important;
        border: 1px solid brown !important;
    }
    
    /* die inaktiven Button oben im Kontextmenü bei hover */
    #context-navigation > .menuitem-iconic[disabled]:hover{
        background-color: #ababab !important;
    }
    
    /* die inaktiven (kleinen) Button oben im Kontextmenü ausgeblendet */
    #context-navigation > .menuitem-iconic[disabled] > hbox > image {
        background-color: transparent  !important;
    }
    
    /* die aktiven (kleinen) Button oben im Kontextmenü ausgeblendet */
    #context-navigation > .menuitem-iconic:not([disabled]) > hbox > image {
    	background-color: transparent !important;
    }   
    
    
    /*  Vor, Zurück, Stop, Neuladen und Lesezeichen farbig */    
    #context-back.menuitem-iconic image.menu-icon {  
    	fill: blue !important;
    	margin-left: 4px !important;
    }
    #context-back:hover.menuitem-iconic image.menu-icon {  
    	fill: red !important;
    }
    
    #context-forward.menuitem-iconic image.menu-icon{
    	fill: #268e00 !important;
    }
    #context-forward:hover.menuitem-iconic image.menu-icon{
    	fill: red !important;
    }
    
    /* gehören zum Script SkipToTopAndBottom.uc.js */
    #context-to-top.menuitem-iconic image.menu-icon{
    	margin-right: 0px !important;
    }
    #context-to-bottom.menuitem-iconic image.menu-icon{
    	margin-right: 0px !important;
    }
    
    #context-reload.menuitem-iconic image.menu-icon{
    	fill: forestgreen !important;
    }
    #context-reload:hover.menuitem-iconic image.menu-icon{
    	fill: red !important;
    }
    
    #context-stop.menuitem-iconic image.menu-icon{
    	fill: red !important;
    }
    #context-stop:hover.menuitem-iconic image.menu-icon{
    	fill: #cd0000 !important;
    }
    
    #context-bookmarkpage.menuitem-iconic image.menu-icon{
    	fill: #ff5f25 !important;
    	margin-right: 4px !important;
    }
    #context-bookmarkpage:hover.menuitem-iconic image.menu-icon{
    	fill: brown !important;
    } 
    }
    
    /* =========================== */
    /*  Skip To Top & Bottom Icons */
    /*  Einheitliche Icon-Größe    */
    /* =========================== */
    
    #context-navigation {
      > .menuitem-iconic {
            /* Gemeinsame Icon-Größe */
        > .menu-icon {
            width: 34px !important;
            height: 34px !important;
            max-width: 34px !important;
            max-height: 34px !important;
            background-size: contain !important; /* für perfekte Skalierung */
            object-fit: contain !important; /* falls SVGs oder PNGs verwendet werden */
        }
      }
    }
    Alles anzeigen

    2002Andreas

    Bekomme die Farbe nicht geändert, liegt eventuell am Script selbst. Dieses verwende ich:

    Code
    //SkipToTopAndBottom.uc.js
    
    (function() {
    
    	let menuitem = document.createXULElement('menuitem');
    	menuitem.id = 'context-to-top';
    	menuitem.classList.add('menuitem-iconic');
    	menuitem.setAttribute('tooltiptext' , 'Zum Seitenanfang springen');
    	menuitem.style.listStyleImage='url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGQ9Ik00NjcuNiwyNjMuNEwyNS43LDY2NS4yYy0xOS42LDE3LjktMjEuMSw0OC40LTMuMyw2OC4xYzE4LDE5LjcsNDguNCwyMS4xLDY4LjEsMy4zbDQwOS41LTM3Mi4ybDQwOS4zLDM3Mi4yYzE5LjgsMTcuOSw1MC4zLDE2LjUsNjguMi0zLjNjOC4zLTkuMiwxMi41LTIwLjgsMTIuNS0zMi40YzAtMTMuMS01LjMtMjYuMi0xNS43LTM1LjdMNTMyLjQsMjYzLjRDNTE0LDI0Ni44LDQ4NS45LDI0Ni44LDQ2Ny42LDI2My40eiIvPjwvZz48L3N2Zz4=")';
    	let refItem = document.getElementById('context-reload');
    	refItem.parentNode.insertBefore(menuitem, refItem);
    	//click
    	menuitem.addEventListener('click', () => {
    		if (event.button == 0) {
    			ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo(0,0) ' , false);
    		}
    	}); 
    
    })();
    
    
    (function() {
    
    	let menuitem = document.createXULElement('menuitem');
    	menuitem.id = 'context-to-bottom';
    	menuitem.classList.add('menuitem-iconic');
    	menuitem.setAttribute('tooltiptext' , 'Zum Seitenende springen');
    	menuitem.style.listStyleImage='url("data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGQ9Ik01MzIuNCw3MzYuNmw0NDEuOS00MDEuOGMxOS42LTE3LjgsMjEuMS00OC40LDMuMi02Ny45Yy0xNy45LTE5LjgtNDguNC0yMS4zLTY3LjktMy40TDUwMCw2MzUuOEw5MC44LDI2My40Yy0xOS44LTE3LjgtNTAuNC0xNi4zLTY4LjIsMy40Yy04LjQsOS4yLTEyLjYsMjAuOC0xMi42LDMyLjRjMCwxMyw1LjQsMjYuMiwxNS44LDM1LjZsNDQxLjksNDAxLjhDNDg2LjEsNzUzLjIsNTE0LjIsNzUzLjIsNTMyLjQsNzM2LjZ6Ii8+PC9nPjwvc3ZnPg==")';
    	let refItem = document.getElementById('context-reload');
    	refItem.parentNode.insertBefore(menuitem, refItem);
    	//click
    	menuitem.addEventListener('click', () => {
    		if (event.button == 0) {
    			ownerGlobal.gBrowser.selectedBrowser.messageManager.loadFrameScript(' data: , content.scrollTo(0,100000) ' , false);
    		}
    	});
    
    	var cssUri = Services.io.newURI('data:text/css,' + encodeURIComponent(css), null, null);
    	var SSS = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService);
    	SSS.loadAndRegisterSheet(cssUri, SSS.AGENT_SHEET);
    })();
    Alles anzeigen
  • Selektor für kleinen Pfeil in CSS-Code zum extra-config-menü.uc.js ab v139

    • FuchsFan
    • 2. Mai 2025 um 16:13
    Zitat von 2002Andreas

    Evtl. hilft dir ja diese Abkürzung weiter:

    Sehr schön, Andreas, damit geht es prima. Ich danke Dir! :thumbup::)

Unterstütze uns!

Jährlich (2025)

82,4 %

82,4% (535,86 von 650 EUR)

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