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

Beiträge von Mira_Belle

  • Symbole in den Kontextmenüs [ Update ]

    • Mira_Belle
    • 23. Juli 2025 um 21:11

    <3lichen Dank Euch beiden:!:

    Und so muss der Code aussehen, damit der Test und nur der Text verschoben wird.

    CSS
    			[data-l10n-id="toolbar-context-menu-bookmarks-toolbar-always-show-2"]:not([checked="true"]) > label[value="Immer anzeigen"],
    			[data-l10n-id="toolbar-context-menu-bookmarks-toolbar-on-new-tab-2"]:not([checked="true"]) > label[value="Nur bei neuem Tab anzeigen"],
    			[data-l10n-id="toolbar-context-menu-bookmarks-toolbar-never-show-2"]:not([checked="true"]) > label[value="Nie anzeigen"] {
    				margin-left: -25px;
    			}

    Aber ohne Eure Anregungen wäre ich da nie drauf gekommen.


    mkpcxxl
    Neuere Version mit ein paar Korrekturen!

    CSS
    // Symbole.uc.js
    
    /* ****************************************************************************************************************** */
    /* Die Entstehung des Symbole.css => https://www.camp-firefox.de/forum/thema/134970/?postID=1205292#post1205292       */
    /* ****************************************************************************************************************** */ 
    /* Das JavaScript                                                                                                     */
    /* https://www.camp-firefox.de/forum/thema/134970/?postID=1216936#post1216936                                         */
    /* version 1.0                                                                                                        */
    /* https://www.camp-firefox.de/forum/thema/134970/?postID=1235046#post1235046                                         */
    /* version 2.0                                                                                                        */
    /* https://www.camp-firefox.de/forum/thema/134970/?postID=1272754#post1272754                                         */
    /* version 3.0                                                                                                        */
    /* https://www.camp-firefox.de/forum/thema/134970/?postID=1275606#post1275606                                         */
    /* version 4.0                                                                                                        */
    /* https://www.camp-firefox.de/forum/thema/134970/?postID=1275736#post1275736                                         */
    /* version 4.1                                                                                                        */
    /* ****************************************************************************************************************** */
    
    (function() {
    //    if (location.href !== 'chrome://browser/content/browser.xhtml') return;
    
        let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'));
    
    //    var css =`
    
    let sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);       
    let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
    
    		/*--------------------------------------------------------------------------*/	
    		/*--------- Texte im Hamburgermenü und in den Submenüs eingerückt ----------*/
    		/*-------------- und in dem Anmeldenbutton das Icon eingefügt --------------*/
    		/*--------------------------------------------------------------------------*/
    
    		.subviewbutton:not(.subviewbutton-iconic, [checked="true"], [targetURI]) > .toolbarbutton-icon {
    			width: 16px;
    			height: 16px;
    			margin-inline-end: 8px !important;
    			-moz-context-properties: fill, fill-opacity;
    			fill: currentColor;
    		}
    
    		#appMenu-fxa-label2::before,
    		#fxa-manage-account-button::after {
    			content: "";
    			display: -moz-box;
    			border-radius: 50%;
    			background: var(--avatar-image-url) no-repeat center/contain;
    			-moz-context-properties: fill;
    			fill: currentColor;
    		}
    
    		#appMenu-fxa-label2::before {
    			width: 16px;
    			height: 16px;
    			margin-inline-end: 8px;
    		}
    
    		/* Neuer Tab */
    		#appMenu-new-tab-button2 { list-style-image: url("${ProfilePath}/tab-open.svg"); }
    		/* Neues Fenster */
    		#appMenu-new-window-button2 { list-style-image: url("${ProfilePath}/session.svg"); }
    		/* Neues privates Fenster */
    		#appMenu-new-private-window-button2 { list-style-image: url("${ProfilePath}/privateBrowsing.svg"); }
    		/* Lesezeichen */
    		#appMenu-bookmarks-button { list-style-image: url("${ProfilePath}/bookmark.svg"); }
    		/* Neues privates Fenster */
    		#appMenu-new-private-window-button2 { list-style-image: url("${ProfilePath}/privateBrowsing.svg"); }
    		/* Lesezeichen */
    		#appMenu-bookmarks-button { list-style-image: url("${ProfilePath}/bookmark.svg"); }
    		/* Chronik */
    		#appMenu-history-button { list-style-image: url("${ProfilePath}/history.svg"); }
    		/* Download */
    		#appMenu-downloads-button { list-style-image: url("${ProfilePath}/downloads.svg"); }
    		/* Passwörter */
    		#appMenu-passwords-button { list-style-image: url("${ProfilePath}/passwords.svg"); }
    		/* Add-ons und Themes */
    		#appMenu-extensions-themes-button { list-style-image: url("${ProfilePath}/addons.svg"); }
    		/* Drucken */
    		#appMenu-print-button2 { list-style-image: url("${ProfilePath}/printer.svg"); }
    		/* Seite speichern unter */
    		#appMenu-save-file-button2 { list-style-image: url("${ProfilePath}/folder-save.svg"); }
    		/* In Seite suchen */
    		#appMenu-find-button2 { list-style-image: url("${ProfilePath}/search.svg"); }
    		/* Seite übersetzen */
    		#appMenu-translate-button { list-style-image: url("${ProfilePath}/translations.svg"); }
    
    		/* Zoom */
    
    		#appMenu-zoom-controls::before {
    			margin-top: 3px !important;
    			margin-right: 10px !important; 
    			margin-left: -1px !important;
    			content: '' !important;
    			display: block !important;
    			width: 16px !important;
    			height: 16px !important;
    			mask-image:  url("${ProfilePath}/screenshot.svg") !important;
    			mask-repeat: no-repeat;
    			mask-position: center;
    			background-color: #e1e1e1 !important;
    		}
    
    		/*Einstellungen */
    		#appMenu-settings-button { list-style-image: url("${ProfilePath}/settings.svg"); }
    		/*Weitere Werkzeuge */
    		#appMenu-more-button2 { list-style-image: url("${ProfilePath}/debugging-workers.svg"); }
    		/* Problem mit Website melden */
    		#appMenu-report-broken-site-button { list-style-image: url("${ProfilePath}/warning.svg"); }
    		/* Hilfe */
    		#appMenu-help-button2 { list-style-image: url("${ProfilePath}/help.svg"); }
    		/* Beenden */
    		#appMenu-quit-button2 { list-style-image: url("${ProfilePath}/quit.svg"); }
    
    		/*= Panel - Bookmark =========================================================*/
    	
    		/* Lesezeichen bearbeiten */
    		
    		[data-l10n-id="bookmarks-bookmark-edit-panel"]::before {
    			margin-top: 3px !important;	
    			margin-right: -15px !important;
    			margin-left: -1px !important;
    			content: '' !important;
    			display: block !important;
    			width: 16px !important;
    			height: 16px !important;
    			mask-image: url("${ProfilePath}/window.svg") !important;
    			mask-repeat: no-repeat;
    			mask-position: center;
    			background-color: #e1e1e1 !important;
    		}
    
    		/* Aktuellen Tab als Lesezeichen ... */
    
    		[data-l10n-id="bookmarks-current-tab"]::before {
    			margin-top: 3px !important;	
    			margin-right: -15px !important;
    			margin-left: -1px !important;
    			content: '' !important;
    			display: block !important;
    			width: 16px !important;
    			height: 16px !important;
    			mask-image: url("${ProfilePath}/session.svg") !important;
    			mask-repeat: no-repeat;
    			mask-position: center;
    			background-color: #e1e1e1 !important;
    		}
    
    		/* Dieses Lesezeichen bearbeiten...  */
    		#panelMenuBookmarkThisPage { list-style-image: url("${ProfilePath}/bookmark-hollow.svg"); }
    		/* Lesezeichen durchsuchen */
    		#panelMenu_searchBookmarks { list-style-image: url("${ProfilePath}/search.svg"); }
    		/* Lesezeichen-Symbolleiste ausblenden */
    		#panelMenu_viewBookmarksToolbar { list-style-image: url("${ProfilePath}/bookmarks-toolbar.svg"); }
    		/* Lesezeichen verwalten */
    		#panelMenu_showAllBookmarks { list-style-image: url("${ProfilePath}/bookmarks-tray.svg"); } 
    
    		/*= Panel - Chronik ===========================================================*/
    		/*= Panel - History ==========================================================*/
    	
    		/* Kürzlich geschlossene Tabs */
    	/*	#appMenuRecentlyClosedTabs { list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACcklEQVRYR8WWzVEbQRBGtRHYHHy2iAAIgEJkIEdgcfbBEAEiAhcXrogITAbI5QAMVQ5gdfYBiEB8b6uHaq1md2ZXBk3VlHa0/fOmu6dni8GWR7Fl/4NWgOVyeSvAz5rHRVE8xWAls6//P7h3C8mWuRtLASzN0L2HkNOPWn/XnGgOI86QnwnkMgWSC4CdCkKTHf/UBCI1iMQXgaAbHV0AMIBBv+OF1qQJB7wDamwzpIXUnQgCubXRFcAbuJDRacyopYh3pIkBBHW0Fom+AHMZIx2tQyATCVybUCmd3bpCXwDsUGQnGRBE4tzkSMXM62wCkAVh6SglTE3cC+DgfwJgiyqPFlhwJIhTPf+w9a7vE6kIUDR7iTA3FqMDGOn5ztYU4zy8SwFwrDj3TeOp7Yx7JUUhNLUV4He7CzYGkIGhdsS9kDMe/N1hhfhoit0iYJcN+ctpvR5upsUZILJBd6R9MzrVALv+08N5ALkRwEQAwHzlT61X0p4qwql0QhO50PM8J/6SmQSH+j3U/G16FZC3kQIoJUzef0lxlOl8UMv5P+l9Mt2D+qlJAUSPTg6IIIjWkZO9lHMa0spoBJABdhxtHpkAPn1/SYU/GcFGG0Bj+8wE8Bv4JudXMb02gNCGn6Xc9QhWvlzz4a7gJlz7rnwFsMLhqEBO+x0acTR3mVGYSa46fhqlzbl+sVnBeAAvHOzzybUfI88EIHJEst5BXzflAULF4xRaFKd9nQdAiyz1RFSZwHCJ7dQj0PvI5UQDGcFM9VM1ttARYxEgR8y3GCMZZUYBCHvubbcp3EIRGNZTQH44Lm8NQY2NQ0t+tw+SppBtHeAFE7gPMJeICC4AAAAASUVORK5CYII="); }
    */	#appMenuRecentlyClosedTabs { list-style-image: url("${ProfilePath}/undo.svg"); }
    		/* Kürzlich geschlossene Fenster */
    		#appMenuRecentlyClosedWindows { list-style-image: url("${ProfilePath}/window.svg"); }
    		/* Vorherige Sitzung wiederherstellen */
    		#appMenu-restoreSession{ list-style-image: url("${ProfilePath}/session-restore.svg"); }
    		/* Neueste Chronik löschen ... */
    		#appMenuClearRecentHistory { list-style-image: url("${ProfilePath}/history-forget.svg"); }
    		/* Chronik verwalten */
    		#PanelUI-historyMore { list-style-image: url("${ProfilePath}/history.svg"); }
    		/* Alle Tabs wieder öffnen */
    		#appMenu-library-recentlyClosedTabs { list-style-image: url("${ProfilePath}/window-move.svg"); }
    		/* Alle Fenster wieder öffnen */
    		#appMenu-library-recentlyClosedWindows { list-style-image: url("${ProfilePath}/session-restore.svg"); }
    		/* Chronik durchsuchen */
    		#appMenuSearchHistory { list-style-image: url("${ProfilePath}/window-search.svg"); }
    
    		/*= Panel - More tools =======================================================*/
    	
    		/* Symbolleiste anpassen ... */
    		#appmenu-moreTools-button { list-style-image: url("${ProfilePath}/Themes.svg"); }
    		/* Werkzeuge für Web-... */
    		#appmenu-developer-tools-view .subviewbutton[label="Werkzeuge für Web-Entwickler"] { list-style-image: url("${ProfilePath}/developer.svg"); }
    		/* Task Manager */
    		#appmenu-developer-tools-view > toolbarbutton[label="Task-Manager"] { list-style-image: url("${ProfilePath}/performance.svg"); }
    		/* Externes Debugging - Edge bug.svg */
    		#appmenu-developer-tools-view > toolbarbutton[label="Externes Debugging"] { list-style-image: url("${ProfilePath}/bug.svg"); }
    		/* Browser-Werkzeuge - Edge webdeveloper.svg */
    		#appmenu-developer-tools-view > toolbarbutton[label="Browser-Werkzeuge"] { list-style-image: url("${ProfilePath}/window-dev-tools.svg"); }
    		/* Browser-Inhaltswerkzeuge */
    	/*	#appmenu-developer-tools-view .subviewbutton:nth-child(5) { list-style-image: url("${ProfilePath}/command-frames.svg"); }	*/
    		/* Browser-Konsole */
    		#appmenu-developer-tools-view > toolbarbutton[label="Browser-Konsole"] { list-style-image: url("${ProfilePath}/command-console.svg"); }
    		/* Bildschirmgrößen testen */
    		#appmenu-developer-tools-view > toolbarbutton[label="Bildschirmgrößen testen"] { list-style-image: url("${ProfilePath}/command-responsivemode.svg"); }
    		/* Farbpipette */
    		#appmenu-developer-tools-view > toolbarbutton[label="Farbpipette"] { list-style-image: url("${ProfilePath}/command-eyedropper.svg"); }
    		/* Seitenquelltext anzeigen - Edge file-search.svg */
    		#appmenu-developer-tools-view > toolbarbutton[label="Seitenquelltext anzeigen"] { list-style-image: url("${ProfilePath}/document-search.svg"); }
    		/* Erweiterungen für Entwickler */
    		#appmenu-developer-tools-view > toolbarbutton[label="Erweiterungen für Entwickler"] { list-style-image: url("${ProfilePath}/addons.svg"); }
    	
    		/*= Panel - Help =============================================================*/
    	
    		/* Hilfe erhalten */  
    		#appMenu_menu_openHelp { list-style-image: url("${ProfilePath}/help.svg"); }
    		/* Ideen und Feedback teilen ... */
    		#appMenu_feedbackPage { list-style-image: url("${ProfilePath}/send.svg"); }
    		/* Fehlerbehebungsmodus ... */
    		#appMenu_helpSafeMode { list-style-image: url("${ProfilePath}/debugging-workers.svg"); }
    		/* Weitere Informationen zur ... */
    		#appMenu_troubleShooting { list-style-image: url("${ProfilePath}/more.svg"); }
    		/* ?? Eine Glühbirne ?? */
    		#appMenu_help_reportSiteIssue { list-style-image: url("${ProfilePath}/lightbulb.svg"); }
    		/* Betrügerische Website melden ... */
    		#appMenu_menu_HelpPopup_reportPhishingtoolmenu { list-style-image: url("${ProfilePath}/warning.svg"); }
    		/* Zu einem neuen Gerät wechseln */
    		#appMenu_helpSwitchDevice { list-style-image: url("${ProfilePath}/send-to-device.svg"); }
    		/* Über Firefox */
    		#appMenu_aboutName { list-style-image: url("${ProfilePath}/firefox.svg"); }
    
    		/* ================================================================================================== */
    
    		/*Abstände für alle Icons im Kontextmenü*/
    		
    		menupopup:not(.in-menulist) > menu:not(.menu-iconic),
    		menupopup:not(.in-menulist, [aria-label]) > menuitem:not(.menuitem-iconic, [checked="true"]) {
    			padding-inline-start: calc(1em + 24px) !important;
    		/*	padding-inline-start: calc(1em + 48px) !important;	*/
    			background-position: left 1em center;
    			background-repeat: no-repeat;
    			background-size: 16px;
    			-moz-context-properties: fill, fill-opacity;
    			fill: #E0E0E0 !important;
    		}
    
    		#context-savepage { background-image: url("${ProfilePath}/folder-save.svg"); }
    		#context-pocket { background-image: url("${ProfilePath}/pocket-outline.svg"); }
    		#context-selectall { background-image: url("${ProfilePath}/select-all-on.svg"); }
    		#context-take-screenshot { background-image: url("${ProfilePath}/screenshot.svg"); }
    		#context-viewsource { background-image: url("${ProfilePath}/document-search.svg"); }
    		#context-inspect-a11y { background-image: url("${ProfilePath}/tool-accessibility.svg"); }
    		#context-inspect { background-image: url("${ProfilePath}/command-pick.svg"); }
    		#context-copy { background-image: url("${ProfilePath}/edit-copy.svg"); }
    
    		#context-closetab { background-image: url("${ProfilePath}/tab-close.svg"); }
    
    		#context-searchselect { background-image: url("${ProfilePath}/search.svg"); }
    		#context-translate-selection { background-image: url(chrome://browser/skin/translations.svg); }
    		#context-viewpartialsource-selection { background-image: url("${ProfilePath}/document-search.svg"); }
    
    		#context-openlinkincurrent { background-image: url("${ProfilePath}/link-square.svg"); }
    		#context-openlinkintab { background-image: url("${ProfilePath}/tab-open.svg"); }
    		#context-openlink { background-image: url("${ProfilePath}/session.svg"); }
    		#context-openlinkprivate { background-image: url("${ProfilePath}/privateBrowsing.svg"); }
    		#context-bookmarklink { background-image: url("${ProfilePath}/folder-save.svg"); }
    		#context-savelink { background-image: url("${ProfilePath}/image-add.svg"); }
    		#context-print-selection { background-image: url("${ProfilePath}/printer.svg"); }
    
    		#context-savelinktopocket { background-image: url("${ProfilePath}/image.svg"); }
    		#context-copylink { background-image: url("${ProfilePath}/link.svg"); }
    		#context-stripOnShareLink { background-image: url("${ProfilePath}/link-track.svg"); }
    		#context-reloadimage { background-image: url("${ProfilePath}/reload.svg"); }
    		#context-viewimage { background-image: url("${ProfilePath}/image-add.svg"); }
    		#context-saveimage { background-image: url("${ProfilePath}/image.svg"); }
    		#context-copyimage-contents  { background-image: url("${ProfilePath}/image-copy.svg"); }
    		#context-copyimage { background-image: url("${ProfilePath}/image-resize.svg"); }
    		#context-sendimage { background-image: url("${ProfilePath}/link.svg"); }
    		#context-setDesktopBackground { background-image: url("${ProfilePath}/image-resize.svg"); }
    
    		#_36bde3a5-9f17-4ad9-a587-d4a3c8e8d200_-menuitem-_background-tab_link { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACcklEQVRYR8WWzVEbQRBGtRHYHHy2iAAIgEJkIEdgcfbBEAEiAhcXrogITAbI5QAMVQ5gdfYBiEB8b6uHaq1md2ZXBk3VlHa0/fOmu6dni8GWR7Fl/4NWgOVyeSvAz5rHRVE8xWAls6//P7h3C8mWuRtLASzN0L2HkNOPWn/XnGgOI86QnwnkMgWSC4CdCkKTHf/UBCI1iMQXgaAbHV0AMIBBv+OF1qQJB7wDamwzpIXUnQgCubXRFcAbuJDRacyopYh3pIkBBHW0Fom+AHMZIx2tQyATCVybUCmd3bpCXwDsUGQnGRBE4tzkSMXM62wCkAVh6SglTE3cC+DgfwJgiyqPFlhwJIhTPf+w9a7vE6kIUDR7iTA3FqMDGOn5ztYU4zy8SwFwrDj3TeOp7Yx7JUUhNLUV4He7CzYGkIGhdsS9kDMe/N1hhfhoit0iYJcN+ctpvR5upsUZILJBd6R9MzrVALv+08N5ALkRwEQAwHzlT61X0p4qwql0QhO50PM8J/6SmQSH+j3U/G16FZC3kQIoJUzef0lxlOl8UMv5P+l9Mt2D+qlJAUSPTg6IIIjWkZO9lHMa0spoBJABdhxtHpkAPn1/SYU/GcFGG0Bj+8wE8Bv4JudXMb02gNCGn6Xc9QhWvlzz4a7gJlz7rnwFsMLhqEBO+x0acTR3mVGYSa46fhqlzbl+sVnBeAAvHOzzybUfI88EIHJEst5BXzflAULF4xRaFKd9nQdAiyz1RFSZwHCJ7dQj0PvI5UQDGcFM9VM1ttARYxEgR8y3GCMZZUYBCHvubbcp3EIRGNZTQH44Lm8NQY2NQ0t+tw+SppBtHeAFE7gPMJeICC4AAAAASUVORK5CYII="); }
    
    		/* Rückgängig */
    		#context-undo { background-image: url("${ProfilePath}/undo.svg"); }
    		/* Wiederherstellen */
    		#context-redo { background-image: url("${ProfilePath}/sync.svg"); }
    		/* Ausschneiden */
    		#context-cut { background-image: url("${ProfilePath}/edit-cut.svg"); }
    		/* Kopieren */
    		#context-copy { background-image: url("${ProfilePath}/copy.svg"); }
    		/* Einfügen */
    		#context-paste { background-image: url("${ProfilePath}/paste.svg"); }
    		/* Löschen */
    		#context-delete { background-image: url("${ProfilePath}/delete.svg"); }
    		/* Alles auswählen */
    		#context-selectall { background-image: url("${ProfilePath}/select-all-on.svg"); }
    		/* Rechtschreibung prüfen */
    		#spell-check-enabled { background-image: url("${ProfilePath}/spell-check.svg"); }
    		/* Sprachen */
    		#spell-dictionaries > label[value="Sprachen"] { margin-left: -22px; }
    		#spell-add-dictionaries > label[value="Wörterbücher hinzufügen…"] { margin-left: -26px; }
    
    
    		/* ----------------------------------------- */
    		/* --------- Kontextmenüs der Tabs --------- */
    		/* ----------------------------------------- */
    
    		/* Neuer Tab */
    		#context_openANewTab { background-image: url("${ProfilePath}/tab-open.svg"); }
    		/* Tab neu laden */
    		#context_reloadTab { background-image: url("${ProfilePath}/reload.svg"); }
    		/* Alle Tabs neu laden */
    		#tabContextMenu > menuitem[label="Alle Tabs neuladen"] { background-image: url("${ProfilePath}/reload.svg");
    		fill: #fbc96e !important; }
    		/* Tab stummschalten */
    		#context_toggleMuteTab { background-image: url("${ProfilePath}/audio-muted.svg"); }
    		/* Stummschaltung für Tab aufheben */
    		#context_toggleMuteTab[muted] { background-image: url("${ProfilePath}/audio.svg"); }
    		/* Tab anheften */
    		#context_pinTab { background-image: url("${ProfilePath}/glyph-pin-16.svg"); }
    		/* Tab klonen */
    		#context_duplicateTab { background-image: url("${ProfilePath}/duplicat.svg"); }
    		/* Tab als Lesezeichen hinzufügen */
    		#context_bookmarkTab { background-image: url("${ProfilePath}/bookmark-hollow.svg"); }
    		/* Tab verschieben */
    		#context_moveTabOptions { background-image: url("${ProfilePath}/arrow-swap.svg"); }
    		
    			/* <<< Submenu_Tab verschieben >>> */	
    		
    			/* An Anfang verschieben */
    			#context_moveToStart { background-image: url("${ProfilePath}/arrow-back.svg"); }
    			/* An Ende verschieben */
    			#context_moveToEnd { background-image: url("${ProfilePath}/arrow-forward.svg"); }
    			/* In neues Fenster verschieben */
    			#context_openTabInWindow { background-image: url("${ProfilePath}/session-restore.svg"); }	
    		
    		/* Teilen */
    		.share-tab-url-item { display: none; }
    		/* Alle Tabs auswählen */
    		#context_selectAllTabs { background-image: url("${ProfilePath}/tab-multiple.svg"); }
    		/* Tab schließen */
    		#context_closeTab { background-image: url("${ProfilePath}/tab-close.svg"); }
    		/*Mehrere Tabs schließen */
    		#context_closeTabOptions { background-image: url("${ProfilePath}/tab-close.svg"); }
    
    			/* <<< Submenu_Mehrere Tabs schließen >>> */
    			
    			/* Doppelte Tabs schließen */
    			#context_closeDuplicateTabs { background-image: url("${ProfilePath}/tab-close.svg");
    			fill: #7B7B7B !important; }
    			/* Linke Tabs schließen */
    			#context_closeTabsToTheStart { background-image: url("${ProfilePath}/tab-left.svg"); }
    			/* Rechte Tabs schließen */
    			#context_closeTabsToTheEnd { background-image: url("${ProfilePath}/tab-right.svg"); }
    			/* Andere Tabs schließen */
    			#context_closeOtherTabs { background-image: url("${ProfilePath}/tab-all.svg"); }
    			/* Alle Tabs schließen */
    			#context_closeAllTabs { background-image: url("${ProfilePath}/tab-all-close.svg"); }
    		
    		/* Geschlossenen Tab wieder öffnen */
    		#context_undoCloseTab { background-image: url("${ProfilePath}/tab-restore"); }
    
    		/* Firefox "Beenden" */
    		#context_closeApp{ background-image: url("${ProfilePath}/Power_off_redorange.svg"); }
    
    		/* ================================================================ */
    
    		/* Neuer Tab */
    		#toolbar-context-openANewTab { background-image: url("${ProfilePath}/session.svg"); padding-left: 13px !important; }
    		/* Ausgewählten Tab neu laden */
    		#toolbar-context-reloadSelectedTab { background-image: url("${ProfilePath}/reload.svg"); padding-left: 13px !important; }
    		/* Ausgewählten Tab als Lesezeichen hinzufügen... */
    		#toolbar-context-bookmarkSelectedTab { background-image: url("${ProfilePath}/bookmark-hollow.svg"); padding-left: 13px !important; }
    		/* Alle Tabs auswählen */
    		#toolbar-context-selectAllTabs { background-image: url("${ProfilePath}/tab-multiple.svg"); padding-left: 13px !important; }
    		/* Geschlossene Tabs wieder öffnen */
    		#toolbar-context-undoCloseTab { background-image: url("${ProfilePath}/undo.svg"); padding-left: 13px !important; }
    
    		/* Vertikale Tabs aktivieren */
    		#toolbar-context-toggle-vertical-tabs {padding-left: 13px !important; }
    
    		/* Lesezeichen-Symbolleiste */
    		#toggle_PersonalToolbar { background-image: url("${ProfilePath}/bookmarks-toolbar.svg"); }
    
    		/* Symbolleiste anpassen... */
    		#toolbar-context-customize { background-image: url("${ProfilePath}/Themes.svg"); padding-left: 13px !important; }
    
    
    
    		/* --------------------------------------------- */
    		/* - Kontextmenüs der Lesezeichen-Symbolleiste - */
    		/* --------------------------------------------- */
    
    	#placesContext_openSeparator { display: none !important; }
    
    		/* Löschen */
    		#placesContext_delete { background-image: url("${ProfilePath}/delete.svg"); padding-left: 13px !important; }
    		/* Ausschneiden */
    		#placesContext_cut { background-image: url("${ProfilePath}/edit-cut.svg"); padding-left: 13px !important; }
    		/* Kopieren */
    		#placesContext_copy { background-image: url("${ProfilePath}/copy.svg"); padding-left: 13px !important; }
    		/* Einfügen */
    		#placesContext_paste, #placesContext_paste_group { background-image: url("${ProfilePath}/paste.svg"); padding-left: 13px !important; }
    
    		/* Alle Lesezeichen öffnen */
    		#placesContext_openBookmarkContainer\:tabs { background-image: url("${ProfilePath}/window-move.svg"); }
    		/* Lesezeichen hinzufügen... */
    		#placesContext_new\:bookmark { background-image: url("${ProfilePath}/bookmark-hollow.svg"); }
    		/* Ordner hinzufügen... */
    		#placesContext_new\:folder { background-image: url("${ProfilePath}/folder.svg"); }
    		/* Trennlinie hinzufügen... */
    		#placesContext_new\:separator { background-image: url("${ProfilePath}/vertical-line.svg"); }
    
    		/* Lesezeichen verwalten */
    		#placesContext_showAllBookmarks { background-image: url("${ProfilePath}/bookmarks-tray.svg"); }
    		/* In neuem Tab öffnen */
    		#placesContext_open\:newtab { background-image: url("${ProfilePath}/session.svg"); }
    		/* In neuem Fenster öffnen */
    		#placesContext_open\:newwindow { background-image: url("${ProfilePath}/window.svg"); }
    		/* In neuem privaten Fenster öffnen */
    		#placesContext_open\:newprivatewindow { background-image: url("${ProfilePath}/privateBrowsing.svg"); }
    
    		/* Lesezeichen bearbeiten... */
    		#placesContext_show_bookmark\:info { background-image: url("${ProfilePath}/edit.svg"); }
    		/* Lesezeichen löschen */
    		#placesContext_deleteBookmark { background-image: url("${ProfilePath}/delete.svg"); }
    
    		/* ------------------------------------------ */
    		/* ------- Kontextmenüs der Menuleise ------- */
    		/* ------------------------------------------ */
    
    		/* In Überhangmenü verschieben */
    		.customize-context-moveToPanel { background-image: url("${ProfilePath}/glyph-pin-16.svg"); }
    		/* Aus Symbolleiste entfernen */
    		.customize-context-removeFromToolbar { background-image: url("${ProfilePath}/delete.svg"); }
    
    		/* --------------------------------------------- */
    		/* ------- Kontextmenüs in der Menuleise ------- */
    		/* --------------------------------------------- */
    
    		/* --- Datei --- */
    
    		/* Neuer Tab */
    		#menu_newNavigatorTab { background-image: url("${ProfilePath}/tab-open.svg"); }
    		/* Neues Fenster */
    		#menu_newNavigator { background-image: url("${ProfilePath}/session.svg"); }
    		/* Neues privates Fenster */
    		#menu_newPrivateWindow { background-image: url("${ProfilePath}/privateBrowsing.svg"); }
    		/* Datei öffnen... */
    		#menu_openFile { background-image: url("${ProfilePath}//folder-open.svg"); }
    		/* Tab schließen ausblenden	! */
    		#menu_close { display: none !important; }
    		/* Fenster schließen ausblenden	! */
    		#menu_closeWindow { display: none !important; }
    		/* Seite speichern unter... */
    		#menu_savePage { background-image: url("${ProfilePath}/folder-save.svg"); }
    		/* Link per E-Mail senden... */
    		#menu_sendLink { background-image: url("${ProfilePath}/mail.svg"); }
    		/* Drucken... */
    		#menu_print { background-image: url("${ProfilePath}/printer.svg"); }
    		/* Daten aus einem anderen Browser importieren... */
    		#menu_importFromAnotherBrowser { background-image: url("${ProfilePath}/import.svg"); }
    		/* Offline arbeiten */
    		#goOfflineMenuitem { background-image: url("${ProfilePath}/plug-disconnected.svg"); }
    		/* Beenden */
    		/* #menu_FileQuitItem { background-image: url("${ProfilePath}/quit.svg"); } */
    		#menu_FileQuitItem { background-image: url("${ProfilePath}/Power_off_redorange.svg"); }
    
    		/* --- Bearbeiten --- */
    
    		/* Rückgängig */
    		#menu_undo { background-image: url("${ProfilePath}/undo.svg");}
    		/* Wiederherstellen */
    		#menu_redo { background-image: url("${ProfilePath}/sync.svg"); padding-left: 36px;}
    		/* Ausschneiden */
    		#menu_cut { background-image: url("${ProfilePath}/edit-cut.svg"); padding-left: 36px;}
    		/* Kopieren */
    		#menu_copy { background-image: url("${ProfilePath}/copy.svg"); padding-left: 36px;}
    		/* Einfügen */
    		#menu_paste { background-image: url("${ProfilePath}/paste.svg"); padding-left: 36px;}
    		/* Löschen */
    		#menu_delete { background-image: url("${ProfilePath}/delete.svg"); padding-left: 36px;}
    		/* Alles auswählen */
    		#menu_selectAll { background-image: url("${ProfilePath}/select-all-on.svg"); padding-left: 36px;}
    		/* Seite durchsuchen... */
    	/*	#menu_find { background-image: url("${ProfilePath}/search.svg"); padding-left: 36px;}	*/
    		#menu_find { background-image: url("${ProfilePath}/Github-Octicons-Search-16.svg"); padding-left: 36px;}
    		/* Weitersuchen */
    		#menu_findAgain { background-image: url("${ProfilePath}/Github-Octicons-Search-24.svg"); padding-left: 36px;}
    
    		/* --- Ansicht --- */
    
    		/* Symbolleisten */
    		#viewToolbarsMenu { background-image: url("${ProfilePath}/toolbar.svg"); }
    		
    			/* <<< Submenu_Symbolleisten >>> */
    			
    			#toggle_PersonalToolbar { background-image: url("${ProfilePath}/bookmarks-toolbar.svg"); padding-left: 13px !important; }
    			#menu_customizeToolbars { background-image: url("${ProfilePath}/Themes.svg"); padding-left: 13px !important; }	
    
    			/* ----------------------------------- */
    			/* -- Checkbox und Haken im Submenu -- */
    			/* ----------------------------------- */
    
    			menuitem[checked="true"] > .menu-iconic-left {
    				list-style-image: url("${ProfilePath}/check.svg");
    				fill: #00E400 !important;
    			}
    
    			[data-l10n-id="toolbar-context-menu-bookmarks-toolbar-always-show-2"]:not([checked="true"]),
    			[data-l10n-id="toolbar-context-menu-bookmarks-toolbar-on-new-tab-2"]:not([checked="true"]),
    			[data-l10n-id="toolbar-context-menu-bookmarks-toolbar-never-show-2"]:not([checked="true"]),
    			#menu_zoomReset:not([checked="true"]),
    			#toggle_zoom:not([checked="true"]),
    			#menu_pageStylePersistentOnly:not([checked="true"]) {
    				background-image: url("${ProfilePath}/square.svg");
    				background-repeat: no-repeat;
    			}
    
    			[data-l10n-id="toolbar-context-menu-bookmarks-toolbar-always-show-2"]:not([checked="true"]) > label[value="Immer anzeigen"],
    			[data-l10n-id="toolbar-context-menu-bookmarks-toolbar-on-new-tab-2"]:not([checked="true"]) > label[value="Nur bei neuem Tab anzeigen"],
    			[data-l10n-id="toolbar-context-menu-bookmarks-toolbar-never-show-2"]:not([checked="true"]) > label[value="Nie anzeigen"] {
    				margin-left: -25px;
    			}
    	/* ----------------------------------- */
    
    		/* Sidebar */
    		#viewSidebarMenuMenu { background-image: url("${ProfilePath}/Dock Side Left.svg"); }
    
    			/* <<< Submenu_Sidebar >>> */
    
    			#menu_bookmarksSidebar:not([checked="true"]) { 
    				background-image: url("${ProfilePath}/bookmark.svg"); 
    				background-repeat: no-repeat;
    			}
    			#menu_historySidebar:not([checked="true"]) { 
    				background-image: url("${ProfilePath}/history.svg"); 
    				background-repeat: no-repeat;
    			}			
    			#menu_tabsSidebar:not([checked="true"]) { 
    				background-image: url("${ProfilePath}/Dock Side Left.svg"); 
    				background-repeat: no-repeat;
    			}
    			#menu_genaiChatSidebar:not([checked="true"]) { 
    				background-image: url("${ProfilePath}/robot-icon.svg"); 
    				background-repeat: no-repeat;
    			}
    
    			/*#menu_historySidebar, #menu_tabsSidebar, #menu_bookmarksSidebar, #menu_genaiChatSidebar { padding-left: 13px !important; }*/
    
    		/* Zoom */
    		#viewFullZoomMenu { background-image: url("${ProfilePath}/screenshot.svg"); }
    		
    			/* <<< Submenu_Zoom >>> */
    
    			#menu_zoomEnlarge { background-image: url("${ProfilePath}/zoom-in.svg"); }	/*  +  */
    			#menu_zoomReduce { background-image: url("${ProfilePath}/zoom-out.svg"); }	/*  -  */
    			/*#menu_zoomReset, #toggle_zoom { padding-left: 13px !important; }*/
    		
    		/* Webseiten-Stil */
    		#pageStyleMenu { background-image: url("${ProfilePath}/document-css.svg"); }
    		
    			/* <<< Submenu_Webseiten-Stil >>> */
    		
    			#menu_pageStyleNoStyle:not([checked="true"]) { 
    				background-image: url("${ProfilePath}/document-css.svg"); 
    				background-position: left 1em center;
    				background-repeat: no-repeat;
    				padding-left: 13px !important;
    			}	
    		
    		/* Textkodierung reparieren */
    		#repair-text-encoding { background-image: url("${ProfilePath}/characterEncoding.svg");}
    		/* Vollbild */
    		#fullScreenItem { background-image: url("${ProfilePath}/fullscreen.svg");}
    
    		/* --- Chronik --- */
    
    		/* Gesamte Chronik anzeigen */
    		#menu_showAllHistory { background-image: url("${ProfilePath}/history.svg"); padding-left: 13px !important; }
    		/* Neueste Chronik löschen... */
    		#sanitizeItem { background-image: url("${ProfilePath}/history-forget.svg"); padding-left: 13px !important; }
    		/* Vorherige Sitzung wiederherstellen */
    		#historyRestoreLastSession { background-image: url("${ProfilePath}/session-restore.svg"); padding-left: 13px !important; }
    		/* Chronik durchsuchen */
            #menu_searchHistory { background-image: url("${ProfilePath}/window-search.svg"); padding-left: 13px !important; }
    		/* Kürzlich geschlossene Tabs */
    		#historyUndoMenu { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACcklEQVRYR8WWzVEbQRBGtRHYHHy2iAAIgEJkIEdgcfbBEAEiAhcXrogITAbI5QAMVQ5gdfYBiEB8b6uHaq1md2ZXBk3VlHa0/fOmu6dni8GWR7Fl/4NWgOVyeSvAz5rHRVE8xWAls6//P7h3C8mWuRtLASzN0L2HkNOPWn/XnGgOI86QnwnkMgWSC4CdCkKTHf/UBCI1iMQXgaAbHV0AMIBBv+OF1qQJB7wDamwzpIXUnQgCubXRFcAbuJDRacyopYh3pIkBBHW0Fom+AHMZIx2tQyATCVybUCmd3bpCXwDsUGQnGRBE4tzkSMXM62wCkAVh6SglTE3cC+DgfwJgiyqPFlhwJIhTPf+w9a7vE6kIUDR7iTA3FqMDGOn5ztYU4zy8SwFwrDj3TeOp7Yx7JUUhNLUV4He7CzYGkIGhdsS9kDMe/N1hhfhoit0iYJcN+ctpvR5upsUZILJBd6R9MzrVALv+08N5ALkRwEQAwHzlT61X0p4qwql0QhO50PM8J/6SmQSH+j3U/G16FZC3kQIoJUzef0lxlOl8UMv5P+l9Mt2D+qlJAUSPTg6IIIjWkZO9lHMa0spoBJABdhxtHpkAPn1/SYU/GcFGG0Bj+8wE8Bv4JudXMb02gNCGn6Xc9QhWvlzz4a7gJlz7rnwFsMLhqEBO+x0acTR3mVGYSa46fhqlzbl+sVnBeAAvHOzzybUfI88EIHJEst5BXzflAULF4xRaFKd9nQdAiyz1RFSZwHCJ7dQj0PvI5UQDGcFM9VM1ttARYxEgR8y3GCMZZUYBCHvubbcp3EIRGNZTQH44Lm8NQY2NQ0t+tw+SppBtHeAFE7gPMJeICC4AAAAASUVORK5CYII="); }
    		/* Kürzlich geschlossene Fenster */
    		#historyUndoWindowMenu { background-image: url("${ProfilePath}/window.svg"); }
    
    		/* Lesezeichen */
    
    		/* Lesezeichen verwalten */
    		#bookmarksShowAll { background-image: url("${ProfilePath}/bookmarks-tray.svg"); padding-left: 13px !important; }
    		/* Aktuellen Tab als Lesezeichen hinzufügen */
    		#menu_bookmarkThisPage { background-image: url("${ProfilePath}/bookmark-hollow.svg"); padding-left: 13px !important; }
    		/* Lesezeichen durchsuchen */
    		#menu_searchBookmarks { background-image: url("${ProfilePath}/search.svg"); padding-left: 13px !important; }
    		/* Lesezeichen-Symbolleiste */
    		#bookmarksToolbarFolderMenu { list-style-image: url("${ProfilePath}/bookmarksToolbar.svg"); }
    		/* Weitere Lesezeichen */
    		#menu_unsortedBookmarks { list-style-image: url("${ProfilePath}/mail-inbox-all.svg"); }
    
    		/* --- Extras --- */
    
    		/* Downloads */
    		#menu_openDownloads { background-image: url("${ProfilePath}/downloads.svg"); padding-left: 36px;}
    		/* Add-ons und Themes */
    		#menu_openAddons { background-image: url("${ProfilePath}/addons.svg"); padding-left: 36px;}
    		/* Firefox View */
    		#menu_openFirefoxView { background-image: url("${ProfilePath}/firefox.svg"); padding-left: 36px;}
    		/* Anmelden */
    		#sync-setup { background-image: url("${ProfilePath}/avatar-empty.svg"); padding-left: 36px;}
    		/* Browser-Werkzeuge */
    		#browserToolsMenu { background-image: url("${ProfilePath}/debugging-workers.svg"); padding-left: 36px;}
    		
    			/* <<< Submenu_Browser-Werkzeuge >>> */	
    
    			/* Werkzeuge für Web-Entwickler */
    			#menu_devToolbox { background-image: url("${ProfilePath}/developer.svg");}
    			/* Task-Manager */
    			#menu_taskManager { background-image: url("${ProfilePath}/performance.svg"); }
    			/* Externes Debugging */
    			#menu_devtools_remotedebugging { background-image: url("${ProfilePath}/bug.svg"); }
    			/* Browser-Werkzeuge */
    			#menu_browserToolbox { background-image: url("${ProfilePath}/window-dev-tools.svg"); }
    			/* Browser-Inhaltswerkzeuge */
    			#menu_browserContentToolbox { background-image: url("${ProfilePath}/command-frames.svg"); }
    			/* Browser-Konsole */
    			#menu_browserConsole { background-image: url("${ProfilePath}/command-console.svg"); }
    			/* Bildschirmgrößen testen */
    			#menu_responsiveUI { background-image: url("${ProfilePath}/command-responsivemode.svg"); }
    			/*Farbpipette */
    			#menu_eyedropper { background-image: url("${ProfilePath}/command-eyedropper.svg"); }
    			/* Seitenquelltext anzeigen */
    			#menu_pageSource { background-image: url("${ProfilePath}/document-search.svg"); }
    			/* Erweiterungen für Entwickler */
    			#extensionsForDevelopers { background-image: url("${ProfilePath}/addons.svg"); }
    			
    		
    		/* Seiteninformationen */
    		#menu_pageInfo { background-image: url("${ProfilePath}/document-endnote.svg"); padding-left: 36px;}
    		/* Einstellungen */
    		#menu_preferences { background-image: url("${ProfilePath}/settings.svg"); padding-left: 36px;}
    
    		/* --- Hilfe --- */
    
    		/* Hilfe erhalten */
    		#menu_openHelp { background-image: url("${ProfilePath}/help.svg"); padding-left: 36px;}
    		/* Problem mit Website melden */
    		#help_reportBrokenSite { background-image: url("${ProfilePath}/warning.svg"); padding-left: 36px;}
    		/* Ideen und Feedback teilen... */
    		#feedbackPage { background-image: url("${ProfilePath}/send.svg"); padding-left: 36px;}
    		/* Fehlerbehebungsmodus... */
    		#helpSafeMode { background-image: url("${ProfilePath}/debugging-workers.svg"); padding-left: 36px;}
    		/* Weitere Informationen zur Fehlerbehebung */
    		#troubleShooting { background-image: url("${ProfilePath}/more.svg"); padding-left: 36px;}
    		/* Betrügerische Website melden... */
    		#menu_HelpPopup_reportPhishingtoolmenu { background-image: url("${ProfilePath}/warning.svg"); padding-left: 36px;}
    		/* Zu einem neuen Gerät wechseln */
    		#helpSwitchDevice { background-image: url("${ProfilePath}/send-to-device.svg"); padding-left: 36px;}
    		/* Über Firefox */
    		#aboutName { background-image: url("${ProfilePath}/firefox.svg"); padding-left: 36px;}
    
    		/* ---------------------------------------------- */
    		/* ------------- Kontextmenü Frames ------------- */
    		/* ---------------------------------------------- */
    		
    		/* Aktueller Frame */
    		#frame { background-image: url("${ProfilePath}/command-frames.svg"); 
    		background-repeat: no-repeat;
    		}
    
    			/* <<< Submenu_Aktueller Frame >>> */	
    
    			/* Nur diesen Frame anzeigen */
    			#context-showonlythisframe { background-image: url("${ProfilePath}/tab.svg"); }
    			/* Frame in neuem Tab öffnen */
    			#context-openframeintab { background-image: url("${ProfilePath}/open-in-new.svg"); }
    			/* Frame in neuem Fenster öffnen */
    			#context-openframe { background-image: url("${ProfilePath}/window.svg"); }
    			/* Frame neu laden */
    			#context-reloadframe { background-image: url("${ProfilePath}/reload.svg"); }
    			/*Lesezeichen für diesen Frame hinzufügen */
    			#context-bookmarkframe { background-image: url("${ProfilePath}/bookmark-hollow.svg"); }
    			/*Frame speichern unter... */
    			#context-saveframe { background-image: url("${ProfilePath}/folder-save.svg"); }
    			/* Frame drucken... */
    			#context-printframe { background-image: url("${ProfilePath}/printer.svg"); }
    			/* Bildschirmfoto aufnehmen */
    			#context-take-frame-screenshot { background-image: url("${ProfilePath}/screenshot.svg"); }
    			/* Frame-Quelltext anzeigen */
    			#context-viewframesource { background-image: url("${ProfilePath}/document-search.svg"); }
    			/* Frame-Informationen anzeigen */
    			#context-viewframeinfo { background-image: url("${ProfilePath}/info.svg"); }
    
    		/* ---------------------------------------------- */
    		/* ----------- Kontextmenü Adressfeld ----------- */
    		/* ---------------------------------------------- */
    		/*	
    		#urlbar-input-container {
    			padding-inline-start: calc(1em + 24px) !important;
    			background-position: left 1em center;
    			background-repeat: no-repeat;
    			background-size: 16px;
    			-moz-context-properties: fill, fill-opacity;
    			fill: currentColor;
    		}
    		*/
    		/* Rückgängig */
    		[data-l10n-id="text-action-undo"] {
    			background-image: url("${ProfilePath}/undo.svg");
    		}
    		/* Wiederherstellen */
    		[data-l10n-id="text-action-redo"] {
    			background-image: url("${ProfilePath}/sync.svg");
    		}
    		/* Ausschneiden */
    		[data-l10n-id="text-action-cut"] {
    			background-image: url("${ProfilePath}/edit-cut.svg");
    		}
    		/* Kopieren */
    		[data-l10n-id="text-action-copy"] {
    		/*	background-image: url("${ProfilePath}/copy.svg");	*/
    			background-image: url("${ProfilePath}/link.svg");
    		}
    		/* Kopieren ohne Tracking */
    		#strip-on-share {
    		/*	background-image: url("${ProfilePath}/copy_without.svg");	*/
    			background-image: url("${ProfilePath}/link-track.svg");	
    		}		
    		/* Einfügen */
    		[data-l10n-id="text-action-paste"] {	
    			background-image: url("${ProfilePath}/paste.svg");
    		}
    		/* Einfügen & Los */
    		#paste-and-go {
    			background-image: url("${ProfilePath}/redo.svg");
    		}
    		/* Löschen */
    		[data-l10n-id="text-action-delete"] {
    			background-image: url("${ProfilePath}/delete.svg");
    		}
    		/* Alles auswählen */
    		[data-l10n-id="text-action-select-all"] {
    			background-image: url("${ProfilePath}/select-all-on.svg");
    		}
    
    		/* ------------------------------------------- */
    		/* ---------- Symbole der Menuleise ---------- */
    		/* ------------------------------------------- */
    
    		/* Datei  */
    		#file-menu::before { background: url("${ProfilePath}/mail-inbox-all.svg") no-repeat !important; }
    		/* Bearbeiten  */
    		#edit-menu::before { background: url("${ProfilePath}/edit.svg") no-repeat !important; }
    		/* Ansicht  */
    		#view-menu::before { background: url("${ProfilePath}/content-view.svg") no-repeat !important; }
    		/* Chronik  */
    		#history-menu::before { background: url("${ProfilePath}/history.svg") no-repeat !important; }
    		/* Lesezeichen  */
    		#bookmarksMenu::before { background: url("${ProfilePath}/bookmark.svg") no-repeat !important; }
    		/* Extras  */
    		#tools-menu::before { background: url("${ProfilePath}/toolbox.svg") no-repeat !important; }
    		/* Hilfe  */
    		#helpMenu::before { background: url("${ProfilePath}/help.svg") no-repeat !important; }
    
    		/* Einstellungen  */
    		#file-menu::before,
    		#edit-menu::before,
    		#view-menu::before,
    		#history-menu::before,
    		#bookmarksMenu::before,
    		#tools-menu::before,
    		#helpMenu::before {
    			margin-left: 1px !important;
    			padding-right: 5px !important;
    			content: '' !important;
    			display: block !important;
    			width: 16px !important;
    			height: 16px !important;
    			background-repeat: no-repeat !important;
    			-moz-context-properties: fill, fill-opacity;
    			fill: currentColor;
    		}
    		#menu_FilePopup,
    		#menu_EditPopup,
    		#menu_viewPopup,
    		#historyMenuPopup,
    		#bookmarksMenuPopup,
    		#menu_ToolsPopup,
    		#menu_HelpPopup {
    			margin-top: 5px !important;
    		}
    
    		/* ------------------------------------ */
    		/* *** neuer Button "Erweiterungen" *** */
    		/* ******* Symbole im Popup-Menü ****** */
    		/* ------------------------------------ */
    
    		.unified-extensions-context-menu-pin-to-toolbar {   
    			background: url("${ProfilePath}/glyph-pin-16.svg") no-repeat !important;
    			background-position: 9px 4px !important;
    		}
    		.unified-extensions-context-menu-move-widget-up {   
    			background: url("${ProfilePath}/Pfeil-hoch_hellgrau.svg") no-repeat !important;
    			background-position: 6px 0px !important;
    		}
    		.unified-extensions-context-menu-move-widget-down {   
    			background: url("${ProfilePath}/Pfeil-runter_hellgrau.svg") no-repeat !important;
    			background-position: 6px 0px !important;
    		}
    		.unified-extensions-context-menu-manage-extension {
    			background: url("${ProfilePath}/extension.svg") no-repeat !important;
    			background-position: 9px 4px !important;
    		}
    		.unified-extensions-context-menu-remove-extension {
    			background: url("${ProfilePath}/delete.svg") no-repeat !important;
    			background-position: 9px 4px !important;
    		}
    		.unified-extensions-context-menu-report-extension {
    			background: url("${ProfilePath}/warning.svg") no-repeat !important;
    			background-position: 9px 4px !important;
    		}
    
    		/* ---------------------------------------------- */
    		/* ------------- Kontextmenü Video -------------- */
    		/* ---------------------------------------------- */
    
    		/* Pause */
    		#context-media-pause { background-image: url("${ProfilePath}/pause-1.svg"); }
    		/* Abspielen */
    		#context-media-play { background-image: url("${ProfilePath}/play-1.svg"); }
    		/* Ton aus */
    		#context-media-mute { background-image: url("${ProfilePath}/audio-16-mute.svg"); }
    		/* Ton an */
    		#context-media-unmute { background-image: url("${ProfilePath}//audio-16.svg"); }
    		/* Geschwindigkeit */
    		#context-media-playbackrate { background-image: url("${ProfilePath}/performance-16.svg"); }
    		/* Endlosschleife */
    		#context-media-loop { background-image: url("${ProfilePath}/repeat-1.svg"); }
    		/* Vollbild */
    		#context-video-fullscreen { background-image: url("${ProfilePath}/maximize-1.svg"); }
    		/* Vollbild beenden */
    		#context-leave-dom-fullscreen { background-image: url("${ProfilePath}/minimize-1.svg"); }
    		/* Steuerung ausblenden	! */
    		#context-media-hidecontrols { display: none !important; }
    		/* Steuerung anzeigen	! */
    		#context-media-showcontrols { display: none !important; }
    
    		/* -------------------------- */
    
    		/* Video in neuem Tab öffnen */
    		#context-viewvideo { background-image: url("${ProfilePath}/session.svg");; }
    		/* In Bild-im-Bild ansehen */
    		#context-video-pictureinpicture { background-image: url("${ProfilePath}/info.svg"); }
    
    		/* -------------------------- */
    
    		/* Standbild aufnehmen...	! */
    		#context-video-saveimage { display: none !important; } 
    		/* Video speichern unter...	! */
    		#context-savevideo { display: none !important; }
    		/* Video-Adresse kopieren	! */
    		#context-copyvideourl { display: none !important; }
    		/* Video per E-Mail senden...	! */
    		#context-sendvideo { display: none !important; }
    
    		#context-sep-setbackground { display: none !important; }
    
    		.bookmark-item[container] {
    			list-style-image: url("${ProfilePath}/folder-fat.svg") !important;
    		  }
    	/*	#PanelUI-menu-button {
    			list-style-image: url("${ProfilePath}/Hamburger2.svg") !important;
    		  }
    	*/
    	`), null, null);
    
    //   `;
    //
    //   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.AUTHOR_SHEET);
    
    })();
    Alles anzeigen
  • Symbole in den Kontextmenüs [ Update ]

    • Mira_Belle
    • 23. Juli 2025 um 19:49
    Zitat von Horstmann

    Und noch ein Vorschlag: alles mit :nth-child... vermeiden, das ist OS abhänging und ändert sich dauernd.

    Gute Idee!
    Nur bei den Checkboxen unter Ansicht/Symbolleisten/Lesezeichen-Symbolleisten

    CSS
    			#toggle_PersonalToolbar > menupopup:nth-child(4) > menuitem:nth-child(2) > label:nth-child(2),	
    			#toggle_PersonalToolbar > menupopup:nth-child(4) > menuitem:nth-child(3) > label:nth-child(2) {
    				margin-left: -25px;
    			}

    ... bekomme ich es einfach nicht hin!

    Und dann wäre da nur noch ein :nth-child... im CSS (Code) welches ich auskommentiert habe.
    Kann wohl zukünftig weg.

  • Symbole in den Kontextmenüs [ Update ]

    • Mira_Belle
    • 23. Juli 2025 um 16:46

    mkpcxxl Schau noch mal => RE: Symbole in den Kontextmenüs [ Update ]

  • Firefox v141.0 UndoCloseTabButton.uc.js Skript funktioniert nicht mehr

    • Mira_Belle
    • 23. Juli 2025 um 14:54

    Komisch, im Skript steht doch der Link!
    Und dort fehlt die Zeile mit dem .jsm

    Denke, ohne könnte das Skript funktionieren.

  • Symbole in den Kontextmenüs [ Update ]

    • Mira_Belle
    • 23. Juli 2025 um 14:44
    Zitat von 2002Andreas

    Und warum als Skript und nicht als normaler CSS-Code?

    Du kannst Fragen stellen.
    Das Skript stammt noch aus den Anfängen, als ich mit JS herumexperimentierte.
    Wer mag, kann ja das CSS herausnehmen und extra abspeichern, eben als CSS-Datei.
    Es müssen halt dann ein paar Änderungen vorgenommen werden.
    Und, wir hatten das Thema schon einmal.
    Ich finde es praktisch, mit einem Wisch den Pfad anpassen zu können.
    Und es gibt da noch weitere Kleinigkeiten, die mir per JS einfach leichter fallen.
    Variablen z.B. geht zwar auch per CSS, aber damit tu’ ich mir immer schwer.

    Zitat von 2002Andreas

    Warum sind dort 3 Icons als base64 Code enthalten?

    Die habe ich wohl vergessen!
    Sind alles ein und die selbe PNG, die muss ich, wohl noch runterladen und in eine SVG umwandeln.
    Oder ich hatte dazu einfach keine Lust, das kann natürlich auch sein.

  • Symbole in den Kontextmenüs [ Update ]

    • Mira_Belle
    • 22. Juli 2025 um 21:30

    Neu ab Version 141!

    JavaScript
    // Symbole.uc.js
    
    /* ****************************************************************************************************************** */
    /* Die Entstehung des Symbole.css => https://www.camp-firefox.de/forum/thema/134970/?postID=1205292#post1205292       */
    /* ****************************************************************************************************************** */ 
    /* Das JavaScript                                                                                                     */
    /* https://www.camp-firefox.de/forum/thema/134970/?postID=1216936#post1216936                                         */
    /* version 1.0                                                                                                        */
    /* https://www.camp-firefox.de/forum/thema/134970/?postID=1235046#post1235046                                         */
    /* version 2.0                                                                                                        */
    /* https://www.camp-firefox.de/forum/thema/134970/?postID=1272754#post1272754                                         */
    /* version 3.0                                                                                                        */
    /* https://www.camp-firefox.de/forum/thema/134970/?postID=1275606#post1275606                                         */
    /* version 4.0                                                                                                        */
    /* ****************************************************************************************************************** */
    
    (function() {
    //    if (location.href !== 'chrome://browser/content/browser.xhtml') return;
    
        let ProfilePath = PathUtils.toFileURI(PathUtils.join(PathUtils.profileDir, 'chrome', 'icons'));
    
    //    var css =`
    
    let sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);       
    let uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(`
    
    		/*--------------------------------------------------------------------------*/	
    		/*--------- Texte im Hamburgermenü und in den Submenüs eingerückt ----------*/
    		/*-------------- und in dem Anmeldenbutton das Icon eingefügt --------------*/
    		/*--------------------------------------------------------------------------*/
    
    		.subviewbutton:not(.subviewbutton-iconic, [checked="true"], [targetURI]) > .toolbarbutton-icon {
    			width: 16px;
    			height: 16px;
    			margin-inline-end: 8px !important;
    			-moz-context-properties: fill, fill-opacity;
    			fill: currentColor;
    		}
    
    		#appMenu-fxa-label2::before,
    		#fxa-manage-account-button::after {
    			content: "";
    			display: -moz-box;
    			border-radius: 50%;
    			background: var(--avatar-image-url) no-repeat center/contain;
    			-moz-context-properties: fill;
    			fill: currentColor;
    		}
    
    		#appMenu-fxa-label2::before {
    			width: 16px;
    			height: 16px;
    			margin-inline-end: 8px;
    		}
    
    		/* Neuer Tab */
    		#appMenu-new-tab-button2 { list-style-image: url("${ProfilePath}/tab-open.svg"); }
    		/* Neues Fenster */
    		#appMenu-new-window-button2 { list-style-image: url("${ProfilePath}/session.svg"); }
    		/* Neues privates Fenster */
    		#appMenu-new-private-window-button2 { list-style-image: url("${ProfilePath}/privateBrowsing.svg"); }
    		/* Lesezeichen */
    		#appMenu-bookmarks-button { list-style-image: url("${ProfilePath}/bookmark.svg"); }
    		/* Neues privates Fenster */
    		#appMenu-new-private-window-button2 { list-style-image: url("${ProfilePath}/privateBrowsing.svg"); }
    		/* Lesezeichen */
    		#appMenu-bookmarks-button { list-style-image: url("${ProfilePath}/bookmark.svg"); }
    		/* Chronik */
    		#appMenu-history-button { list-style-image: url("${ProfilePath}/history.svg"); }
    		/* Download */
    		#appMenu-downloads-button { list-style-image: url("${ProfilePath}/downloads.svg"); }
    		/* Passwörter */
    		#appMenu-passwords-button { list-style-image: url("${ProfilePath}/passwords.svg"); }
    		/* Add-ons und Themes */
    		#appMenu-extensions-themes-button { list-style-image: url("${ProfilePath}/addons.svg"); }
    		/* Drucken */
    		#appMenu-print-button2 { list-style-image: url("${ProfilePath}/printer.svg"); }
    		/* Seite speichern unter */
    		#appMenu-save-file-button2 { list-style-image: url("${ProfilePath}/folder-save.svg"); }
    		/* In Seite suchen */
    		#appMenu-find-button2 { list-style-image: url("${ProfilePath}/search.svg"); }
    		/* Seite übersetzen */
    		#appMenu-translate-button { list-style-image: url("${ProfilePath}/translations.svg"); }
    
    		/* Zoom */
    
    		#appMenu-zoom-controls::before {
    			margin-top: 3px !important;
    			margin-right: 10px !important; 
    			margin-left: -1px !important;
    			content: '' !important;
    			display: block !important;
    			width: 16px !important;
    			height: 16px !important;
    			mask-image:  url("${ProfilePath}/screenshot.svg") !important;
    			mask-repeat: no-repeat;
    			mask-position: center;
    			background-color: #e1e1e1 !important;
    		}
    
    		/*Einstellungen */
    		#appMenu-settings-button { list-style-image: url("${ProfilePath}/settings.svg"); }
    		/*Weitere Werkzeuge */
    		#appMenu-more-button2 { list-style-image: url("${ProfilePath}/debugging-workers.svg"); }
    		/* Problem mit Website melden */
    		#appMenu-report-broken-site-button { list-style-image: url("${ProfilePath}/warning.svg"); }
    		/* Hilfe */
    		#appMenu-help-button2 { list-style-image: url("${ProfilePath}/help.svg"); }
    		/* Beenden */
    		#appMenu-quit-button2 { list-style-image: url("${ProfilePath}/quit.svg"); }
    
    		/*= Panel - Bookmark =========================================================*/
    	
    		/* Lesezeichen bearbeiten */
    		
    		[data-l10n-id="bookmarks-bookmark-edit-panel"]::before {
    			margin-top: 3px !important;	
    			margin-right: -15px !important;
    			margin-left: -1px !important;
    			content: '' !important;
    			display: block !important;
    			width: 16px !important;
    			height: 16px !important;
    			mask-image: url("${ProfilePath}/window.svg") !important;
    			mask-repeat: no-repeat;
    			mask-position: center;
    			background-color: #e1e1e1 !important;
    		}
    
    		/* Aktuellen Tab als Lesezeichen ... */
    
    		[data-l10n-id="bookmarks-current-tab"]::before {
    			margin-top: 3px !important;	
    			margin-right: -15px !important;
    			margin-left: -1px !important;
    			content: '' !important;
    			display: block !important;
    			width: 16px !important;
    			height: 16px !important;
    			mask-image: url("${ProfilePath}/session.svg") !important;
    			mask-repeat: no-repeat;
    			mask-position: center;
    			background-color: #e1e1e1 !important;
    		}
    
    		/* Dieses Lesezeichen bearbeiten...  */
    		#panelMenuBookmarkThisPage { list-style-image: url("${ProfilePath}/bookmark-hollow.svg"); }
    		/* Lesezeichen durchsuchen */
    		#panelMenu_searchBookmarks { list-style-image: url("${ProfilePath}/search.svg"); }
    		/* Lesezeichen-Symbolleiste ausblenden */
    		#panelMenu_viewBookmarksToolbar { list-style-image: url("${ProfilePath}/bookmarks-toolbar.svg"); }
    		/* Lesezeichen verwalten */
    		#panelMenu_showAllBookmarks { list-style-image: url("${ProfilePath}/bookmarks-tray.svg"); } 
    
    		/*= Panel - Chronik ===========================================================*/
    		/*= Panel - History ==========================================================*/
    	
    		/* Kürzlich geschlossene Tabs */
    		#appMenuRecentlyClosedTabs { list-style-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACcklEQVRYR8WWzVEbQRBGtRHYHHy2iAAIgEJkIEdgcfbBEAEiAhcXrogITAbI5QAMVQ5gdfYBiEB8b6uHaq1md2ZXBk3VlHa0/fOmu6dni8GWR7Fl/4NWgOVyeSvAz5rHRVE8xWAls6//P7h3C8mWuRtLASzN0L2HkNOPWn/XnGgOI86QnwnkMgWSC4CdCkKTHf/UBCI1iMQXgaAbHV0AMIBBv+OF1qQJB7wDamwzpIXUnQgCubXRFcAbuJDRacyopYh3pIkBBHW0Fom+AHMZIx2tQyATCVybUCmd3bpCXwDsUGQnGRBE4tzkSMXM62wCkAVh6SglTE3cC+DgfwJgiyqPFlhwJIhTPf+w9a7vE6kIUDR7iTA3FqMDGOn5ztYU4zy8SwFwrDj3TeOp7Yx7JUUhNLUV4He7CzYGkIGhdsS9kDMe/N1hhfhoit0iYJcN+ctpvR5upsUZILJBd6R9MzrVALv+08N5ALkRwEQAwHzlT61X0p4qwql0QhO50PM8J/6SmQSH+j3U/G16FZC3kQIoJUzef0lxlOl8UMv5P+l9Mt2D+qlJAUSPTg6IIIjWkZO9lHMa0spoBJABdhxtHpkAPn1/SYU/GcFGG0Bj+8wE8Bv4JudXMb02gNCGn6Xc9QhWvlzz4a7gJlz7rnwFsMLhqEBO+x0acTR3mVGYSa46fhqlzbl+sVnBeAAvHOzzybUfI88EIHJEst5BXzflAULF4xRaFKd9nQdAiyz1RFSZwHCJ7dQj0PvI5UQDGcFM9VM1ttARYxEgR8y3GCMZZUYBCHvubbcp3EIRGNZTQH44Lm8NQY2NQ0t+tw+SppBtHeAFE7gPMJeICC4AAAAASUVORK5CYII="); }
    		/* Kürzlich geschlossene Fenster */
    		#appMenuRecentlyClosedWindows { list-style-image: url("${ProfilePath}/window.svg"); }
    		/* Vorherige Sitzung wiederherstellen */
    		#appMenu-restoreSession{ list-style-image: url("${ProfilePath}/session-restore.svg"); }
    		/* Neueste Chronik löschen ... */
    		#appMenuClearRecentHistory { list-style-image: url("${ProfilePath}/history-forget.svg"); }
    		/* Chronik verwalten */
    		#PanelUI-historyMore { list-style-image: url("${ProfilePath}/history.svg"); }
    		/* Alle Tabs wieder öffnen */
    		#appMenu-library-recentlyClosedTabs { list-style-image: url("${ProfilePath}/window-move.svg"); }
    		/* Alle Fenster wieder öffnen */
    		#appMenu-library-recentlyClosedWindows { list-style-image: url("${ProfilePath}/session-restore.svg"); }
    		/* Chronik durchsuchen */
    		#appMenuSearchHistory { list-style-image: url("${ProfilePath}/window-search.svg"); }
    
    		/*= Panel - More tools =======================================================*/
    	
    		/* Symbolleiste anpassen ... */
    		#appmenu-moreTools-button { list-style-image: url("${ProfilePath}/Themes.svg"); }
    		/* Werkzeuge für Web-... */
    		#appmenu-developer-tools-view .subviewbutton:nth-child(1) { list-style-image: url("${ProfilePath}/developer.svg"); }
    		/* Task Manager */
    		#appmenu-developer-tools-view .subviewbutton:nth-child(2) { list-style-image: url("${ProfilePath}/performance.svg"); }
    		/* Externes Debugging - Edge bug.svg */
    		#appmenu-developer-tools-view .subviewbutton:nth-child(3) { list-style-image: url("${ProfilePath}/bug.svg"); }
    		/* Browser-Werkzeuge - Edge webdeveloper.svg */
    		#appmenu-developer-tools-view .subviewbutton:nth-child(4) { list-style-image: url("${ProfilePath}/window-dev-tools.svg"); }
    		/* Browser-Inhaltswerkzeuge */
    		#appmenu-developer-tools-view .subviewbutton:nth-child(5) { list-style-image: url("${ProfilePath}/command-frames.svg"); }
    		/* Browser-Konsole */
    		#appmenu-developer-tools-view .subviewbutton:nth-last-child(5) { list-style-image: url("${ProfilePath}/command-console.svg"); }
    		/* Bildschirmgrößen testen */
    		#appmenu-developer-tools-view .subviewbutton:nth-last-child(4) { list-style-image: url("${ProfilePath}/command-responsivemode.svg"); }
    		/* Farbpipette */
    		#appmenu-developer-tools-view .subviewbutton:nth-last-child(3) { list-style-image: url("${ProfilePath}/command-eyedropper.svg"); }
    		/* Seitenquelltext anzeigen - Edge file-search.svg */
    		#appmenu-developer-tools-view .subviewbutton:nth-last-child(2) { list-style-image: url("${ProfilePath}/document-search.svg"); }
    		/* Erweiterungen für Entwickler */
    		#appmenu-developer-tools-view .subviewbutton:nth-last-child(1) { list-style-image: url("${ProfilePath}/addons.svg"); }
    	
    		/*= Panel - Help =============================================================*/
    	
    		/* Hilfe erhalten */  
    		#appMenu_menu_openHelp { list-style-image: url("${ProfilePath}/help.svg"); }
    		/* Ideen und Feedback teilen ... */
    		#appMenu_feedbackPage { list-style-image: url("${ProfilePath}/send.svg"); }
    		/* Fehlerbehebungsmodus ... */
    		#appMenu_helpSafeMode { list-style-image: url("${ProfilePath}/debugging-workers.svg"); }
    		/* Weitere Informationen zur ... */
    		#appMenu_troubleShooting { list-style-image: url("${ProfilePath}/more.svg"); }
    		/* ?? Eine Glühbirne ?? */
    		#appMenu_help_reportSiteIssue { list-style-image: url("${ProfilePath}/lightbulb.svg"); }
    		/* Betrügerische Website melden ... */
    		#appMenu_menu_HelpPopup_reportPhishingtoolmenu { list-style-image: url("${ProfilePath}/warning.svg"); }
    		/* Zu einem neuen Gerät wechseln */
    		#appMenu_helpSwitchDevice { list-style-image: url("${ProfilePath}/send-to-device.svg"); }
    		/* Über Firefox */
    		#appMenu_aboutName { list-style-image: url("${ProfilePath}/firefox.svg"); }
    
    		/* ================================================================================================== */
    
    		/*Abstände für alle Icons im Kontextmenü*/
    		
    		menupopup:not(.in-menulist) > menu:not(.menu-iconic),
    		menupopup:not(.in-menulist, [aria-label]) > menuitem:not(.menuitem-iconic, [checked="true"]) {
    			padding-inline-start: calc(1em + 24px) !important;
    			background-position: left 1em center;
    			background-repeat: no-repeat;
    			background-size: 16px;
    			-moz-context-properties: fill, fill-opacity;
    			fill: #E0E0E0 !important;
    		}
    		/*	
    		menu[_moz-menuactive="true"][disabled="true"],
    		menuitem[_moz-menuactive="true"][disabled="true"] { */
    		/*
    		:is(menu,menuitem)[_moz-menuactive="true"][disabled="true"] {
    			background-color: #5C5C5C !important;
    			border-radius: 4px !important;
    		}	
    		*/
    		#context-savepage { background-image: url("${ProfilePath}/folder-save.svg"); }
    		#context-pocket { background-image: url("${ProfilePath}/pocket-outline.svg"); }
    		#context-selectall { background-image: url("${ProfilePath}/select-all-on.svg"); }
    		#context-take-screenshot { background-image: url("${ProfilePath}/screenshot.svg"); }
    		#context-viewsource { background-image: url("${ProfilePath}/document-search.svg"); }
    		#context-inspect-a11y { background-image: url("${ProfilePath}/tool-accessibility.svg"); }
    		#context-inspect { background-image: url("${ProfilePath}/command-pick.svg"); }
    		#context-copy { background-image: url("${ProfilePath}/edit-copy.svg"); }
    
    #context-closetab { background-image: url("${ProfilePath}/tab-close.svg"); }
    
    		#context-searchselect { background-image: url("${ProfilePath}/search.svg"); }
    		#context-translate-selection { background-image: url(chrome://browser/skin/translations.svg); }
    		#context-viewpartialsource-selection { background-image: url("${ProfilePath}/document-search.svg"); }
    
    		#context-openlinkincurrent { background-image: url("${ProfilePath}/link-square.svg"); }
    		#context-openlinkintab { background-image: url("${ProfilePath}/tab-open.svg"); }
    		#context-openlink { background-image: url("${ProfilePath}/session.svg"); }
    		#context-openlinkprivate { background-image: url("${ProfilePath}/privateBrowsing.svg"); }
    		#context-bookmarklink { background-image: url("${ProfilePath}/folder-save.svg"); }
    		#context-savelink { background-image: url("${ProfilePath}/image-add.svg"); }
    		#context-print-selection { background-image: url("${ProfilePath}/printer.svg"); }
    
    		#context-savelinktopocket { background-image: url("${ProfilePath}/image.svg"); }
    		#context-copylink { background-image: url("${ProfilePath}/link.svg"); }
    		#context-stripOnShareLink { background-image: url("${ProfilePath}/link-track.svg"); }
    		#context-reloadimage { background-image: url("${ProfilePath}/reload.svg"); }
    		#context-viewimage { background-image: url("${ProfilePath}/image-add.svg"); }
    		#context-saveimage { background-image: url("${ProfilePath}/image.svg"); }
    		#context-copyimage-contents  { background-image: url("${ProfilePath}/image-copy.svg"); }
    		#context-copyimage { background-image: url("${ProfilePath}/image-resize.svg"); }
    		#context-sendimage { background-image: url("${ProfilePath}/link.svg"); }
    		#context-setDesktopBackground { background-image: url("${ProfilePath}/image-resize.svg"); }
    
    		#_36bde3a5-9f17-4ad9-a587-d4a3c8e8d200_-menuitem-_background-tab_link { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACcklEQVRYR8WWzVEbQRBGtRHYHHy2iAAIgEJkIEdgcfbBEAEiAhcXrogITAbI5QAMVQ5gdfYBiEB8b6uHaq1md2ZXBk3VlHa0/fOmu6dni8GWR7Fl/4NWgOVyeSvAz5rHRVE8xWAls6//P7h3C8mWuRtLASzN0L2HkNOPWn/XnGgOI86QnwnkMgWSC4CdCkKTHf/UBCI1iMQXgaAbHV0AMIBBv+OF1qQJB7wDamwzpIXUnQgCubXRFcAbuJDRacyopYh3pIkBBHW0Fom+AHMZIx2tQyATCVybUCmd3bpCXwDsUGQnGRBE4tzkSMXM62wCkAVh6SglTE3cC+DgfwJgiyqPFlhwJIhTPf+w9a7vE6kIUDR7iTA3FqMDGOn5ztYU4zy8SwFwrDj3TeOp7Yx7JUUhNLUV4He7CzYGkIGhdsS9kDMe/N1hhfhoit0iYJcN+ctpvR5upsUZILJBd6R9MzrVALv+08N5ALkRwEQAwHzlT61X0p4qwql0QhO50PM8J/6SmQSH+j3U/G16FZC3kQIoJUzef0lxlOl8UMv5P+l9Mt2D+qlJAUSPTg6IIIjWkZO9lHMa0spoBJABdhxtHpkAPn1/SYU/GcFGG0Bj+8wE8Bv4JudXMb02gNCGn6Xc9QhWvlzz4a7gJlz7rnwFsMLhqEBO+x0acTR3mVGYSa46fhqlzbl+sVnBeAAvHOzzybUfI88EIHJEst5BXzflAULF4xRaFKd9nQdAiyz1RFSZwHCJ7dQj0PvI5UQDGcFM9VM1ttARYxEgR8y3GCMZZUYBCHvubbcp3EIRGNZTQH44Lm8NQY2NQ0t+tw+SppBtHeAFE7gPMJeICC4AAAAASUVORK5CYII="); }
    
    		/* Rückgängig */
    		#context-undo { background-image: url("${ProfilePath}/undo.svg"); }
    		/* Wiederherstellen */
    		#context-redo{ background-image: url("${ProfilePath}/sync.svg"); }
    		/* Ausschneiden */
    		#context-cut { background-image: url("${ProfilePath}/edit-cut.svg"); }
    		/* Kopieren */
    		#context-copy { background-image: url("${ProfilePath}/copy.svg"); }
    		/* Einfügen */
    		#context-paste { background-image: url("${ProfilePath}/paste.svg"); }
    		/* Löschen */
    		#context-delete { background-image: url("${ProfilePath}/delete.svg"); }
    		/* Alles auswählen */
    		#context-selectall { background-image: url("${ProfilePath}/select-all-on.svg"); }
    		/* Rechtschreibung prüfen */
    		#spell-check-enabled { background-image: url("${ProfilePath}/spell-check.svg"); }
    
    
    		/* ----------------------------------------- */
    		/* --------- Kontextmenüs der Tabs --------- */
    		/* ----------------------------------------- */
    
    		/* Neuer Tab */
    		#context_openANewTab { background-image: url("${ProfilePath}/tab-open.svg"); }
    		/* Tab neu laden */
    		#context_reloadTab { background-image: url("${ProfilePath}/reload.svg"); }
    		/* Alle Tabs neu laden */
    		#tabContextMenu > menuitem:nth-child(7) { background-image: url("${ProfilePath}/reload.svg");
    		fill: #fbc96e !important; }
    		/* Tab stummschalten */
    		#context_toggleMuteTab { background-image: url("${ProfilePath}/audio-muted.svg"); }
    		/* Stummschaltung für Tab aufheben */
    		#context_toggleMuteTab[muted] { background-image: url("${ProfilePath}/audio.svg"); }
    		/* Tab anheften */
    		#context_pinTab { background-image: url("${ProfilePath}/glyph-pin-16.svg"); }
    		/* Tab klonen */
    		#context_duplicateTab { background-image: url("${ProfilePath}/duplicat.svg"); }
    		/* Tab als Lesezeichen hinzufügen */
    		#context_bookmarkTab { background-image: url("${ProfilePath}/bookmark-hollow.svg"); }
    		/* Tab verschieben */
    		#context_moveTabOptions { background-image: url("${ProfilePath}/arrow-swap.svg"); }
    		
    			/* <<< Submenu_Tab verschieben >>> */	
    		
    			/* An Anfang verschieben */
    			#context_moveToStart { background-image: url("${ProfilePath}/arrow-back.svg"); }
    			/* An Ende verschieben */
    			#context_moveToEnd { background-image: url("${ProfilePath}/arrow-forward.svg"); }
    			/* In neues Fenster verschieben */
    			#context_openTabInWindow { background-image: url("${ProfilePath}/session-restore.svg"); }	
    		
    		/* Teilen */
    		.share-tab-url-item { display: none; }
    		/* Alle Tabs auswählen */
    		#context_selectAllTabs { background-image: url("${ProfilePath}/tab-multiple.svg"); }
    		/* Tab schließen */
    		#context_closeTab { background-image: url("${ProfilePath}/tab-close.svg"); }
    		/*Mehrere Tabs schließen */
    		#context_closeTabOptions { background-image: url("${ProfilePath}/tab-close.svg"); }
    
    			/* <<< Submenu_Mehrere Tabs schließen >>> */
    			
    			/* Doppelte Tabs schließen */
    			#context_closeDuplicateTabs { background-image: url("${ProfilePath}/tab-close.svg");
    			fill: #7B7B7B !important; }
    			/* Linke Tabs schließen */
    			#context_closeTabsToTheStart { background-image: url("${ProfilePath}/tab-left.svg"); }
    			/* Rechte Tabs schließen */
    			#context_closeTabsToTheEnd { background-image: url("${ProfilePath}/tab-right.svg"); }
    			/* Andere Tabs schließen */
    			#context_closeOtherTabs { background-image: url("${ProfilePath}/tab-all.svg"); }
    			/* Alle Tabs schließen */
    			#context_closeAllTabs { background-image: url("${ProfilePath}/tab-all-close.svg"); }
    		
    		/* Geschlossenen Tab wieder öffnen */
    		#context_undoCloseTab { background-image: url("${ProfilePath}/tab-restore"); }
    
    		/* Firefox "Beenden" */
    		#context_closeApp{ background-image: url("${ProfilePath}/Power_off_redorange.svg"); }
    
    		/* ================================================================ */
    
    		/* Neuer Tab */
    		#toolbar-context-openANewTab { background-image: url("${ProfilePath}/session.svg"); padding-left: 13px !important; }
    		/* Ausgewählten Tab neu laden */
    		#toolbar-context-reloadSelectedTab { background-image: url("${ProfilePath}/reload.svg"); padding-left: 13px !important; }
    		/* Ausgewählten Tab als Lesezeichen hinzufügen... */
    		#toolbar-context-bookmarkSelectedTab { background-image: url("${ProfilePath}/bookmark-hollow.svg"); padding-left: 13px !important; }
    		/* Alle Tabs auswählen */
    		#toolbar-context-selectAllTabs { background-image: url("${ProfilePath}/tab-multiple.svg"); padding-left: 13px !important; }
    		/* Geschlossene Tabs wieder öffnen */
    		#toolbar-context-undoCloseTab { background-image: url("${ProfilePath}/undo.svg"); padding-left: 13px !important; }
    
    		/* Vertikale Tabs aktivieren */
    		#toolbar-context-toggle-vertical-tabs {padding-left: 13px !important; }
    
    		/* Lesezeichen-Symbolleiste */
    		#toggle_PersonalToolbar { background-image: url("${ProfilePath}/bookmarks-toolbar.svg"); }
    
    		/* Symbolleiste anpassen... */
    		#toolbar-context-customize { background-image: url("${ProfilePath}/Themes.svg"); padding-left: 13px !important; }
    
    
    
    		/* --------------------------------------------- */
    		/* - Kontextmenüs der Lesezeichen-Symbolleiste - */
    		/* --------------------------------------------- */
    
    	#placesContext_openSeparator { display: none !important; }
    
    		/* Löschen */
    		#placesContext_delete { background-image: url("${ProfilePath}/delete.svg"); padding-left: 13px !important; }
    		/* Ausschneiden */
    		#placesContext_cut { background-image: url("${ProfilePath}/edit-cut.svg"); padding-left: 13px !important; }
    		/* Kopieren */
    		#placesContext_copy { background-image: url("${ProfilePath}/copy.svg"); padding-left: 13px !important; }
    		/* Einfügen */
    		#placesContext_paste, #placesContext_paste_group { background-image: url("${ProfilePath}/paste.svg"); padding-left: 13px !important; }
    
    		/* Alle Lesezeichen öffnen */
    		#placesContext_openBookmarkContainer\:tabs { background-image: url("${ProfilePath}/window-move.svg"); }
    		/* Lesezeichen hinzufügen... */
    		#placesContext_new\:bookmark { background-image: url("${ProfilePath}/bookmark-hollow.svg"); }
    		/* Ordner hinzufügen... */
    		#placesContext_new\:folder { background-image: url("${ProfilePath}/folder.svg"); }
    		/* Trennlinie hinzufügen... */
    		#placesContext_new\:separator { background-image: url("${ProfilePath}/vertical-line.svg"); }
    
    		/* Lesezeichen verwalten */
    		#placesContext_showAllBookmarks { background-image: url("${ProfilePath}/bookmarks-tray.svg"); }
    		/* In neuem Tab öffnen */
    		#placesContext_open\:newtab { background-image: url("${ProfilePath}/session.svg"); }
    		/* In neuem Fenster öffnen */
    		#placesContext_open\:newwindow { background-image: url("${ProfilePath}/window.svg"); }
    		/* In neuem privaten Fenster öffnen */
    		#placesContext_open\:newprivatewindow { background-image: url("${ProfilePath}/privateBrowsing.svg"); }
    
    		/* Lesezeichen bearbeiten... */
    		#placesContext_show_bookmark\:info { background-image: url("${ProfilePath}/edit.svg"); }
    		/* Lesezeichen löschen */
    		#placesContext_deleteBookmark { background-image: url("${ProfilePath}/delete.svg"); }
    
    		/* ------------------------------------------ */
    		/* ------- Kontextmenüs der Menuleise ------- */
    		/* ------------------------------------------ */
    
    		/* In Überhangmenü verschieben */
    		.customize-context-moveToPanel { background-image: url("${ProfilePath}/glyph-pin-16.svg"); }
    		/* Aus Symbolleiste entfernen */
    		.customize-context-removeFromToolbar { background-image: url("${ProfilePath}/delete.svg"); }
    
    		/* --------------------------------------------- */
    		/* ------- Kontextmenüs in der Menuleise ------- */
    		/* --------------------------------------------- */
    
    		/* --- Datei --- */
    
    		/* Neuer Tab */
    		#menu_newNavigatorTab { background-image: url("${ProfilePath}/tab-open.svg"); }
    		/* Neues Fenster */
    		#menu_newNavigator { background-image: url("${ProfilePath}/session.svg"); }
    		/* Neues privates Fenster */
    		#menu_newPrivateWindow { background-image: url("${ProfilePath}/privateBrowsing.svg"); }
    		/* Datei öffnen... */
    		#menu_openFile { background-image: url("${ProfilePath}//folder-open.svg"); }
    		/* Tab schließen ausblenden	! */
    		#menu_close { display: none !important; }
    		/* Fenster schließen ausblenden	! */
    		#menu_closeWindow { display: none !important; }
    		/* Seite speichern unter... */
    		#menu_savePage { background-image: url("${ProfilePath}/folder-save.svg"); }
    		/* Link per E-Mail senden... */
    		#menu_sendLink { background-image: url("${ProfilePath}/mail.svg"); }
    		/* Drucken... */
    		#menu_print { background-image: url("${ProfilePath}/printer.svg"); }
    		/* Daten aus einem anderen Browser importieren... */
    		#menu_importFromAnotherBrowser { background-image: url("${ProfilePath}/import.svg"); }
    		/* Offline arbeiten */
    		#goOfflineMenuitem { background-image: url("${ProfilePath}/plug-disconnected.svg"); }
    		/* Beenden */
    		/* #menu_FileQuitItem { background-image: url("${ProfilePath}/quit.svg"); } */
    		#menu_FileQuitItem { background-image: url("${ProfilePath}/Power_off_redorange.svg"); }
    
    		/* --- Bearbeiten --- */
    
    		/* Rückgängig */
    		#menu_undo { background-image: url("${ProfilePath}/undo.svg");}
    		/* Wiederherstellen */
    		#menu_redo { background-image: url("${ProfilePath}/sync.svg"); padding-left: 36px;}
    		/* Ausschneiden */
    		#menu_cut { background-image: url("${ProfilePath}/edit-cut.svg"); padding-left: 36px;}
    		/* Kopieren */
    		#menu_copy { background-image: url("${ProfilePath}/copy.svg"); padding-left: 36px;}
    		/* Einfügen */
    		#menu_paste { background-image: url("${ProfilePath}/paste.svg"); padding-left: 36px;}
    		/* Löschen */
    		#menu_delete { background-image: url("${ProfilePath}/delete.svg"); padding-left: 36px;}
    		/* Alles auswählen */
    		#menu_selectAll { background-image: url("${ProfilePath}/select-all-on.svg"); padding-left: 36px;}
    		/* Seite durchsuchen... */
    	/*	#menu_find { background-image: url("${ProfilePath}/search.svg"); padding-left: 36px;}	*/
    		#menu_find { background-image: url("${ProfilePath}/Github-Octicons-Search-16.svg"); padding-left: 36px;}
    		/* Weitersuchen */
    		#menu_findAgain { background-image: url("${ProfilePath}/Github-Octicons-Search-24.svg"); padding-left: 36px;}
    
    		/* --- Ansicht --- */
    
    		/* Symbolleisten */
    		#viewToolbarsMenu { background-image: url("${ProfilePath}/toolbar.svg"); }
    		
    			/* <<< Submenu_Symbolleisten >>> */
    			
    			#toggle_PersonalToolbar { background-image: url("${ProfilePath}/bookmarks-toolbar.svg"); padding-left: 13px !important; }
    			#menu_customizeToolbars { background-image: url("${ProfilePath}/Themes.svg"); padding-left: 13px !important; }	
    
    			/* ----------------------------------- */
    			/* -- Checkbox und Haken im Submenu -- */
    			/* ----------------------------------- */
    
    			menuitem[checked="true"] > .menu-iconic-left {
    				list-style-image: url("${ProfilePath}/check.svg");
    				fill: #00E400 !important;
    			}
    
    			[data-l10n-id="toolbar-context-menu-bookmarks-toolbar-always-show-2"]:not([checked="true"]),
    			[data-l10n-id="toolbar-context-menu-bookmarks-toolbar-on-new-tab-2"]:not([checked="true"]),
    			[data-l10n-id="toolbar-context-menu-bookmarks-toolbar-never-show-2"]:not([checked="true"]),
    			#menu_zoomReset:not([checked="true"]),
    			#toggle_zoom:not([checked="true"]),
    			#menu_pageStylePersistentOnly:not([checked="true"]) {
    				background-image: url("${ProfilePath}/square.svg");
    				background-repeat: no-repeat;
    			}
    			#toggle_PersonalToolbar > menupopup:nth-child(4) > menuitem:nth-child(2) > label:nth-child(2),
    			#toggle_PersonalToolbar > menupopup:nth-child(4) > menuitem:nth-child(3) > label:nth-child(2) {
    				margin-left: -25px;
    			}
    			/* ----------------------------------- */
    
    		/* Sidebar */
    		#viewSidebarMenuMenu { background-image: url("${ProfilePath}/Dock Side Left.svg"); }
    
    			/* <<< Submenu_Sidebar >>> */
    
    			#menu_bookmarksSidebar:not([checked="true"]) { 
    				background-image: url("${ProfilePath}/bookmark.svg"); 
    				background-repeat: no-repeat;
    			}
    			#menu_historySidebar:not([checked="true"]) { 
    				background-image: url("${ProfilePath}/history.svg"); 
    				background-repeat: no-repeat;
    			}			
    			#menu_tabsSidebar:not([checked="true"]) { 
    				background-image: url("${ProfilePath}/Dock Side Left.svg"); 
    				background-repeat: no-repeat;
    			}
    			#menu_genaiChatSidebar:not([checked="true"]) { 
    				background-image: url("${ProfilePath}/robot-icon.svg"); 
    				background-repeat: no-repeat;
    			}
    
    			/*#menu_historySidebar, #menu_tabsSidebar, #menu_bookmarksSidebar, #menu_genaiChatSidebar { padding-left: 13px !important; }*/
    
    		/* Zoom */
    		#viewFullZoomMenu { background-image: url("${ProfilePath}/screenshot.svg"); }
    		
    			/* <<< Submenu_Zoom >>> */
    
    			#menu_zoomEnlarge { background-image: url("${ProfilePath}/zoom-in.svg"); }	/*  +  */
    			#menu_zoomReduce { background-image: url("${ProfilePath}/zoom-out.svg"); }	/*  -  */
    			/*#menu_zoomReset, #toggle_zoom { padding-left: 13px !important; }*/
    		
    		/* Webseiten-Stil */
    		#pageStyleMenu { background-image: url("${ProfilePath}/document-css.svg"); }
    		
    			/* <<< Submenu_Webseiten-Stil >>> */
    		
    			#menu_pageStyleNoStyle:not([checked="true"]) { 
    				background-image: url("${ProfilePath}/document-css.svg"); 
    				background-position: left 1em center;
    				background-repeat: no-repeat;
    				padding-left: 13px !important;
    			}	
    		
    		/* Textkodierung reparieren */
    		#repair-text-encoding { background-image: url("${ProfilePath}/characterEncoding.svg");}
    		/* Vollbild */
    		#fullScreenItem { background-image: url("${ProfilePath}/fullscreen.svg");}
    
    		/* --- Chronik --- */
    
    		/* Gesamte Chronik anzeigen */
    		#menu_showAllHistory { background-image: url("${ProfilePath}/history.svg"); padding-left: 13px !important; }
    		/* Neueste Chronik löschen... */
    		#sanitizeItem { background-image: url("${ProfilePath}/history-forget.svg"); padding-left: 13px !important; }
    		/* Vorherige Sitzung wiederherstellen */
    		#historyRestoreLastSession { background-image: url("${ProfilePath}/session-restore.svg"); padding-left: 13px !important; }
    		/* Chronik durchsuchen */
            #menu_searchHistory { background-image: url("${ProfilePath}/window-search.svg"); padding-left: 13px !important; }
    		/* Kürzlich geschlossene Tabs */
    		#historyUndoMenu { background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAACcklEQVRYR8WWzVEbQRBGtRHYHHy2iAAIgEJkIEdgcfbBEAEiAhcXrogITAbI5QAMVQ5gdfYBiEB8b6uHaq1md2ZXBk3VlHa0/fOmu6dni8GWR7Fl/4NWgOVyeSvAz5rHRVE8xWAls6//P7h3C8mWuRtLASzN0L2HkNOPWn/XnGgOI86QnwnkMgWSC4CdCkKTHf/UBCI1iMQXgaAbHV0AMIBBv+OF1qQJB7wDamwzpIXUnQgCubXRFcAbuJDRacyopYh3pIkBBHW0Fom+AHMZIx2tQyATCVybUCmd3bpCXwDsUGQnGRBE4tzkSMXM62wCkAVh6SglTE3cC+DgfwJgiyqPFlhwJIhTPf+w9a7vE6kIUDR7iTA3FqMDGOn5ztYU4zy8SwFwrDj3TeOp7Yx7JUUhNLUV4He7CzYGkIGhdsS9kDMe/N1hhfhoit0iYJcN+ctpvR5upsUZILJBd6R9MzrVALv+08N5ALkRwEQAwHzlT61X0p4qwql0QhO50PM8J/6SmQSH+j3U/G16FZC3kQIoJUzef0lxlOl8UMv5P+l9Mt2D+qlJAUSPTg6IIIjWkZO9lHMa0spoBJABdhxtHpkAPn1/SYU/GcFGG0Bj+8wE8Bv4JudXMb02gNCGn6Xc9QhWvlzz4a7gJlz7rnwFsMLhqEBO+x0acTR3mVGYSa46fhqlzbl+sVnBeAAvHOzzybUfI88EIHJEst5BXzflAULF4xRaFKd9nQdAiyz1RFSZwHCJ7dQj0PvI5UQDGcFM9VM1ttARYxEgR8y3GCMZZUYBCHvubbcp3EIRGNZTQH44Lm8NQY2NQ0t+tw+SppBtHeAFE7gPMJeICC4AAAAASUVORK5CYII="); }
    		/* Kürzlich geschlossene Fenster */
    		#historyUndoWindowMenu { background-image: url("${ProfilePath}/window.svg"); }
    
    		/* Lesezeichen */
    
    		/* Lesezeichen verwalten */
    		#bookmarksShowAll { background-image: url("${ProfilePath}/bookmarks-tray.svg"); padding-left: 13px !important; }
    		/* Aktuellen Tab als Lesezeichen hinzufügen */
    		#menu_bookmarkThisPage { background-image: url("${ProfilePath}/bookmark-hollow.svg"); padding-left: 13px !important; }
    		/* Lesezeichen durchsuchen */
    		#menu_searchBookmarks { background-image: url("${ProfilePath}/search.svg"); padding-left: 13px !important; }
    		/* Lesezeichen-Symbolleiste */
    		#bookmarksToolbarFolderMenu { list-style-image: url("${ProfilePath}/bookmarksToolbar.svg"); }
    		/* Weitere Lesezeichen */
    		#menu_unsortedBookmarks { list-style-image: url("${ProfilePath}/mail-inbox-all.svg"); }
    
    		/* --- Extras --- */
    
    		/* Downloads */
    		#menu_openDownloads { background-image: url("${ProfilePath}/downloads.svg"); padding-left: 36px;}
    		/* Add-ons und Themes */
    		#menu_openAddons { background-image: url("${ProfilePath}/addons.svg"); padding-left: 36px;}
    		/* Firefox View */
    		#menu_openFirefoxView { background-image: url("${ProfilePath}/firefox.svg"); padding-left: 36px;}
    		/* Anmelden */
    		#sync-setup { background-image: url("${ProfilePath}/avatar-empty.svg"); padding-left: 36px;}
    		/* Browser-Werkzeuge */
    		#browserToolsMenu { background-image: url("${ProfilePath}/debugging-workers.svg"); padding-left: 36px;}
    		
    			/* <<< Submenu_Browser-Werkzeuge >>> */	
    
    			/* Werkzeuge für Web-Entwickler */
    			#menu_devToolbox { background-image: url("${ProfilePath}/developer.svg");}
    			/* Task-Manager */
    			#menu_taskManager { background-image: url("${ProfilePath}/performance.svg"); }
    			/* Externes Debugging */
    			#menu_devtools_remotedebugging { background-image: url("${ProfilePath}/bug.svg"); }
    			/* Browser-Werkzeuge */
    			#menu_browserToolbox { background-image: url("${ProfilePath}/window-dev-tools.svg"); }
    			/* Browser-Inhaltswerkzeuge */
    			#menu_browserContentToolbox { background-image: url("${ProfilePath}/command-frames.svg"); }
    			/* Browser-Konsole */
    			#menu_browserConsole { background-image: url("${ProfilePath}/command-console.svg"); }
    			/* Bildschirmgrößen testen */
    			#menu_responsiveUI { background-image: url("${ProfilePath}/command-responsivemode.svg"); }
    			/*Farbpipette */
    			#menu_eyedropper { background-image: url("${ProfilePath}/command-eyedropper.svg"); }
    			/* Seitenquelltext anzeigen */
    			#menu_pageSource { background-image: url("${ProfilePath}/document-search.svg"); }
    			/* Erweiterungen für Entwickler */
    			#extensionsForDevelopers { background-image: url("${ProfilePath}/addons.svg"); }
    			
    		
    		/* Seiteninformationen */
    		#menu_pageInfo { background-image: url("${ProfilePath}/document-endnote.svg"); padding-left: 36px;}
    		/* Einstellungen */
    		#menu_preferences { background-image: url("${ProfilePath}/settings.svg"); padding-left: 36px;}
    
    		/* --- Hilfe --- */
    
    		/* Hilfe erhalten */
    		#menu_openHelp { background-image: url("${ProfilePath}/help.svg"); padding-left: 36px;}
    		/* Problem mit Website melden */
    		#help_reportBrokenSite { background-image: url("${ProfilePath}/warning.svg"); padding-left: 36px;}
    		/* Ideen und Feedback teilen... */
    		#feedbackPage { background-image: url("${ProfilePath}/send.svg"); padding-left: 36px;}
    		/* Fehlerbehebungsmodus... */
    		#helpSafeMode { background-image: url("${ProfilePath}/debugging-workers.svg"); padding-left: 36px;}
    		/* Weitere Informationen zur Fehlerbehebung */
    		#troubleShooting { background-image: url("${ProfilePath}/more.svg"); padding-left: 36px;}
    		/* Betrügerische Website melden... */
    		#menu_HelpPopup_reportPhishingtoolmenu { background-image: url("${ProfilePath}/warning.svg"); padding-left: 36px;}
    		/* Zu einem neuen Gerät wechseln */
    		#helpSwitchDevice { background-image: url("${ProfilePath}/send-to-device.svg"); padding-left: 36px;}
    		/* Über Firefox */
    		#aboutName { background-image: url("${ProfilePath}/firefox.svg"); padding-left: 36px;}
    
    		/* ---------------------------------------------- */
    		/* ------------- Kontextmenü Frames ------------- */
    		/* ---------------------------------------------- */
    		
    		/* Aktueller Frame */
    		#frame { background-image: url("${ProfilePath}/command-frames.svg"); 
    		background-repeat: no-repeat;
    		}
    
    			/* <<< Submenu_Aktueller Frame >>> */	
    
    			/* Nur diesen Frame anzeigen */
    			#context-showonlythisframe { background-image: url("${ProfilePath}/tab.svg"); }
    			/* Frame in neuem Tab öffnen */
    			#context-openframeintab { background-image: url("${ProfilePath}/open-in-new.svg"); }
    			/* Frame in neuem Fenster öffnen */
    			#context-openframe { background-image: url("${ProfilePath}/window.svg"); }
    			/* Frame neu laden */
    			#context-reloadframe { background-image: url("${ProfilePath}/reload.svg"); }
    			/*Lesezeichen für diesen Frame hinzufügen */
    			#context-bookmarkframe { background-image: url("${ProfilePath}/bookmark-hollow.svg"); }
    			/*Frame speichern unter... */
    			#context-saveframe { background-image: url("${ProfilePath}/folder-save.svg"); }
    			/* Frame drucken... */
    			#context-printframe { background-image: url("${ProfilePath}/printer.svg"); }
    			/* Bildschirmfoto aufnehmen */
    			#context-take-frame-screenshot { background-image: url("${ProfilePath}/screenshot.svg"); }
    			/* Frame-Quelltext anzeigen */
    			#context-viewframesource { background-image: url("${ProfilePath}/document-search.svg"); }
    			/* Frame-Informationen anzeigen */
    			#context-viewframeinfo { background-image: url("${ProfilePath}/info.svg"); }
    
    		/* ---------------------------------------------- */
    		/* ----------- Kontextmenü Adressfeld ----------- */
    		/* ---------------------------------------------- */
    		/*	
    		#urlbar-input-container {
    			padding-inline-start: calc(1em + 24px) !important;
    			background-position: left 1em center;
    			background-repeat: no-repeat;
    			background-size: 16px;
    			-moz-context-properties: fill, fill-opacity;
    			fill: currentColor;
    		}
    		*/
    		/* Rückgängig */
    		[data-l10n-id="text-action-undo"] {
    			background-image: url("${ProfilePath}/undo.svg");
    		}
    		/* Wiederherstellen */
    		[data-l10n-id="text-action-redo"] {
    			background-image: url("${ProfilePath}/sync.svg");
    		}
    		/* Ausschneiden */
    		[data-l10n-id="text-action-cut"] {
    			background-image: url("${ProfilePath}/edit-cut.svg");
    		}
    		/* Kopieren */
    		[data-l10n-id="text-action-copy"] {
    		/*	background-image: url("${ProfilePath}/copy.svg");	*/
    			background-image: url("${ProfilePath}/link.svg");
    		}
    		/* Kopieren ohne Tracking */
    		#strip-on-share {
    		/*	background-image: url("${ProfilePath}/copy_without.svg");	*/
    			background-image: url("${ProfilePath}/link-track.svg");	
    		}		
    		/* Einfügen */
    		[data-l10n-id="text-action-paste"] {	
    			background-image: url("${ProfilePath}/paste.svg");
    		}
    		/* Einfügen & Los */
    		#paste-and-go {
    			background-image: url("${ProfilePath}/redo.svg");
    		}
    		/* Löschen */
    		[data-l10n-id="text-action-delete"] {
    			background-image: url("${ProfilePath}/delete.svg");
    		}
    		/* Alles auswählen */
    		[data-l10n-id="text-action-select-all"] {
    			background-image: url("${ProfilePath}/select-all-on.svg");
    		}
    
    		/* ------------------------------------------- */
    		/* ---------- Symbole der Menuleise ---------- */
    		/* ------------------------------------------- */
    
    		/* Datei  */
    		#file-menu::before { background: url("${ProfilePath}/mail-inbox-all.svg") no-repeat !important; }
    		/* Bearbeiten  */
    		#edit-menu::before { background: url("${ProfilePath}/edit.svg") no-repeat !important; }
    		/* Ansicht  */
    		#view-menu::before { background: url("${ProfilePath}/content-view.svg") no-repeat !important; }
    		/* Chronik  */
    		#history-menu::before { background: url("${ProfilePath}/history.svg") no-repeat !important; }
    		/* Lesezeichen  */
    		#bookmarksMenu::before { background: url("${ProfilePath}/bookmark.svg") no-repeat !important; }
    		/* Extras  */
    		#tools-menu::before { background: url("${ProfilePath}/toolbox.svg") no-repeat !important; }
    		/* Hilfe  */
    		#helpMenu::before { background: url("${ProfilePath}/help.svg") no-repeat !important; }
    
    		/* Einstellungen  */
    		#file-menu::before,
    		#edit-menu::before,
    		#view-menu::before,
    		#history-menu::before,
    		#bookmarksMenu::before,
    		#tools-menu::before,
    		#helpMenu::before {
    			margin-left: 1px !important;
    			padding-right: 5px !important;
    			content: '' !important;
    			display: block !important;
    			width: 16px !important;
    			height: 16px !important;
    			background-repeat: no-repeat !important;
    			-moz-context-properties: fill, fill-opacity;
    			fill: currentColor;
    		}
    		#menu_FilePopup,
    		#menu_EditPopup,
    		#menu_viewPopup,
    		#historyMenuPopup,
    		#bookmarksMenuPopup,
    		#menu_ToolsPopup,
    		#menu_HelpPopup {
    			margin-top: 5px !important;
    		}
    
    		#historyMenuPopup > menuitem:nth-child(1),
    		#bookmarksMenuPopup > menuitem:nth-child(1) {
    			padding-left: 13px !important;
    		}
    
    		/* ------------------------------------ */
    		/* *** neuer Button "Erweiterungen" *** */
    		/* ******* Symbole im Popup-Menü ****** */
    		/* ------------------------------------ */
    
    		.unified-extensions-context-menu-pin-to-toolbar {   
    			background: url("${ProfilePath}/glyph-pin-16.svg") no-repeat !important;
    			background-position: 9px 4px !important;
    		}
    		.unified-extensions-context-menu-move-widget-up {   
    			background: url("${ProfilePath}/Pfeil-hoch_hellgrau.svg") no-repeat !important;
    			background-position: 6px 0px !important;
    		}
    		.unified-extensions-context-menu-move-widget-down {   
    			background: url("${ProfilePath}/Pfeil-runter_hellgrau.svg") no-repeat !important;
    			background-position: 6px 0px !important;
    		}
    		.unified-extensions-context-menu-manage-extension {
    			background: url("${ProfilePath}/extension.svg") no-repeat !important;
    			background-position: 9px 4px !important;
    		}
    		.unified-extensions-context-menu-remove-extension {
    			background: url("${ProfilePath}/delete.svg") no-repeat !important;
    			background-position: 9px 4px !important;
    		}
    		.unified-extensions-context-menu-report-extension {
    			background: url("${ProfilePath}/warning.svg") no-repeat !important;
    			background-position: 9px 4px !important;
    		}
    
    		/* ---------------------------------------------- */
    		/* ------------- Kontextmenü Video -------------- */
    		/* ---------------------------------------------- */
    
    		/* Pause */
    		#context-media-pause { background-image: url("${ProfilePath}/pause-1.svg"); }
    		/* Abspielen */
    		#context-media-play { background-image: url("${ProfilePath}/play-1.svg"); }
    		/* Ton aus */
    		#context-media-mute { background-image: url("${ProfilePath}/audio-16-mute.svg"); }
    		/* Ton an */
    		#context-media-unmute { background-image: url("${ProfilePath}//audio-16.svg"); }
    		/* Geschwindigkeit */
    		#context-media-playbackrate { background-image: url("${ProfilePath}/performance-16.svg"); }
    		/* Endlosschleife */
    		#context-media-loop { background-image: url("${ProfilePath}/repeat-1.svg"); }
    		/* Vollbild */
    		#context-video-fullscreen { background-image: url("${ProfilePath}/maximize-1.svg"); }
    		/* Vollbild beenden */
    		#context-leave-dom-fullscreen { background-image: url("${ProfilePath}/minimize-1.svg"); }
    		/* Steuerung ausblenden	! */
    		#context-media-hidecontrols { display: none !important; }
    		/* Steuerung anzeigen	! */
    		#context-media-showcontrols { display: none !important; }
    
    		/* -------------------------- */
    
    		/* Video in neuem Tab öffnen */
    		#context-viewvideo { background-image: url("${ProfilePath}/session.svg");; }
    		/* In Bild-im-Bild ansehen */
    		#context-video-pictureinpicture { background-image: url("${ProfilePath}/info.svg"); }
    
    		/* -------------------------- */
    
    		/* Standbild aufnehmen...	! */
    		#context-video-saveimage { display: none !important; } 
    		/* Video speichern unter...	! */
    		#context-savevideo { display: none !important; }
    		/* Video-Adresse kopieren	! */
    		#context-copyvideourl { display: none !important; }
    		/* Video per E-Mail senden...	! */
    		#context-sendvideo { display: none !important; }
    
    		#context-sep-setbackground { display: none !important; }
    
    		.bookmark-item[container] {
    			list-style-image: url("${ProfilePath}/folder-fat.svg") !important;
    		  }
    	/*	#PanelUI-menu-button {
    			list-style-image: url("${ProfilePath}/Hamburger2.svg") !important;
    		  }
    	*/
    	`), null, null);
    
    //   `;
    //
    //   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.AUTHOR_SHEET);
    
    })();
    Alles anzeigen

    icons_4.zip

  • Firefox 141 beta Kontextmenu Symbolabstand

    • Mira_Belle
    • 22. Juli 2025 um 17:25

    Gugst Du hier => RE: Symbole in den Kontextmenüs [ Update ]

    Ist aber noch das nicht angepasste Skript für 141!
    Das über arbeite ich gerade noch, aber es kommt.


    Neue Version ist online!

    Beitrag

    RE: Symbole in den Kontextmenüs [ Update ]

    Neu ab Version 141!

    (Quelltext, 881 Zeilen)

    icons_4.zip
    Mira_Belle
    22. Juli 2025 um 21:30
  • Firefox 141 beta Kontextmenu Symbolabstand

    • Mira_Belle
    • 22. Juli 2025 um 15:39

    Die 141 ist nun keine Beta mehr.
    Mozilla hat auch dieses Mal wieder an den Menüs "geschraubt", die Beta ließ es ja erahnen.
    Auch ich musste mein Skript für all die Symbole wieder überarbeiten,
    hielt sich aber in Grenzen!
    Betraf dieses Mal nur das "Bearbeiten-Menü" und "Ansichten".
    Ach, und "mein" Skript für das Appmenü bedurfte auch eine kleine Anpassung.

    Endor Wenn Du magst, teste doch mal "mein" Skript, wenn es hinhaut, können wir es ja gemeinsam
    Deinen Vorstellungen gemäß anpassen.
    Da ich die Symbole einfach nicht mehr missen möchte, werde ich dieses Skript, bzw, dessen CSS,
    auf jeden Fall weiter pflegen.

    Das mit dem "hovern" muss ich noch ausprobieren, aber im Grunde sollte es funktionieren.


    Zitat von Mira_Belle

    Das mit dem "hovern" muss ich noch ausprobieren, aber im Grunde sollte es funktionieren.

    Gerade getestet, klappt:!:

  • Firefox 141 beta Kontextmenu Symbolabstand

    • Mira_Belle
    • 20. Juli 2025 um 20:12

    .DeJaVu

    Zitat von Endor

    Für das Forum zum testen Bilder als Base64
    hier sonst als link zbs. "..//icons/Tabs.png" in Verwendung.

    Aber Deine Einwände sind schon begründet.

    Könnte z.B. so aussehen:

    CSS
    	/* --- Hilfe --- */
    
    	/* Hilfe erhalten */
    	#menu_openHelp { background-image: url("../icons/help.svg"); padding-left: 36px;}
    	/* Ideen und Feedback teilen... */
    	#feedbackPage { background-image: url("../icons/send.svg"); padding-left: 36px;}
    	/* Fehlerbehebungsmodus... */
    	#helpSafeMode { background-image: url("../icons/debugging-workers.svg"); padding-left: 36px;}
    	/* Weitere Informationen zur Fehlerbehebung */
    	#troubleShooting { background-image: url("../icons/more.svg"); padding-left: 36px;}
    	/* Betrügerische Website melden... */
    	#menu_HelpPopup_reportPhishingtoolmenu { background-image: url("../icons/warning.svg"); padding-left: 36px;}
    	/* Zu einem neuen Gerät wechseln */
    	#helpSwitchDevice { background-image: url("../icons/send-to-device.svg"); padding-left: 36px;}
    	/* Über Firefox */
    	#aboutName { background-image: url("../icons/firefox.svg"); padding-left: 36px;}
    Alles anzeigen

    Wobei das mit dem ; padding-left: 36px;} eben die Fehlerkorrektur ist!
    Da wurden die Symbole eben auch nicht an der richtigen Stelle angezeigt, bzw. die Menüeinträge.

    Kann aber auch verstehen, wenn man so ein Monster von CSS nicht neu aufbauen möchte.

  • Firefox 141 beta Kontextmenu Symbolabstand

    • Mira_Belle
    • 20. Juli 2025 um 19:40
    Zitat von Endor

    Mein ganzes CSS für Kontextmenü Symbole sind fast 6000 Zeilen.
    Willst Du Dir die wirklich im ernst antun?

    Wow!
    Selbst wenn ich die "Doppelten" wegen :hover abziehe, sind das noch eine ganze Menge.
    Mein CSS für diesen Krempel sind gerade mal ca. 850 Zeilen.
    DAS hätte ich mir noch angetan, aber DAS, ne, eher nicht.

  • Firefox 141 beta Kontextmenu Symbolabstand

    • Mira_Belle
    • 20. Juli 2025 um 18:24

    Endor Welches CSS nutzt Du um a. Symbole vor die Einträge einzufügen?
    Bitte poste doch mal das ganze CSS.

  • dav_LinkifiesLocationBar.uc.js = Fehlerhafte Url Anzeige

    • Mira_Belle
    • 20. Juli 2025 um 15:30

    1. Ist meine Erklärung, die ja auch für andere sein soll, richtig.
    2. Habe ich Dich auch richtig verstanden und stand mal seit langer Zeit nicht wieder neben mir!

    Schön, dass Dir das Skript Freude bereitet.

  • dav_LinkifiesLocationBar.uc.js = Fehlerhafte Url Anzeige

    • Mira_Belle
    • 20. Juli 2025 um 15:17

    Du hast "reingeklickt"?
    Also normal wird nur www.tagesschau.de, wobei www. "blasser" (halb transparent) dargestellt wird.
    Klickt man in die Adresszeile, ist die URL markiert und drunter öffnet sich das Popup.

    Erst nach einem nochmaligen klicken wird "alles" sichtbar! => https://www.tagesschau.de/

    Aber genau dieses Verhalten ist mit Skript nicht möglich.
    Mit einem Fehler muss man dann halt leben.
    Dafür ist die URL aber bunt und man kann noch weitere Dinge beeinflussen,
    wie z.B. dass camp-firefox.de fett oder kursiv dargestellt werden soll.

  • dav_LinkifiesLocationBar.uc.js = Fehlerhafte Url Anzeige

    • Mira_Belle
    • 20. Juli 2025 um 15:00

    Das ist zu viel des Lobes!

    Es ist ein Bug im Skript, den bekomme ich einfach nicht weg!

    Normalerweise sollte die URL der Tagesschau so aussehen => https://www.tagesschau.de
    Aber leider wird da am Ende mit dem Skript aber ein Slash angezeigt.
    Und so ist es bei recht vielen Seiten!
    Aber ich habe das ja so gemacht, weil ich "Deinen" Anforderungen gerecht werden wollte.
    Wer sich nicht daran stört, dass bei anderen URLs, wo eigentlich am Ende ein Slash sein sollte,
    es aber besser findet, dass die URL der Tagesschau ohne Slash am Ende dargestellt wird,
    soll eben eine etwas älteren Version benutzen. z.B. jene :

    JavaScript
    // ==UserScript==
    // @name                 dav_LinkifiesLocationBar.us.js
    // @version              ?
    // @description          dav_LinkifiesLocationBar
    // @based on             https://github.com/sdavidg/firefoxChromeScripts/blob/main/scripts/dav_LinkifiesLocationBar.uc.js
    // @modified by          Mira_Belle [https://www.camp-firefox.de/forum/]
    // ==/UserScript==
    
    /*
    Idea based on
    https://addons.mozilla.org/en-US/firefox/addon/locationbar%C2%B2/
    https://github.com/simonlindholm/locationbar2
    */
    setTimeout(function() {
    	if (location.href != 'chrome://browser/content/browser.xhtml') return;
    
    	function getWindow(){
    		return window;
    	}
    	var localWindow = getWindow();
    	localWindow.dav_LinkifiesLocationBar = {};
    
        var styleBase = `
    		@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    
    		.claseLocationBar{
                display: block;
                position: absolute;
                height: 24px;
                width: 100%;
                line-height: 24px;
                white-space:nowrap;
                overflow:hidden;
    		}
    		.claseLocationBar span{
    			position: relative;
    		    margin: 0 1px;
    		    display: inline-block;
    		}
    		.claseLocationBar .label_pathname {
    			margin-inline: unset !important;
    		}
    		locationBarTag{
    		    display: inline;
    		}
        /*  Von mir hinzugefügt!    */
            .claseLocationBar span.protocol{
    		    display: none;
    		}
    		/*************************************
    		*************** COLORS ***************
    		*************************************/
    		.claseLocationBar span.protocol{
    		    font-weight: normal;
    		    color: #777777;
    		    margin-right: -1px;
    		}
    		.claseLocationBar .subdomain {
    		    font-weight: bold;
    		    color: #C68007;
    		}
    		.claseLocationBar span.hostname{
    		    font-weight: bold;
    		    color: #ff0000;
    		}
    		.claseLocationBar span.port{
    		    color: #00aeff;
    		}
    		.claseLocationBar span.pathname{
    		    color: #ffff00;
    		}
    		.claseLocationBar span.hash{
    		    color: #00ffff;
    		    margin-left: -1px;
    		}
    		.claseLocationBar span.search{
    		    color: #00ff00;
    		}
    		.claseLocationBar .extension{
                color: #ffffff;
    		}
        `;
    
    	var style_pathnameArrow = `
    		@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    		.claseLocationBar span.pathname{
    			padding-left:9px;
    			margin: 0 2px;
    		}
            .claseLocationBar .pathname:before{
    			content:'/';
    			font-weight: bold;
    			margin-left: -10px;
                margin-right: 2px;
    			color:rgb(0, 255, 128);
    		}
    
            .claseLocationBar .pathname:after{
    			content:'/';
    			font-weight: bold;
    			margin-left: 3px;
                margin-right: -9px;
    			color:rgb(0, 255, 128);
    		}        
    		.claseLocationBar .label_pathname{
    			display: none;
    		}
    	`;
    
    	var stylexul = `
    		.urlbar-input-box[dav_LinkifiesLocationBar] #urlbar-input:focus ~ .claseLocationBar{
    		   display: none !important;
    		}
    		.urlbar-input-box[dav_LinkifiesLocationBar]  #urlbar-input:focus{
    		   opacity: 1;
    		}
    		.urlbar-input-box[dav_LinkifiesLocationBar]  #urlbar-input{
    		   opacity: 0;
    		}
        `;
    
    /*
    AGENT_SHEET: 0
    USER_SHEET: 1
    AUTHOR_SHEET: 2
    */
    	var CSS_Loader = {
    		sss: Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService),
    		load: function(cssCode) {
    			this.unload(cssCode);
    			var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(cssCode), null, null);
    			this.sss.loadAndRegisterSheet(uri, this.sss.AGENT_SHEET);
    		},
    		unload: function(cssCode) {
    			var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(cssCode), null, null);
    			if (this.sss.sheetRegistered(uri,this.sss.AGENT_SHEET))
    			{
    				this.sss.unregisterSheet(uri,this.sss.AGENT_SHEET);
    			}
    		}
    	}
    
    	function extend() {
    		var copy, target = {};
    		for (var i = 0, l = arguments.length; i < l; i++) {
    			var options = arguments[i];
    			for (var name in options) {
    				copy = options[name];
    				if (copy !== undefined) {
    					target[name] = copy;
    				}
    			}
    		}
    		return target;
    	}
    
    	var styleString = (style) => {
    		return Object.keys(style).reduce((prev, curr) => {
    			return `${prev += curr.split(/(?=[A-Z])/).join('-').toLowerCase()}:${style[curr]};`
    		}, '');
    	};
    
    	function createElement(elto) {
    		elto = extend({
    			attrArray: {},
    			evtListener: [],
    			estilos: {}
    		}, elto);
    
    		var node = getWindow().document.createXULElement(elto.type);
    
    		Object.keys(elto.attrArray).forEach(key => {
    			if(key == "innerHTML"){
    				node.innerHTML = encodeHTML(elto.attrArray[key]);
    			}
    			else {
    				node.setAttribute(key, elto.attrArray[key]);
    			}
    		});
    
    		elto.evtListener.forEach(evt => {
    			node.addEventListener(evt.type, evt.funcion, false);
    		});
    
    		let estilo = styleString(elto.estilos);
    		if (estilo) {
    			node.setAttribute("style", estilo);
    		}
    
    		return node;
    	}
    
    	function encodeHTML(text) {
    		return decodeURI(text)
    			.replace(/&/g, '&amp;')
    			.replace(/</g, '&lt;')
    			.replace(/>/g, '&gt;')
    			.replace(/"/g, '&quot;')
    			.replace(/'/g, '&apos;');
    	}
    
    	function appendPart(text, clase) {
    		if (!text) return;
    
    		if(clase == "pathname")
    		{
    			let sp = createElement({
    				type: "label",
    				attrArray: {
    					class: "label_pathname",
    					innerHTML:"/"
    				}
    			});
    			divLocationBar.appendChild(sp);
    		}
    		let sp = createElement({
    			type: "span",
    			attrArray: {
    				class: clase,
    				innerHTML:text
    			},
    		});
    		divLocationBar.appendChild(sp);
    		sp.setAttribute("href", divLocationBar.textContent);
    		return sp;
    	}
    
    	function borraPrevio() {
    		var divPrevio = localWindow.document.querySelector(".claseLocationBar");
    		if (divPrevio) {
    			divPrevio.parentNode.removeChild(divPrevio)
    		}
    	}
    
    	var debounce = (fn, ms = 0) => {
    	  let timeoutId;
    	  return function(...args) {
    		clearTimeout(timeoutId);
    		timeoutId = setTimeout(() => fn.apply(this, args), ms);
    	  };
    	};
    
    	var pintaLocation = debounce(pintaLocation_, 50);
    
    	function pintaLocation_() {
    		divLocationBar.innerHTML = '';
    
    		var urlBarInput = getWindow().document.querySelector("#urlbar-input").value;
    		var urlGBrowser = gBrowser.currentURI.displaySpec;
    
    		if(urlGBrowser.startsWith("about")){
    			divLocationBar.innerHTML = encodeHTML(urlBarInput);
    			return;
    		}
    
    		var url = urlGBrowser.indexOf(urlBarInput) != -1 ? urlGBrowser : urlBarInput;
    
    		try {
    			var { protocol, hostname, port, pathname, hash, search } = new URL(url);
    		} catch (e) {
    			console.error("Fehler beim Parsen der URL:", e);
    			divLocationBar.innerHTML = encodeHTML(urlBarInput);
    			return;
    		}
    
    		var partido = hostname.split(".");
    		var subdomain;
    		if(partido.length > 2 && !partido.every( v => v == v-0 ))//Es wird geprüf, ob es sich nicht um eine IP handelt (nur Zahlen)
    		{
    			subdomain = partido.splice(0, partido.length-2).join(".");
    			hostname= partido.join(".");
    		}
    
    		appendPart(protocol + "//", "protocol");
    		if (subdomain) {
    			appendPart(subdomain+".", "subdomain");
    		}
    		appendPart(hostname, "hostname");
    		if (port) {
    			appendPart(":" + port, "port");
    		}
    		var arrayPathname = pathname.split("/");
    		arrayPathname.forEach((elto) => {
    			if (elto) {
    				let sp = appendPart(elto, "pathname");
    				let arrayDot = elto.split(".");
    				if(arrayDot.length > 1)
    				{
    					let extension = arrayDot.pop();
    					sp.innerHTML = "";
    					sp.appendChild(createElement({
    						type: "locationBarTag",
    						attrArray: {
    							href:sp.getAttribute("href"),
    							innerHTML: arrayDot.join(".")
    						}
    					}));
    					sp.appendChild(createElement({
    						type: "locationBarTag",
    						attrArray: {
    							class: "extension",
    							href:sp.getAttribute("href"),
    							innerHTML: "."+extension
    						}
    					}));
    				}
    			}
    		});
    		appendPart(search, "search");
    		appendPart(hash, "hash");
    	}
    
    	/******************* INIT ***************************/
    	var urlbarInput = getWindow().document.querySelector("#urlbar-input");
    	var timeMouseMove = -1;
    	function hideDivLocatonBar(){
    		urlbarInput.focus();
    	}
    	var divLocationBar = createElement({
    		type: "div",
    		attrArray: {
    			class: "claseLocationBar"
    		},
    		evtListener: [{
    			type: "click",
    			funcion: function() {
    				hideDivLocatonBar()
    			}
    		}]
    	});
    
    	borraPrevio();
    	urlbarInput.parentNode.appendChild(divLocationBar);
    	urlbarInput.parentNode.setAttribute("dav_LinkifiesLocationBar", true);
    	urlbarInput.addEventListener("blur", pintaLocation);
    	pintaLocation();
    
    	var last_displaySpec = "";
    	setInterval(function(){
    		let actual_displaySpec = gBrowser.currentURI.displaySpec;
    		if(last_displaySpec != actual_displaySpec){
    			last_displaySpec = actual_displaySpec;
    			pintaLocation();
    		}
    	}, 50);
    
    	CSS_Loader.load(styleBase);
    	CSS_Loader.load(style_pathnameArrow);
    	CSS_Loader.load(stylexul);
    	/******************* END INIT ***************************/
    	dav_LinkifiesLocationBar.globalShutdown = function(){
    		var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
    					.getService(Components.interfaces.nsIWindowMediator);
    		var ws = wm.getEnumerator(null);
    		while(ws.hasMoreElements()) {
    			var w = ws.getNext();
    			w.dav_LinkifiesLocationBar.shutdown(w);
    		}
    	}
    }, 50);
    Alles anzeigen
  • dav_LinkifiesLocationBar.uc.js = Fehlerhafte Url Anzeige

    • Mira_Belle
    • 20. Juli 2025 um 14:09

    Und hier nochmal mit "https://".

    JavaScript
    // ==UserScript==
    // @name                 dav_LinkifiesLocationBar.us.js
    // @version              ?
    // @description          dav_LinkifiesLocationBar
    // @based on             https://github.com/sdavidg/firefoxChromeScripts/blob/main/scripts/dav_LinkifiesLocationBar.uc.js
    // @modified by          Mira_Belle [https://www.camp-firefox.de/forum/]
    // ==/UserScript==
    
    /*
    Idea based on
    https://addons.mozilla.org/en-US/firefox/addon/locationbar%C2%B2/
    https://github.com/simonlindholm/locationbar2
    */
    setTimeout(function() {
    	if (location.href != 'chrome://browser/content/browser.xhtml') return;
    
    	function getWindow(){
    		return window;
    	}
    	var localWindow = getWindow();
    	localWindow.dav_LinkifiesLocationBar = {};
    
        var styleBase = `
    		@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    
    		.claseLocationBar{
                display: block;
                position: absolute;
                height: 24px;
                width: 100%;
                line-height: 24px;
                white-space:nowrap;
                overflow:hidden;
    		}
    		.claseLocationBar span{
    			position: relative;
    		    margin: 0 1px;
    		    display: inline-block;
    		}
    		.claseLocationBar .label_pathname {
    			margin-inline: unset !important;
    		}
    		locationBarTag{
    		    display: inline;
    		}
        /*  Von mir hinzugefügt!    */
    /*        .claseLocationBar span.protocol{
    		    display: none;
    		}
    */		/*************************************
    		*************** COLORS ***************
    		*************************************/
    		.claseLocationBar span.protocol{
    		    font-weight: normal;
    		/*    color: #777777; */
                color: #fdbcd2;
    		    margin-right: -1px;
    		}
    		.claseLocationBar .subdomain {
    		    font-weight: bold;
    		    color: #C68007;
    		}
    		.claseLocationBar span.hostname{
    		    font-weight: bold;
    		    color: #ff0000;
    		}
    		.claseLocationBar span.port{
    		    color: #00aeff;
    		}
    		.claseLocationBar span.pathname{
    		    color: #ffff00;
    		}
    		.claseLocationBar span.hash{
    		    color: #00ffff;
    		    margin-left: -1px;
    		}
    		.claseLocationBar span.search{
    		    color: #00ff00;
    		}
    		.claseLocationBar .extension{
                color: #ffffff;
    		}
        `;
    
    	var style_pathnameArrow = `
    		@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    		.claseLocationBar span.pathname{
    			padding-left:9px;
    			margin: 0 2px;
    		}
            .claseLocationBar .pathname:before{
    			content:'/';
    			font-weight: bold;
    			margin-left: -10px;
                margin-right: 2px;
    			color:rgb(0, 255, 128);
    		}		       
    		.claseLocationBar .label_pathname{
    			display: none;
    		}
    	`;
    
    	var stylexul = `
    		.urlbar-input-box[dav_LinkifiesLocationBar] #urlbar-input:focus ~ .claseLocationBar{
    		   display: none !important;
    		}
    		.urlbar-input-box[dav_LinkifiesLocationBar]  #urlbar-input:focus{
    		   opacity: 1;
    		}
    		.urlbar-input-box[dav_LinkifiesLocationBar]  #urlbar-input{
    		   opacity: 0;
    		}
        `;
    
    /*
    AGENT_SHEET: 0
    USER_SHEET: 1
    AUTHOR_SHEET: 2
    */
    	var CSS_Loader = {
    		sss: Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService),
    		load: function(cssCode) {
    			this.unload(cssCode);
    			var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(cssCode), null, null);
    			this.sss.loadAndRegisterSheet(uri, this.sss.AGENT_SHEET);
    		},
    		unload: function(cssCode) {
    			var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(cssCode), null, null);
    			if (this.sss.sheetRegistered(uri,this.sss.AGENT_SHEET))
    			{
    				this.sss.unregisterSheet(uri,this.sss.AGENT_SHEET);
    			}
    		}
    	}
    
    	function extend() {
    		var copy, target = {};
    		for (var i = 0, l = arguments.length; i < l; i++) {
    			var options = arguments[i];
    			for (var name in options) {
    				copy = options[name];
    				if (copy !== undefined) {
    					target[name] = copy;
    				}
    			}
    		}
    		return target;
    	}
    
    	var styleString = (style) => {
    		return Object.keys(style).reduce((prev, curr) => {
    			return `${prev += curr.split(/(?=[A-Z])/).join('-').toLowerCase()}:${style[curr]};`
    		}, '');
    	};
    
    	function createElement(elto) {
    		elto = extend({
    			attrArray: {},
    			evtListener: [],
    			estilos: {}
    		}, elto);
    
    		var node = getWindow().document.createXULElement(elto.type);
    
    		Object.keys(elto.attrArray).forEach(key => {
    			if(key == "innerHTML"){
    				node.innerHTML = encodeHTML(elto.attrArray[key]);
    			}
    			else {
    				node.setAttribute(key, elto.attrArray[key]);
    			}
    		});
    
    		elto.evtListener.forEach(evt => {
    			node.addEventListener(evt.type, evt.funcion, false);
    		});
    
    		let estilo = styleString(elto.estilos);
    		if (estilo) {
    			node.setAttribute("style", estilo);
    		}
    
    		return node;
    	}
    
    	function encodeHTML(text) {
    		return decodeURI(text)
    			.replace(/&/g, '&amp;')
    			.replace(/</g, '&lt;')
    			.replace(/>/g, '&gt;')
    			.replace(/"/g, '&quot;')
    			.replace(/'/g, '&apos;');
    	}
    
        function appendPart(text, clase) {
            // Nur leere Strings abbrechen – außer bei pathname
            if (!text && clase !== "pathname") return;
    
            if (clase == "pathname") {
                let spSlash = createElement({
                    type: "label",
                    attrArray: {
                        class: "label_pathname",
                        innerHTML: "/"
                    }
                });
                divLocationBar.appendChild(spSlash);
            }
    
            let sp = createElement({
                type: "span",
                attrArray: {
                    class: clase,
                    innerHTML: text || "" // Auch "" explizit anzeigen
                },
            });
            divLocationBar.appendChild(sp);
            sp.setAttribute("href", divLocationBar.textContent);
            return sp;
        }
    
    
    	function borraPrevio() {
    		var divPrevio = localWindow.document.querySelector(".claseLocationBar");
    		if (divPrevio) {
    			divPrevio.parentNode.removeChild(divPrevio)
    		}
    	}
    
    	var debounce = (fn, ms = 0) => {
    	  let timeoutId;
    	  return function(...args) {
    		clearTimeout(timeoutId);
    		timeoutId = setTimeout(() => fn.apply(this, args), ms);
    	  };
    	};
    
    	var pintaLocation = debounce(pintaLocation_, 50);
    
        function pintaLocation_() {
            divLocationBar.innerHTML = '';
    
            var urlBarInput = getWindow().document.querySelector("#urlbar-input").value;
            var urlGBrowser = gBrowser.currentURI.displaySpec;
    
            if (urlGBrowser.startsWith("about")) {
                divLocationBar.innerHTML = encodeHTML(urlBarInput);
                return;
            }
    
            var url = urlGBrowser.indexOf(urlBarInput) !== -1 ? urlGBrowser : urlBarInput;
    
            try {
                var { protocol, hostname, port, pathname, hash, search } = new URL(url);
            } catch (e) {
                console.error("Fehler beim Parsen der URL:", e);
                divLocationBar.innerHTML = encodeHTML(urlBarInput);
                return;
            }
    
            var partido = hostname.split(".");
            var subdomain;
            if (partido.length > 2 && !partido.every(v => v == v - 0)) {    //Es wird geprüf, ob es sich nicht um eine IP handelt (nur Zahlen)
                subdomain = partido.splice(0, partido.length - 2).join(".");
                hostname = partido.join(".");
            }
    
            appendPart(protocol + "//", "protocol");
            if (subdomain) {
                appendPart(subdomain + ".", "subdomain");
            }
            appendPart(hostname, "hostname");
            if (port) {
                appendPart(":" + port, "port");
            }
    
            if (pathname === "/") {    // Spezialfall: Nur ein einfacher Slash
                appendPart("", "pathname");
            } else {
                let arrayPathname = pathname.split("/");
                arrayPathname.forEach((elto, index) => {
                    if (index === 0 && elto === "") return;     // erstes leeres Element (vor dem ersten Slash)
    
                    let sp = appendPart(elto, "pathname");
    
                    let arrayDot = elto.split(".");
                    if (arrayDot.length > 1) {
                        let extension = arrayDot.pop();
                        sp.innerHTML = "";
                        sp.appendChild(createElement({
                            type: "locationBarTag",
                            attrArray: {
                                href: sp.getAttribute("href"),
                                innerHTML: arrayDot.join(".")
                            }
                        }));
                        sp.appendChild(createElement({
                            type: "locationBarTag",
                            attrArray: {
                                class: "extension",
                                href: sp.getAttribute("href"),
                                innerHTML: "." + extension
                            }
                        }));
                    }
                });
            }
    
            appendPart(search, "search");
            appendPart(hash, "hash");
        }
    
    	/******************* INIT ***************************/
    	var urlbarInput = getWindow().document.querySelector("#urlbar-input");
    	var timeMouseMove = -1;
    	function hideDivLocatonBar(){
    		urlbarInput.focus();
    	}
    	var divLocationBar = createElement({
    		type: "div",
    		attrArray: {
    			class: "claseLocationBar"
    		},
    		evtListener: [{
    			type: "click",
    			funcion: function() {
    				hideDivLocatonBar()
    			}
    		}]
    	});
    
    	borraPrevio();
    	urlbarInput.parentNode.appendChild(divLocationBar);
    	urlbarInput.parentNode.setAttribute("dav_LinkifiesLocationBar", true);
    	urlbarInput.addEventListener("blur", pintaLocation);
    	pintaLocation();
    
    	var last_displaySpec = "";
    	setInterval(function(){
    		let actual_displaySpec = gBrowser.currentURI.displaySpec;
    		if(last_displaySpec != actual_displaySpec){
    			last_displaySpec = actual_displaySpec;
    			pintaLocation();
    		}
    	}, 50);
    
    	CSS_Loader.load(styleBase);
    	CSS_Loader.load(style_pathnameArrow);
    	CSS_Loader.load(stylexul);
    	/******************* END INIT ***************************/
    	dav_LinkifiesLocationBar.globalShutdown = function(){
    		var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
    					.getService(Components.interfaces.nsIWindowMediator);
    		var ws = wm.getEnumerator(null);
    		while(ws.hasMoreElements()) {
    			var w = ws.getNext();
    			w.dav_LinkifiesLocationBar.shutdown(w);
    		}
    	}
    }, 50);
    Alles anzeigen
  • dav_LinkifiesLocationBar.uc.js = Fehlerhafte Url Anzeige

    • Mira_Belle
    • 20. Juli 2025 um 13:54

    2002Andreas Bitte testen, ob Du noch fehlerhafte Darstellungen findest.

    JavaScript
    // ==UserScript==
    // @name                 dav_LinkifiesLocationBar.us.js
    // @version              ?
    // @description          dav_LinkifiesLocationBar
    // @based on             https://github.com/sdavidg/firefoxChromeScripts/blob/main/scripts/dav_LinkifiesLocationBar.uc.js
    // @modified by          Mira_Belle [https://www.camp-firefox.de/forum/]
    // ==/UserScript==
    
    /*
    Idea based on
    https://addons.mozilla.org/en-US/firefox/addon/locationbar%C2%B2/
    https://github.com/simonlindholm/locationbar2
    */
    setTimeout(function() {
    	if (location.href != 'chrome://browser/content/browser.xhtml') return;
    
    	function getWindow(){
    		return window;
    	}
    	var localWindow = getWindow();
    	localWindow.dav_LinkifiesLocationBar = {};
    
        var styleBase = `
    		@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    
    		.claseLocationBar{
                display: block;
                position: absolute;
                height: 24px;
                width: 100%;
                line-height: 24px;
                white-space:nowrap;
                overflow:hidden;
    		}
    		.claseLocationBar span{
    			position: relative;
    		    margin: 0 1px;
    		    display: inline-block;
    		}
    		.claseLocationBar .label_pathname {
    			margin-inline: unset !important;
    		}
    		locationBarTag{
    		    display: inline;
    		}
        /*  Von mir hinzugefügt!    */
            .claseLocationBar span.protocol{
    		    display: none;
    		}
    		/*************************************
    		*************** COLORS ***************
    		*************************************/
    		.claseLocationBar span.protocol{
    		    font-weight: normal;
    		    color: #777777;
    		    margin-right: -1px;
    		}
    		.claseLocationBar .subdomain {
    		    font-weight: bold;
    		    color: #C68007;
    		}
    		.claseLocationBar span.hostname{
    		    font-weight: bold;
    		    color: #ff0000;
    		}
    		.claseLocationBar span.port{
    		    color: #00aeff;
    		}
    		.claseLocationBar span.pathname{
    		    color: #ffff00;
    		}
    		.claseLocationBar span.hash{
    		    color: #00ffff;
    		    margin-left: -1px;
    		}
    		.claseLocationBar span.search{
    		    color: #00ff00;
    		}
    		.claseLocationBar .extension{
                color: #ffffff;
    		}
        `;
    
    	var style_pathnameArrow = `
    		@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    		.claseLocationBar span.pathname{
    			padding-left:9px;
    			margin: 0 2px;
    		}
            .claseLocationBar .pathname:before{
    			content:'/';
    			font-weight: bold;
    			margin-left: -10px;
                margin-right: 2px;
    			color:rgb(0, 255, 128);
    		}		       
    		.claseLocationBar .label_pathname{
    			display: none;
    		}
    	`;
    
    	var stylexul = `
    		.urlbar-input-box[dav_LinkifiesLocationBar] #urlbar-input:focus ~ .claseLocationBar{
    		   display: none !important;
    		}
    		.urlbar-input-box[dav_LinkifiesLocationBar]  #urlbar-input:focus{
    		   opacity: 1;
    		}
    		.urlbar-input-box[dav_LinkifiesLocationBar]  #urlbar-input{
    		   opacity: 0;
    		}
        `;
    
    /*
    AGENT_SHEET: 0
    USER_SHEET: 1
    AUTHOR_SHEET: 2
    */
    	var CSS_Loader = {
    		sss: Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService),
    		load: function(cssCode) {
    			this.unload(cssCode);
    			var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(cssCode), null, null);
    			this.sss.loadAndRegisterSheet(uri, this.sss.AGENT_SHEET);
    		},
    		unload: function(cssCode) {
    			var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(cssCode), null, null);
    			if (this.sss.sheetRegistered(uri,this.sss.AGENT_SHEET))
    			{
    				this.sss.unregisterSheet(uri,this.sss.AGENT_SHEET);
    			}
    		}
    	}
    
    	function extend() {
    		var copy, target = {};
    		for (var i = 0, l = arguments.length; i < l; i++) {
    			var options = arguments[i];
    			for (var name in options) {
    				copy = options[name];
    				if (copy !== undefined) {
    					target[name] = copy;
    				}
    			}
    		}
    		return target;
    	}
    
    	var styleString = (style) => {
    		return Object.keys(style).reduce((prev, curr) => {
    			return `${prev += curr.split(/(?=[A-Z])/).join('-').toLowerCase()}:${style[curr]};`
    		}, '');
    	};
    
    	function createElement(elto) {
    		elto = extend({
    			attrArray: {},
    			evtListener: [],
    			estilos: {}
    		}, elto);
    
    		var node = getWindow().document.createXULElement(elto.type);
    
    		Object.keys(elto.attrArray).forEach(key => {
    			if(key == "innerHTML"){
    				node.innerHTML = encodeHTML(elto.attrArray[key]);
    			}
    			else {
    				node.setAttribute(key, elto.attrArray[key]);
    			}
    		});
    
    		elto.evtListener.forEach(evt => {
    			node.addEventListener(evt.type, evt.funcion, false);
    		});
    
    		let estilo = styleString(elto.estilos);
    		if (estilo) {
    			node.setAttribute("style", estilo);
    		}
    
    		return node;
    	}
    
    	function encodeHTML(text) {
    		return decodeURI(text)
    			.replace(/&/g, '&amp;')
    			.replace(/</g, '&lt;')
    			.replace(/>/g, '&gt;')
    			.replace(/"/g, '&quot;')
    			.replace(/'/g, '&apos;');
    	}
    
        function appendPart(text, clase) {
            // Nur leere Strings abbrechen – außer bei pathname
            if (!text && clase !== "pathname") return;
    
            if (clase == "pathname") {
                let spSlash = createElement({
                    type: "label",
                    attrArray: {
                        class: "label_pathname",
                        innerHTML: "/"
                    }
                });
                divLocationBar.appendChild(spSlash);
            }
    
            let sp = createElement({
                type: "span",
                attrArray: {
                    class: clase,
                    innerHTML: text || "" // Auch "" explizit anzeigen
                },
            });
            divLocationBar.appendChild(sp);
            sp.setAttribute("href", divLocationBar.textContent);
            return sp;
        }
    
    
    	function borraPrevio() {
    		var divPrevio = localWindow.document.querySelector(".claseLocationBar");
    		if (divPrevio) {
    			divPrevio.parentNode.removeChild(divPrevio)
    		}
    	}
    
    	var debounce = (fn, ms = 0) => {
    	  let timeoutId;
    	  return function(...args) {
    		clearTimeout(timeoutId);
    		timeoutId = setTimeout(() => fn.apply(this, args), ms);
    	  };
    	};
    
    	var pintaLocation = debounce(pintaLocation_, 50);
    
        function pintaLocation_() {
            divLocationBar.innerHTML = '';
    
            var urlBarInput = getWindow().document.querySelector("#urlbar-input").value;
            var urlGBrowser = gBrowser.currentURI.displaySpec;
    
            if (urlGBrowser.startsWith("about")) {
                divLocationBar.innerHTML = encodeHTML(urlBarInput);
                return;
            }
    
            var url = urlGBrowser.indexOf(urlBarInput) !== -1 ? urlGBrowser : urlBarInput;
    
            try {
                var { protocol, hostname, port, pathname, hash, search } = new URL(url);
            } catch (e) {
                console.error("Fehler beim Parsen der URL:", e);
                divLocationBar.innerHTML = encodeHTML(urlBarInput);
                return;
            }
    
            var partido = hostname.split(".");
            var subdomain;
            if (partido.length > 2 && !partido.every(v => v == v - 0)) {    //Es wird geprüf, ob es sich nicht um eine IP handelt (nur Zahlen)
                subdomain = partido.splice(0, partido.length - 2).join(".");
                hostname = partido.join(".");
            }
    
            appendPart(protocol + "//", "protocol");
            if (subdomain) {
                appendPart(subdomain + ".", "subdomain");
            }
            appendPart(hostname, "hostname");
            if (port) {
                appendPart(":" + port, "port");
            }
    
            if (pathname === "/") {    // Spezialfall: Nur ein einfacher Slash
                appendPart("", "pathname");
            } else {
                let arrayPathname = pathname.split("/");
                arrayPathname.forEach((elto, index) => {
                    if (index === 0 && elto === "") return;     // erstes leeres Element (vor dem ersten Slash)
    
                    let sp = appendPart(elto, "pathname");
    
                    let arrayDot = elto.split(".");
                    if (arrayDot.length > 1) {
                        let extension = arrayDot.pop();
                        sp.innerHTML = "";
                        sp.appendChild(createElement({
                            type: "locationBarTag",
                            attrArray: {
                                href: sp.getAttribute("href"),
                                innerHTML: arrayDot.join(".")
                            }
                        }));
                        sp.appendChild(createElement({
                            type: "locationBarTag",
                            attrArray: {
                                class: "extension",
                                href: sp.getAttribute("href"),
                                innerHTML: "." + extension
                            }
                        }));
                    }
                });
            }
    
            appendPart(search, "search");
            appendPart(hash, "hash");
        }
    
    	/******************* INIT ***************************/
    	var urlbarInput = getWindow().document.querySelector("#urlbar-input");
    	var timeMouseMove = -1;
    	function hideDivLocatonBar(){
    		urlbarInput.focus();
    	}
    	var divLocationBar = createElement({
    		type: "div",
    		attrArray: {
    			class: "claseLocationBar"
    		},
    		evtListener: [{
    			type: "click",
    			funcion: function() {
    				hideDivLocatonBar()
    			}
    		}]
    	});
    
    	borraPrevio();
    	urlbarInput.parentNode.appendChild(divLocationBar);
    	urlbarInput.parentNode.setAttribute("dav_LinkifiesLocationBar", true);
    	urlbarInput.addEventListener("blur", pintaLocation);
    	pintaLocation();
    
    	var last_displaySpec = "";
    	setInterval(function(){
    		let actual_displaySpec = gBrowser.currentURI.displaySpec;
    		if(last_displaySpec != actual_displaySpec){
    			last_displaySpec = actual_displaySpec;
    			pintaLocation();
    		}
    	}, 50);
    
    	CSS_Loader.load(styleBase);
    	CSS_Loader.load(style_pathnameArrow);
    	CSS_Loader.load(stylexul);
    	/******************* END INIT ***************************/
    	dav_LinkifiesLocationBar.globalShutdown = function(){
    		var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
    					.getService(Components.interfaces.nsIWindowMediator);
    		var ws = wm.getEnumerator(null);
    		while(ws.hasMoreElements()) {
    			var w = ws.getNext();
    			w.dav_LinkifiesLocationBar.shutdown(w);
    		}
    	}
    }, 50);
    Alles anzeigen
  • dav_LinkifiesLocationBar.uc.js = Fehlerhafte Url Anzeige

    • Mira_Belle
    • 20. Juli 2025 um 11:17

    Verdammt!


    Ok, dann werde ich wohl doch einen anderen Weg einschlagen müssen!

    Hier mein geputzter, aktueller Erguss,
    noch mit diesem verflixten Fehler.

    JavaScript
    // ==UserScript==
    // @name                 dav_LinkifiesLocationBar.us.js
    // @version              ?
    // @description          dav_LinkifiesLocationBar
    // @based on             https://github.com/sdavidg/firefoxChromeScripts/blob/main/scripts/dav_LinkifiesLocationBar.uc.js
    // @modified by          Mira_Belle [https://www.camp-firefox.de/forum/]
    // ==/UserScript==
    
    /*
    Idea based on
    https://addons.mozilla.org/en-US/firefox/addon/locationbar%C2%B2/
    https://github.com/simonlindholm/locationbar2
    */
    setTimeout(function() {
    	if (location.href != 'chrome://browser/content/browser.xhtml') return;
    
    	function getWindow(){
    		return window;
    	}
    	var localWindow = getWindow();
    	localWindow.dav_LinkifiesLocationBar = {};
    
        var styleBase = `
    		@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    
    		.claseLocationBar{
                display: block;
                position: absolute;
                height: 24px;
                width: 100%;
                line-height: 24px;
                white-space:nowrap;
                overflow:hidden;
    		}
    		.claseLocationBar span{
    			position: relative;
    		    margin: 0 1px;
    		    display: inline-block;
    		}
    		.claseLocationBar .label_pathname {
    			margin-inline: unset !important;
    		}
    		locationBarTag{
    		    display: inline;
    		}
        /*  Von mir hinzugefügt!    */
            .claseLocationBar span.protocol{
    		    display: none;
    		}
    		/*************************************
    		*************** COLORS ***************
    		*************************************/
    		.claseLocationBar span.protocol{
    		    font-weight: normal;
    		    color: #777777;
    		    margin-right: -1px;
    		}
    		.claseLocationBar .subdomain {
    		    font-weight: bold;
    		    color: #C68007;
    		}
    		.claseLocationBar span.hostname{
    		    font-weight: bold;
    		    color: #ff0000;
    		}
    		.claseLocationBar span.port{
    		    color: #00aeff;
    		}
    		.claseLocationBar span.pathname{
    		    color: #ffff00;
    		}
    		.claseLocationBar span.hash{
    		    color: #00ffff;
    		    margin-left: -1px;
    		}
    		.claseLocationBar span.search{
    		    color: #00ff00;
    		}
    		.claseLocationBar .extension{
                color: #ffffff;
    		}
        `;
    
    	var style_pathnameArrow = `
    		@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    		.claseLocationBar span.pathname{
    			padding-left:9px;
    			margin: 0 2px;
    		}
            .claseLocationBar .pathname:before{
    			content:'/';
    			font-weight: bold;
    			margin-left: -10px;
                margin-right: 2px;
    			color:rgb(0, 255, 128);
    		}
    
            .claseLocationBar .pathname:after{
    			content:'/';
    			font-weight: bold;
    			margin-left: 3px;
                margin-right: -9px;
    			color:rgb(0, 255, 128);
    		}        
    		.claseLocationBar .label_pathname{
    			display: none;
    		}
    	`;
    
    	var stylexul = `
    		.urlbar-input-box[dav_LinkifiesLocationBar] #urlbar-input:focus ~ .claseLocationBar{
    		   display: none !important;
    		}
    		.urlbar-input-box[dav_LinkifiesLocationBar]  #urlbar-input:focus{
    		   opacity: 1;
    		}
    		.urlbar-input-box[dav_LinkifiesLocationBar]  #urlbar-input{
    		   opacity: 0;
    		}
        `;
    
    /*
    AGENT_SHEET: 0
    USER_SHEET: 1
    AUTHOR_SHEET: 2
    */
    	var CSS_Loader = {
    		sss: Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService),
    		load: function(cssCode) {
    			this.unload(cssCode);
    			var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(cssCode), null, null);
    			this.sss.loadAndRegisterSheet(uri, this.sss.AGENT_SHEET);
    		},
    		unload: function(cssCode) {
    			var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(cssCode), null, null);
    			if (this.sss.sheetRegistered(uri,this.sss.AGENT_SHEET))
    			{
    				this.sss.unregisterSheet(uri,this.sss.AGENT_SHEET);
    			}
    		}
    	}
    
    	function extend() {
    		var copy, target = {};
    		for (var i = 0, l = arguments.length; i < l; i++) {
    			var options = arguments[i];
    			for (var name in options) {
    				copy = options[name];
    				if (copy !== undefined) {
    					target[name] = copy;
    				}
    			}
    		}
    		return target;
    	}
    
    	var styleString = (style) => {
    		return Object.keys(style).reduce((prev, curr) => {
    			return `${prev += curr.split(/(?=[A-Z])/).join('-').toLowerCase()}:${style[curr]};`
    		}, '');
    	};
    
    	function createElement(elto) {
    		elto = extend({
    			attrArray: {},
    			evtListener: [],
    			estilos: {}
    		}, elto);
    
    		var node = getWindow().document.createXULElement(elto.type);
    
    		Object.keys(elto.attrArray).forEach(key => {
    			if(key == "innerHTML"){
    				node.innerHTML = encodeHTML(elto.attrArray[key]);
    			}
    			else {
    				node.setAttribute(key, elto.attrArray[key]);
    			}
    		});
    
    		elto.evtListener.forEach(evt => {
    			node.addEventListener(evt.type, evt.funcion, false);
    		});
    
    		let estilo = styleString(elto.estilos);
    		if (estilo) {
    			node.setAttribute("style", estilo);
    		}
    
    		return node;
    	}
    
    	function encodeHTML(text) {
    		return decodeURI(text)
    			.replace(/&/g, '&amp;')
    			.replace(/</g, '&lt;')
    			.replace(/>/g, '&gt;')
    			.replace(/"/g, '&quot;')
    			.replace(/'/g, '&apos;');
    	}
    
    	function appendPart(text, clase) {
    		if (!text) return;
    
    		if(clase == "pathname")
    		{
    			let sp = createElement({
    				type: "label",
    				attrArray: {
    					class: "label_pathname",
    					innerHTML:"/"
    				}
    			});
    			divLocationBar.appendChild(sp);
    		}
    		let sp = createElement({
    			type: "span",
    			attrArray: {
    				class: clase,
    				innerHTML:text
    			},
    		});
    		divLocationBar.appendChild(sp);
    		sp.setAttribute("href", divLocationBar.textContent);
    		return sp;
    	}
    
    	function borraPrevio() {
    		var divPrevio = localWindow.document.querySelector(".claseLocationBar");
    		if (divPrevio) {
    			divPrevio.parentNode.removeChild(divPrevio)
    		}
    	}
    
    	var debounce = (fn, ms = 0) => {
    	  let timeoutId;
    	  return function(...args) {
    		clearTimeout(timeoutId);
    		timeoutId = setTimeout(() => fn.apply(this, args), ms);
    	  };
    	};
    
    	var pintaLocation = debounce(pintaLocation_, 50);
    
    	function pintaLocation_() {
    		divLocationBar.innerHTML = '';
    
    		var urlBarInput = getWindow().document.querySelector("#urlbar-input").value;
    		var urlGBrowser = gBrowser.currentURI.displaySpec;
    
    		if(urlGBrowser.startsWith("about")){
    			divLocationBar.innerHTML = encodeHTML(urlBarInput);
    			return;
    		}
    
    		var url = urlGBrowser.indexOf(urlBarInput) != -1 ? urlGBrowser : urlBarInput;
    
    		try {
    			var { protocol, hostname, port, pathname, hash, search } = new URL(url);
    		} catch (e) {
    			console.error("Fehler beim Parsen der URL:", e);
    			divLocationBar.innerHTML = encodeHTML(urlBarInput);
    			return;
    		}
    
    		var partido = hostname.split(".");
    		var subdomain;
    		if(partido.length > 2 && !partido.every( v => v == v-0 ))//Es wird geprüf, ob es sich nicht um eine IP handelt (nur Zahlen)
    		{
    			subdomain = partido.splice(0, partido.length-2).join(".");
    			hostname= partido.join(".");
    		}
    
    		appendPart(protocol + "//", "protocol");
    		if (subdomain) {
    			appendPart(subdomain+".", "subdomain");
    		}
    		appendPart(hostname, "hostname");
    		if (port) {
    			appendPart(":" + port, "port");
    		}
    		var arrayPathname = pathname.split("/");
    		arrayPathname.forEach((elto) => {
    			if (elto) {
    				let sp = appendPart(elto, "pathname");
    				let arrayDot = elto.split(".");
    				if(arrayDot.length > 1)
    				{
    					let extension = arrayDot.pop();
    					sp.innerHTML = "";
    					sp.appendChild(createElement({
    						type: "locationBarTag",
    						attrArray: {
    							href:sp.getAttribute("href"),
    							innerHTML: arrayDot.join(".")
    						}
    					}));
    					sp.appendChild(createElement({
    						type: "locationBarTag",
    						attrArray: {
    							class: "extension",
    							href:sp.getAttribute("href"),
    							innerHTML: "."+extension
    						}
    					}));
    				}
    			}
    		});
    		appendPart(search, "search");
    		appendPart(hash, "hash");
    	}
    
    	/******************* INIT ***************************/
    	var urlbarInput = getWindow().document.querySelector("#urlbar-input");
    	var timeMouseMove = -1;
    	function hideDivLocatonBar(){
    		urlbarInput.focus();
    	}
    	var divLocationBar = createElement({
    		type: "div",
    		attrArray: {
    			class: "claseLocationBar"
    		},
    		evtListener: [{
    			type: "click",
    			funcion: function() {
    				hideDivLocatonBar()
    			}
    		}]
    	});
    
    	borraPrevio();
    	urlbarInput.parentNode.appendChild(divLocationBar);
    	urlbarInput.parentNode.setAttribute("dav_LinkifiesLocationBar", true);
    	urlbarInput.addEventListener("blur", pintaLocation);
    	pintaLocation();
    
    	var last_displaySpec = "";
    	setInterval(function(){
    		let actual_displaySpec = gBrowser.currentURI.displaySpec;
    		if(last_displaySpec != actual_displaySpec){
    			last_displaySpec = actual_displaySpec;
    			pintaLocation();
    		}
    	}, 50);
    
    	CSS_Loader.load(styleBase);
    	CSS_Loader.load(style_pathnameArrow);
    	CSS_Loader.load(stylexul);
    	/******************* END INIT ***************************/
    	dav_LinkifiesLocationBar.globalShutdown = function(){
    		var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
    					.getService(Components.interfaces.nsIWindowMediator);
    		var ws = wm.getEnumerator(null);
    		while(ws.hasMoreElements()) {
    			var w = ws.getNext();
    			w.dav_LinkifiesLocationBar.shutdown(w);
    		}
    	}
    }, 50);
    Alles anzeigen
  • dav_LinkifiesLocationBar.uc.js = Fehlerhafte Url Anzeige

    • Mira_Belle
    • 20. Juli 2025 um 10:17
    Zitat von Speravir

    Übrigens sind Teile des Skripts (Bezeichnungen) und Kommentare in Spanisch.

    Sí, lo sé, ¡pero no importa!

    2002Andreas So habe geputzt und reine gemacht.

  • dav_LinkifiesLocationBar.uc.js = Fehlerhafte Url Anzeige

    • Mira_Belle
    • 20. Juli 2025 um 00:57

    2002Andreas Schau mal, musste etwas in die Trickkiste greifen, um den abschließenden Slash hinzubekommen.
    Habe das "https" mal ausgeblendet, so wie ohne Skript.

    Das Skript funktioniert so weit, ist aber noch nicht "geputzt", ist noch nicht benötigter Code vorhanden:!:


    JavaScript
    // ==UserScript==
    // @name                 dav_LinkifiesLocationBar
    // @version              1.1
    // @description          dav_LinkifiesLocationBar
    // @shutdown        dav_LinkifiesLocationBar.globalShutdown();
    // ==/UserScript==
    
    /*
    Idea based on
    https://addons.mozilla.org/en-US/firefox/addon/locationbar%C2%B2/
    https://github.com/simonlindholm/locationbar2
    */
    setTimeout(function() {
    	if (location.href != 'chrome://browser/content/browser.xhtml') return;
    
    	//You must set be set to false the preference browser.tabs.hoverPreview.enabled
    	const colorizeExtensionFile = true;        // false
        const selectUrlbarText = true;                // true
    	const pathnameArrow = true;                   // true
    	const fontMonospace = false;                   // true
    //	const usePunycode = true;                     // true
    
    	//https://stackoverflow.com/questions/183485/converting-punycode-with-dash-character-to-unicode/301287#301287
    	var punycode=new function(){this.utf16={decode:function(r){for(var o,e,t=[],n=0,f=r.length;n<f;){if(55296==(63488&(o=r.charCodeAt(n++)))){if(e=r.charCodeAt(n++),55296!=(64512&o)||56320!=(64512&e))throw new RangeError("UTF-16(decode): Illegal UTF-16 sequence");o=((1023&o)<<10)+(1023&e)+65536}t.push(o)}return t},encode:function(r){for(var o,e=[],t=0,n=r.length;t<n;){if(55296==(63488&(o=r[t++])))throw new RangeError("UTF-16(encode): Illegal UTF-16 value");o>65535&&(o-=65536,e.push(String.fromCharCode(o>>>10&1023|55296)),o=56320|1023&o),e.push(String.fromCharCode(o))}return e.join("")}};var r=36,o=700,e=1,t=26,n=38,f=2147483647;function h(r,o){return r+22+75*(r<26)-((0!=o)<<5)}function a(f,h,a){var i;for(f=a?Math.floor(f/o):f>>1,f+=Math.floor(f/h),i=0;f>(r-e)*t>>1;i+=r)f=Math.floor(f/(r-e));return Math.floor(i+(r-e+1)*f/(f+n))}this.decode=function(o,n){var h,i,u,c,d,l,p,g,s,C,v,w,y,A,E=[],M=[],R=o.length;for(h=128,u=0,c=72,(d=o.lastIndexOf("-"))<0&&(d=0),l=0;l<d;++l){if(n&&(M[E.length]=o.charCodeAt(l)-65<26),o.charCodeAt(l)>=128)throw new RangeError("Illegal input >= 0x80");E.push(o.charCodeAt(l))}for(p=d>0?d+1:0;p<R;){for(g=u,s=1,C=r;;C+=r){if(p>=R)throw RangeError("punycode_bad_input(1)");if((v=(A=o.charCodeAt(p++))-48<10?A-22:A-65<26?A-65:A-97<26?A-97:r)>=r)throw RangeError("punycode_bad_input(2)");if(v>Math.floor((f-u)/s))throw RangeError("punycode_overflow(1)");if(u+=v*s,v<(w=C<=c?e:C>=c+t?t:C-c))break;if(s>Math.floor(f/(r-w)))throw RangeError("punycode_overflow(2)");s*=r-w}if(c=a(u-g,i=E.length+1,0===g),Math.floor(u/i)>f-h)throw RangeError("punycode_overflow(3)");h+=Math.floor(u/i),u%=i,n&&M.splice(u,0,o.charCodeAt(p-1)-65<26),E.splice(u,0,h),u++}if(n)for(u=0,y=E.length;u<y;u++)M[u]&&(E[u]=String.fromCharCode(E[u]).toUpperCase().charCodeAt(0));return this.utf16.encode(E)},this.encode=function(o,n){var i,u,c,d,l,p,g,s,C,v,w,y;n&&(y=this.utf16.decode(o));var A=(o=this.utf16.decode(o.toLowerCase())).length;if(n)for(p=0;p<A;p++)y[p]=o[p]!=y[p];var E,M,R=[];for(i=128,u=0,l=72,p=0;p<A;++p)o[p]<128&&R.push(String.fromCharCode(y?(E=o[p],M=y[p],(E-=(E-97<26)<<5)+((!M&&E-65<26)<<5)):o[p]));for(c=d=R.length,d>0&&R.push("-");c<A;){for(g=f,p=0;p<A;++p)(w=o[p])>=i&&w<g&&(g=w);if(g-i>Math.floor((f-u)/(c+1)))throw RangeError("punycode_overflow (1)");for(u+=(g-i)*(c+1),i=g,p=0;p<A;++p){if((w=o[p])<i&&++u>f)return Error("punycode_overflow(2)");if(w==i){for(s=u,C=r;!(s<(v=C<=l?e:C>=l+t?t:C-l));C+=r)R.push(String.fromCharCode(h(v+(s-v)%(r-v),0))),s=Math.floor((s-v)/(r-v));R.push(String.fromCharCode(h(s,n&&y[p]?1:0))),l=a(u,c+1,c==d),u=0,++c}}++u,++i}return R.join("")},this.ToASCII=function(r){for(var o=r.split("."),e=[],t=0;t<o.length;++t){var n=o[t];e.push(n.match(/[^A-Za-z0-9-]/)?"xn--"+punycode.encode(n):n)}return e.join(".")},this.toUnicode=function(r){for(var o=r.split("."),e=[],t=0;t<o.length;++t){var n=o[t];e.push(n.match(/^xn--/)?punycode.decode(n.slice(4)):n)}return e.join(".")}};
    
    	function getWindow(){
    		return window;
    	}
    	var localWindow = getWindow();
    	localWindow.dav_LinkifiesLocationBar = {};
    
        var styleBase = `
    		@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    
    		.claseLocationBar{
    		   display: block;
    		   position: absolute;
    		   height: 24px;
    		   width: 100%;
    		   line-height: 24px;
    		   white-space:nowrap;
    		   overflow:hidden;
    		}
    		.claseLocationBar span{
    			position: relative;
    		   margin: 0 1px;
    		   display: inline-block;
    		}
    /*		.claseLocationBar span:hover{
    			text-decoration: underline;
    		    cursor: pointer;
    		}
    */		.claseLocationBar .label_pathname {
    			margin-inline: unset !important;
    		}
    		locationBarTag{
    		  display: inline;
    		}
        /*  Von mir hinzugefügt!    */
            .claseLocationBar span.protocol{
    		  display: none;
    		}
    		/*************************************
    		*************** COLORS ***************
    		*************************************/
    		.claseLocationBar span.protocol{
    		   font-weight: normal;
    		   color: #777777;
    		   margin-right: -1px;
    		}
    		.claseLocationBar .subdomain {
    		   font-weight: bold;
    		   color: #C68007;
    		}
    		.claseLocationBar span.hostname{
    		   font-weight: bold;
    		   color: #ff0000;
    		}
    		.claseLocationBar span.port{
    		   color: #00aeff;
    		}
    		.claseLocationBar span.pathname{
    		   color: #ffff00;
    		}
    		.claseLocationBar span.hash{
    		   color: #00ffff;
    		   margin-left: -1px;
    		}
    		.claseLocationBar span.search{
    		   color: #00ff00;
    		}
    		.claseLocationBar .extension{
    		    color: #ffffff;
    		}
        `;
    
    	var style_fontMonospace = !fontMonospace?"":`
    		@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    		.urlbar-input-box[dav_LinkifiesLocationBar]{
    		  font-family: monospace ;
    		  margin-top: 4px;
    		}
    		.claseLocationBar{
    		 margin-top: -4px;
    		 line-height: 28px;
    		}
    		.claseLocationBar .pathname:after{
    		  top: 10px;
    		}
    		.claseLocationBar span.port{
    			margin-left: -1px;
    		}
    		.claseLocationBar .subdomain {
    		  margin-right: -1px;
    		}
    		.claseLocationBar span.hostname{
    		  margin-right: 1px;
    		}
    	`;
    
    	var style_pathnameArrow = !pathnameArrow?"":`
    		@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");
    		.claseLocationBar span.pathname{
    			padding-left:9px;
    			margin: 0 2px;
    		}
            .claseLocationBar .pathname:before{
    			content:'/';
    			font-weight: bold;
    			margin-left: -10px;
                margin-right: 2px;
    			color:rgb(0, 255, 128);
    		}
    
            .claseLocationBar .pathname:after{
    			content:'/';
    			font-weight: bold;
    			margin-left: 3px;
                margin-right: -9px;
    			color:rgb(0, 255, 128);
    		}        
    /*		.claseLocationBar .pathname:before{
    			content:' ';
    			display: block;
    			position: absolute;
    			border-style: solid;
    			border-width: 4px 4px 4px 7px;
    			border-color: transparent transparent transparent #6fa880;
    			border-color: transparent transparent transparent #5ba8bf;
    			top: 10px;
    			left: 0px;
    		}
    */		.claseLocationBar .label_pathname{
    			display: none;
    		}
    	`;
    
    	var stylexul = `
    		.urlbar-input-box[dav_LinkifiesLocationBar] #urlbar-input:focus ~ .claseLocationBar{
    		   display: none !important;
    		}
    		.urlbar-input-box[dav_LinkifiesLocationBar]  #urlbar-input:focus{
    		   opacity: 1;
    		}
    		.urlbar-input-box[dav_LinkifiesLocationBar]  #urlbar-input{
    		   opacity: 0;
    		}
        `;
    
    /*
    AGENT_SHEET: 0
    USER_SHEET: 1
    AUTHOR_SHEET: 2
    */
    	var CSS_Loader = {
    		sss: Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService),
    		load: function(cssCode) {
    			this.unload(cssCode);
    			var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(cssCode), null, null);
    			this.sss.loadAndRegisterSheet(uri, this.sss.AGENT_SHEET);
    		},
    		unload: function(cssCode) {
    			var uri = Services.io.newURI("data:text/css;charset=utf-8," + encodeURIComponent(cssCode), null, null);
    			if (this.sss.sheetRegistered(uri,this.sss.AGENT_SHEET))
    			{
    				this.sss.unregisterSheet(uri,this.sss.AGENT_SHEET);
    			}
    		}
    	}
    
    	const CLIKS = {
    		left: 0,
    		middle: 1,
    		right: 2
    	}
    
    	function extend() {
    		var copy, target = {};
    		for (var i = 0, l = arguments.length; i < l; i++) {
    			var options = arguments[i];
    			for (var name in options) {
    				copy = options[name];
    				if (copy !== undefined) {
    					target[name] = copy;
    				}
    			}
    		}
    		return target;
    	}
    
    	var styleString = (style) => {
    		return Object.keys(style).reduce((prev, curr) => {
    			return `${prev += curr.split(/(?=[A-Z])/).join('-').toLowerCase()}:${style[curr]};`
    		}, '');
    	};
    
    	function createElement(elto) {
    		elto = extend({
    			attrArray: {},
    			evtListener: [],
    			estilos: {}
    		}, elto);
    
    		var node = getWindow().document.createXULElement(elto.type);
    
    		Object.keys(elto.attrArray).forEach(key => {
    			if(key == "innerHTML"){
    				node.innerHTML = encodeHTML(elto.attrArray[key]);
    			}
    			else {
    				node.setAttribute(key, elto.attrArray[key]);
    			}
    		});
    
    		elto.evtListener.forEach(evt => {
    			node.addEventListener(evt.type, evt.funcion, false);
    		});
    
    		let estilo = styleString(elto.estilos);
    		if (estilo) {
    			node.setAttribute("style", estilo);
    		}
    
    		return node;
    	}
    
    	function encodeHTML(text) {
    		return decodeURI(text)
    			.replace(/&/g, '&amp;')
    			.replace(/</g, '&lt;')
    			.replace(/>/g, '&gt;')
    			.replace(/"/g, '&quot;')
    			.replace(/'/g, '&apos;');
    	}
    
    	function appendPart(text, clase) {
    		if (!text) return;
    
    		if(clase == "pathname")
    		{
    			let sp = createElement({
    				type: "label",
    				attrArray: {
    					class: "label_pathname",
    					innerHTML:"/"
    				}
    			});
    			divLocationBar.appendChild(sp);
    		}
    		let sp = createElement({
    			type: "span",
    			attrArray: {
    				class: clase,
    				innerHTML:text
    			},
    			evtListener: [{
    				type: "click",
    				funcion: clickPart
    			}]
    		});
    		divLocationBar.appendChild(sp);
    		sp.setAttribute("href", divLocationBar.textContent);
    		return sp;
    	}
    
    	function clickPart(evt) {
    		if (evt.button == CLIKS.right) return;
    /*
    		let target = evt.target;
    		if (target.className != "protocol") {
    			let href = target.getAttribute("href");
    			var where = evt.button == CLIKS.middle || evt.ctrlKey ? "tab" : "current";
    			evt.view.openLinkIn(href, where, {
    				allowThirdPartyFixup: true,
    				targetBrowser: gBrowser.selectedBrowser,
    				indicateErrorPageLoad: true,
    				allowPinnedTabHostChange: true,
    				disallowInheritPrincipal: true,
    				allowPopups: false,
    				triggeringPrincipal: Services.scriptSecurityManager.getSystemPrincipal()
    			});
    
    			evt.stopPropagation();
    		}
    */	}
    
    	function borraPrevio() {
    		var divPrevio = localWindow.document.querySelector(".claseLocationBar");
    		if (divPrevio) {
    			divPrevio.parentNode.removeChild(divPrevio)
    		}
    	}
    
    	var debounce = (fn, ms = 0) => {
    	  let timeoutId;
    	  return function(...args) {
    		clearTimeout(timeoutId);
    		timeoutId = setTimeout(() => fn.apply(this, args), ms);
    	  };
    	};
    
    	var pintaLocation = debounce(pintaLocation_, 50);
    
    	function pintaLocation_() {
    		divLocationBar.innerHTML = '';
    
    		var urlBarInput = getWindow().document.querySelector("#urlbar-input").value;
    		var urlGBrowser = gBrowser.currentURI.displaySpec;
    
    		if(urlGBrowser.startsWith("about")){
    			divLocationBar.innerHTML = encodeHTML(urlBarInput);
    			return;
    		}
    
    		var url = urlGBrowser.indexOf(urlBarInput) != -1 ? urlGBrowser : urlBarInput;
    
    		try {
    			var { protocol, hostname, port, pathname, hash, search } = new URL(url);
    		} catch (e) {
    			divLocationBar.innerHTML = encodeHTML(urlBarInput);
    			return;
    		}
    //		if(usePunycode){
    //			hostname = punycode.toUnicode(hostname);
    //		}
    
    
    		var partido = hostname.split(".");
    		var subdomain;
    		if(partido.length > 2 && !partido.every( v => v == v-0 ))//wir prüfen, ob es sich nicht um Zahlen handelt, denn dann handelt es sich um eine IP
    		{
    			subdomain = partido.splice(0, partido.length-2).join(".");
    			hostname= partido.join(".");
    		}
    
    		appendPart(protocol + "//", "protocol");
    		if (subdomain) {
    			appendPart(subdomain+".", "subdomain");
    		}
    		appendPart(hostname, "hostname");
    		if (port) {
    			appendPart(":" + port, "port");
    		}
    		var arrayPathname = pathname.split("/");
    		var arrayPathnameLength = arrayPathname.length;
    		arrayPathname.forEach((elto, index) => {
    			if (elto) {
    				let sp = appendPart(elto, "pathname");
    				if(colorizeExtensionFile && index == arrayPathnameLength-1)
    				{
    					let arrayDot = elto.split(".");
    					if(arrayDot.length > 1)
    					{
    						let extension = arrayDot.pop();
    						sp.innerHTML = "";
    						sp.appendChild(createElement({
    							type: "locationBarTag",
    							attrArray: {
    								href:sp.getAttribute("href"),
    								innerHTML: arrayDot.join(".")
    							}
    						}));
    						sp.appendChild(createElement({
    							type: "locationBarTag",
    							attrArray: {
    								class: "extension",
    								href:sp.getAttribute("href"),
    								innerHTML: "."+extension
    							}
    						}));
    					}
    				}
    			}
    		});
    		appendPart(search, "search");
    		appendPart(hash, "hash");
    	}
    
    	/******************* INIT ***************************/
    	var urlbarInput = getWindow().document.querySelector("#urlbar-input");
    	var timeMouseMove = -1;
    	function hideDivLocatonBar(){
    		urlbarInput.focus();
    	}
    	var divLocationBar = createElement({
    		type: "div",
    		attrArray: {
    			class: "claseLocationBar"
    		},
    		evtListener: [{
    			type: "click",
    			funcion: function() {
    				hideDivLocatonBar()
    				if(selectUrlbarText){
    					urlbarInput.select();
    				}
    			}
    		},{
    			type: "mouseenter",
    			funcion: function(evt) {
    				//esto es el ratón entrando por encima
    				if(evt.screenY == divLocationBar.screenY)
    				{
    					timeMouseMove = setTimeout(hideDivLocatonBar, 500);
    				}
    			}
    		},{
    			type: "mouseleave",
    			funcion: function() {
    				clearTimeout(timeMouseMove);
    			}
    		}]
    	});
    
    	borraPrevio();
    	urlbarInput.parentNode.appendChild(divLocationBar);
    	urlbarInput.parentNode.setAttribute("dav_LinkifiesLocationBar", true);
    	urlbarInput.addEventListener("blur", pintaLocation);
    	pintaLocation();
    
    	var last_displaySpec = "";
    	var intevalID = setInterval(function(){
    		//console.log("setInterval", intevalID,  localWindow == window, localWindow == getMostRecentWindow());
    		let actual_displaySpec = gBrowser.currentURI.displaySpec;
    		if(last_displaySpec != actual_displaySpec){
    			last_displaySpec = actual_displaySpec;
    			pintaLocation();
    		}
    	}, 50);
    	CSS_Loader.load(styleBase);
    	CSS_Loader.load(style_pathnameArrow);
    	CSS_Loader.load(style_fontMonospace);
    	CSS_Loader.load(stylexul);
    	/******************* END INIT ***************************/
    	dav_LinkifiesLocationBar.shutdown = function(){
    		borraPrevio();
    		clearTimeout(intevalID);
    		urlbarInput.parentNode.removeAttribute("dav_LinkifiesLocationBar");
    		CSS_Loader.unload(styleBase);
    		CSS_Loader.unload(style_pathnameArrow);
    		CSS_Loader.unload(style_fontMonospace);
    		CSS_Loader.unload(stylexul);
    		urlbarInput.removeEventListener("blur", pintaLocation);
    	}
    
    	dav_LinkifiesLocationBar.globalShutdown = function(){
    		var wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
    					.getService(Components.interfaces.nsIWindowMediator);
    		var ws = wm.getEnumerator(null);
    		while(ws.hasMoreElements()) {
    			var w = ws.getNext();
    			w.dav_LinkifiesLocationBar.shutdown(w);
    		}
    	}
    }, 50);
    Alles anzeigen
  • dav_LinkifiesLocationBar.uc.js = Fehlerhafte Url Anzeige

    • Mira_Belle
    • 19. Juli 2025 um 22:36

    Mh, 'ne ganz schön harte Nuss.
    Selbst mit KI komme ich z.Z. nicht weiter.

    Bisher wohl die falschen Fragen gestellt.
    Bleibe aber weiter am Ball, das Ding interessiert mich!

    Muss herausfinden, wie genau die URL zerpflückt und zerlegt wird.

Unterstütze uns!

Jährlich (2025)

94,2 %

94,2% (612,48 von 650 EUR)

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