
Schaltfläche um Lesezeichen Leiste ein/auszublenden ?
-
Horstmann -
25. Juni 2022 um 10:11 -
Erledigt
-
-
muss auf immer anzeigen stehen.
Wobei das ja schon das Problem bei ihm ist
Der Button wird nicht angezeigt.
-
Ach ja, das schon wieder!
Ist dieser denn auch im richtigen Ordner?%appdata%\Mozilla\Firefox\Profiles\"Profilname"\chrome\icons
Und hat er die Datei überhaupt?
Wenn ja, stimmten die Bezeichnungen des Symbols im Ordner und im Skript haargenau überein?Um einen kurzen Test zu machen, schauen, ob es irgendwo in einer Leiste, vorzugsweise in den Navbar,
eine Freifläche gibt, die ohne aktivem Skript dort nicht ist.
Das wäre dann der Button, halt ohne Symbol!
Und wenn das so ist, liegt der Fehler, ....
Ich hab's ja oben beschrieben. -
Ist dieser denn auch im richtigen Ordner?
Ich denke, das dürfte sein Problem sein.
Ich habe dieses Icon nämlich in allen Ordner hier für Icons, logisch dass es dann angezeigt wird hier
-
Enterhaken ...
teste bitte mal dieses Skript mit einem Icon direkt vom Firefox:
JavaScript
Alles anzeigen// Button_PersonalToolbar.uc.js // Source file https://www.camp-firefox.de/forum/thema/134920/?postID=1213680#post1213680 // Source file https://www.camp-firefox.de/forum/thema/134920/?postID=1215809#post1215809 // Source file https://www.camp-firefox.de/forum/thema/134920/?postID=1232103#post1232103 // PersonalToolbar_ausblenden // basierend auf den Ideen von BrokenHeart und visoer, Verbesserungen von Horstmann, Korrekturen von Sören und Anpassungen von Mira_Belle (function ptbut() { if (location.href !== 'chrome://browser/content/browser.xhtml') return; let startHeight = '0px'; // '24px' oder '0px' Der Startzustand wird definiert: '24px' startet mit sichtbarer Leiste let collapse = '0px'; // Leiste nicht sichtbar let visible = '24px'; // Leiste sichtbar let autoCloseTime = 5000; // 0 = kein Auto-Close / >0 Zeit in Millisekunden /5000 => 5sec let intervalID = 0; let persToolbar = document.getElementById('PersonalToolbar'); try { CustomizableUI.createWidget({ id: 'PersonalToolbar-button', type: 'custom', defaultArea: CustomizableUI.AREA_NAVBAR, onBuild: function(aDocument) { let toolbaritem = aDocument.createXULElement('toolbarbutton'); let currentProfileDirectory = Services.dirsvc.get("ProfD", Ci.nsIFile).path.replace(/\\/g, "/"); // Pfadangabe zum Profilordner //let buttonicon = "bookmark-hollow.svg"; // Name & Dateiendung des anzuzeigenden Symbols let props = { id: 'PersonalToolbar-button', class: 'toolbarbutton-1 chromeclass-toolbar-additional', removable: true, label: 'Toggle', tooltiptext: 'Lesezeichenleiste ein-/ausblenden', style: 'list-style-image: url("chrome://browser/skin/fullscreen.svg");', }; for(var p in props) toolbaritem.setAttribute(p, props[p]); return toolbaritem; } }); } catch(e) { }; //----------BEGINN---------------------- // Funktion zum Abfragen der Tastatur ("belauscht" Eingaben) // Hinweis: Tasten, die anderweitig bereits "abgefangen" werden, ergeben keinen Event document.addEventListener('keydown', (event) => { let keyName = event.key; if (event.altKey && keyName == 'q') { // Funktion wird ausgeführt, wenn "Alt & q gedrückt werden // onClick(event); onClick(event,true); // ----geändert---- } }, false ); //----------ENDE------------------------ // Anmerkungen und beispiele am Ende des Scriptes document.getElementById('PersonalToolbar').style.minHeight = '0'; document.getElementById('PersonalToolbar').style.transition = 'all 0.3s steps(6, end)'; if( startHeight === visible || startHeight === collapse ) { document.getElementById('PersonalToolbar').style.height = startHeight; } else { document.getElementById('PersonalToolbar').style.height = visible; } document.getElementById('PersonalToolbar-button').addEventListener( "click", onClick ); // function onClick(aEvent) { function onClick(aEvent, keyEvent=false) { if(!keyEvent && aEvent.button != 0) { return; } if (persToolbar.style.height == '') { persToolbar.style.height = collapse; } else if (persToolbar.style.height == visible) { persToolbar.style.height = collapse; } else if(persToolbar.style.height == collapse) { persToolbar.style.height = visible; if(!intervalID && autoCloseTime) { intervalID = aEvent.target.ownerGlobal.setInterval( autoClose, autoCloseTime ); } } } function autoClose() { if( intervalID ) { if( persToolbar.style.height == visible) { persToolbar.style.height = collapse; clearInterval(intervalID); intervalID=0; } } } })(); // Funktion wird ausgeführt, wenn STRG + Alt + l gedrückt wird // if (event.ctrlKey && event.altKey && keyName == 'l') { // Funktion wird ausgeführt, wenn STRG + w gedrückt werden //if (event.ctrlKey && keyName == 'w') { // PersonalToolbar.style.setProperty('min-height', '0', 'important' ); // PersonalToolbar.style.setProperty('transition', 'all 0.3s steps(6, end)', 'important' );
Und Beitrag Nr. 121 beachten!
-
Warum chrome://browser/skin/fullscreen.svg und nicht gleich chrome://browser/skin/bookmark-hollow.svg
oder chrome://browser/skin/bookmark.svgIch bin echt am überlegen, ob ich das nicht, wann immer es möglich ist, so umsetzen soll.
Wer sich dann mit JavaScript so ein klitzekleines bisschen auskennt, bekommt es hin,
eigene Symbole zu verwenden. -
und nicht gleich
geht natürlich auch
-
Hab jetzt dein Script 1:1 kopiert und getestet. Auch hier wird mir kein Button angezeigt. Post #121 hab ich beachtet. Ich verstehs nicht...
-
Das ist mehr als merkwürdig!
Und Du bist Dir absolut sicher, dass JS ausgeführt wird? -
dass JS ausgeführt wird?
Das Restart Skript funktioniert ja bei ihm
Und mit diesem Skript?
Teste bitte dieses Skript mal:
-
Hab jetzt dein Script 1:1 kopiert und getestet. Auch hier wird mir kein Button angezeigt. Post #121 hab ich beachtet. Ich verstehs nicht...
Wenn du Benutzerskripte verwendest, muss beim Neustart von Firefox der Skript-Cache geleert werden, immer, wenn du eine Veränderung im Skript vornimmst. Wenn du kein Skript hast, dass das macht, starte Firefox im Fehlerbehebungsmodus. Da wird dann der Skript-Cache gelöscht.
-
Wenn du Benutzerskripte verwendest, muss beim Neustart von Firefox der Skript-Cache geleert werden, immer, wenn du eine Veränderung im Skript vornimmst. Wenn du kein Skript hast, dass das macht, starte Firefox im Fehlerbehebungsmodus. Da wird dann der Skript-Cache gelöscht.
Ich wünschte das hätte geholfen. Gerade probiert, leider ohne Erfolg.
dass JS ausgeführt wird?
Das Restart Skript funktioniert ja bei ihm
Korrekt, das funktioniert:
Teste bitte dieses Skript mal:
Leider auch hier ohne Erfolg.
-
Leider auch hier ohne Erfolg.
Klick bitte mal rechts auf den Doppelpfeil>>
da sind auch noch Icons.
-
Leider auch hier ohne Erfolg.
Klick bitte mal rechts auf den Doppelpfeil>>
da sind auch noch Icons.
Netter Gedanke, aber so clever war ich auch schon
-
Die radikale Methode!
%appdata%\Mozilla\Firefox\Profiles\"Profilname"\startupCacheWichtig, ersetze "Profilname" durch Deinen echten Profilnamen
Wenn der Ordner geöffnet ist, Firefox beenden.
Danach den Inhalt des Ordners löschen.Jetzt kannst Du den Firefox wieder starten.
-
startupCache
Den Ordner gibts bei mir im Profilordner nicht.
Hab das aber jetzt über "about:support" erledigt. Gebracht hats leider nichts.
-
Kann nicht sein!
Mach folgendes, gibt im Firefox about:profiles in die Aderesszeile ein.
Dann klickst Du bei "Lokaler Ordner" hinten auf die Schaltfläche "Ordner öffnen".
Firefox beenden, Ordnerinhalt löschen, Firefox wieder starten. -
Kann nicht sein!
Mach folgendes, gibt im Firefox about:profiles in die Aderesszeile ein.
Dann klickst Du bei "Lokaler Ordner" hinten auf die Schaltfläche "Ordner öffnen".
Firefox beenden, Ordnerinhalt löschen, Firefox wieder starten.Ok, da war der Ordner drin. Ich hab nicht bei "AppData\Local\..." sondern "AppData\Roaming\..." danach gesucht.
Hab ich gelöscht. Aber auch wieder ohne Erfolg.
-
Poste Dein Skript!
Poste den Inhalt Deiner userChrome.js
OK, bin dann mal weg. Könne morgen weiter machen, oder ein Anderer hilft Dir weiter.
-
Poste den Inhalt Deiner userChrome.js
Wenn das Restart-Skript funktioniert, ist die userChrome.js auch in Ordnung.
-