Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen
-
grisu2099 -
1. Juli 2023 um 18:13 -
Erledigt
-
-
Keine Ahnung warum es bei euch nicht läuft
Das möchte ich auch gern wissen, deshalb habe ich das bisherige (von gestern) mit dem neuen verglichen (was hier auch nicht läuft). Von der Basis her keine Unterschiede gefunden.
Wenn ich in das bisherige Script die zwei neuen Zeilen hinzufüge, dann funktioniert es tadellos.
-
2002Andreas und omar1979:
Bitte einmal in den Fehlerbehebungsmodus gehen und dann wieder normal starten. Oder den gesamten Script-Cache löschen. Der Rechtsklick auf dem Restart-Button scheint da nicht zu funktionieren...
-
-
Wenn ich hier die Leerzeichen vor der letzten ) entferne, ist alles ok.
Das verstehe ich absolut nicht mehr... . Das Leerzeichen hat überhaupt keine Funktion/Auswirkungen auf den Code...
-
Das Leerzeichen hat überhaupt keine Funktion/Auswirkungen auf den Code.
Füge ich es wieder ein, dann funktioniert es hier wieder nicht
PS:
Bin jetzt mal eine Weile offline.
-
Hmm, interessant; aber dann ist ja gut.
Komisch, vielleicht ist beim hin- und herkopieren irgendwo die Formatierung durcheinander gekommen?
Das ältere Script hatte die Leerzeichen ja auch...
-
Nochmal als Test direkt von der bei mir funktionierenden Version aus NP++ kopiert:
JavaScript
Alles anzeigen(function() { if (!window.gBrowser) return; setTimeout(function() { setFunction(); },50); function setFunction() { const css =` .countClass::after { content: attr(data-value); color: red; } `; const sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService); const uri = Services.io.newURI('data:text/css,' + encodeURIComponent(css)); sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); let bmbMenu = document.getElementById('bookmarks-menu-button'); let bookMenu = document.getElementById('bookmarksMenu'); let persToolBar = document.getElementById('PersonalToolbar'); bmbMenu.addEventListener('popupshowing', onPopupShowing ); bookMenu.addEventListener('popupshowing', onPopupShowing ); persToolBar.addEventListener('popupshowing', onPopupShowing ); } function onPopupShowing(aEvent) { let popup = aEvent.originalTarget; for (let item of popup.children) { if (item.localName != 'menu' || item.id?.startsWith('history')) continue; setTimeout(() => { let itemPopup = item.menupopup; itemPopup.openPopup(); itemPopup.hidePopup(); let menuitemCount = 0; let menuCount = 0; for (let subitem of itemPopup.children) { if (subitem.classList.contains('bookmark-item') && !subitem.disabled && !subitem.hidden) { if (subitem.localName == 'menuitem') { menuitemCount++; } else if (subitem.localName == 'menu') { menuCount++; } } } let label = item.childNodes[3]; //label.menu-iconic-text label.classList.add('countClass'); let strCountOut = " (" + menuCount + "/" + menuitemCount + ")" label.setAttribute('data-value', strCountOut); }, 100); } } })();
-
Bei mir scheint es mit dem Code aus Beitrag #90 zu funktionieren, im 117er Nightly.
Ich habe per ALT + 160 ein Leerfeld eingefügt.
Hm. In UTF-8 ergibt das aber bei mir á und kein Leerzeichen und außerdem sollten die Codes ja vierstellig sein.
-
Nochmal als Test direkt von der bei mir funktionierenden Version aus NP++ kopiert:
Funktioniert hier genauso gut wie die Versionen davor bei mir auch funktioniert haben, egal wie kopiert und eingefügt.
-
Also ich hab jetzt so wie 2002Andreas das Leerzeichen vor diesen 3 hinteren Klammern gelöscht
let bmbMenu = document.getElementById('bookmarks-menu-button');
let bookMenu = document.getElementById('bookmarksMenu');
let persToolBar = document.getElementById('PersonalToolbar');
bmbMenu.addEventListener('popupshowing', onPopupShowing );
bookMenu.addEventListener('popupshowing', onPopupShowing );
persToolBar.addEventListener('popupshowing', onPopupShowing );
neu gestartet. funkt nicht.
dann hab ich die Leerzeichen wieder gemacht, diesmal mit fehlermodus neugestartet funkt auch nicht.
keine ahnung warum es nicht funkt.
meine Frage noch, was machen diese 2 neue Zeilen?
das bmbMenu?
so zur info: ich benütze das normale editor von win11 nicht notepad++
-
Funktioniert hier genauso gut wie die Versionen davor bei mir auch funktioniert haben, egal wie kopiert und eingefügt.
Ist hier ebenfalls so...
-
also ohne diese 2 Zeilen mit dem bmbMenu funkt das Script bei mir im Lesezeichen-symbolleiste und im Lesezeichen-Menu oben.
-
Gibt es eine Möglichkeit, vor einstelligen Werten ein zusätzliches Leerzeichen einzufügen ?
Falls es wen interessiert: Ich hab eine für mich akzeptable Lösung gefunden:
Code// funktioniert: // let strCountOut = " ("+ "Ordner: " + menuCount + " / Links: " + menuitemCount + ")" // harff-test Beginn let myordner = "Ordner: "; if (menuCount <10) {myordner = "Ordner: 0";} let mylinks = "Links: "; if (menuitemCount <10) {mylinks = "Links: 0";} let strCountOut = " ("+ myordner + menuCount + " / " + mylinks + menuitemCount + ")" // harff-test Ende
-
Ich glaube doch ein Fehler meinerseits. Wenn der Lesezeichen-Button überhaupt nicht vorhanden ist bzw. eingefügt wurde, dann ist das entsprechende Objekt natürlich auch NULL und es wird eine Exception geschmissen.
Hier der geänderte Code:
JavaScript
Alles anzeigen(function() { if (!window.gBrowser) return; setTimeout(function() { setFunction(); },50); function setFunction() { const css =` .countClass::after { content: attr(data-value); color: red; } `; const sss = Cc['@mozilla.org/content/style-sheet-service;1'].getService(Ci.nsIStyleSheetService); const uri = Services.io.newURI('data:text/css,' + encodeURIComponent(css)); sss.loadAndRegisterSheet(uri, sss.AGENT_SHEET); let bmbMenu = document.getElementById('bookmarks-menu-button'); let bookMenu = document.getElementById('bookmarksMenu'); let persToolBar = document.getElementById('PersonalToolbar'); if(bmbMenu) bmbMenu.addEventListener('popupshowing', onPopupShowing ); if(bookMenu) bookMenu.addEventListener('popupshowing', onPopupShowing ); if(persToolBar) persToolBar.addEventListener('popupshowing', onPopupShowing ); } function onPopupShowing(aEvent) { let popup = aEvent.originalTarget; for (let item of popup.children) { if (item.localName != 'menu' || item.id?.startsWith('history')) continue; setTimeout(() => { let itemPopup = item.menupopup; itemPopup.openPopup(); itemPopup.hidePopup(); let menuitemCount = 0; let menuCount = 0; for (let subitem of itemPopup.children) { if (subitem.classList.contains('bookmark-item') && !subitem.disabled && !subitem.hidden) { if (subitem.localName == 'menuitem') { menuitemCount++; } else if (subitem.localName == 'menu') { menuCount++; } } } let label = item.childNodes[3]; //label.menu-iconic-text label.classList.add('countClass'); let strCountOut = " (" + menuCount + "/" + menuitemCount + ")" label.setAttribute('data-value', strCountOut); }, 100); } } })();
-
Also ich hab jetzt das Script aus #108 genommen so wie es dort ist. Zuerst mit Restart-button dann mit fehlermodus neugestartet. Beide male das gleiche. das script funkt nicht.
Dann hab ich im gleichen script wie 2002andreas beschrieben hat die 3 hinteren leerzeichen gelöscht und wieder mit restartbutton und dann mit fehlermodus gestartet. wieder beide male das gleiche. das script funkt nicht.
aber ohne dies 2 zeilen mit dem bmbmenu funkt das script im lesezeichen-symbolleiste und im lesezeichen-menü.
Was bewirken die 2 Zeilen mit dem bmbMenu?
Kann mir wer das erklären?
Ich glaube doch ein Fehler meinerseits. Wenn der Lesezeichen-Button überhaupt nicht vorhanden ist bzw. eingefügt wurde, dann ist das entsprechende Objekt natürlich auch NULL und es wird eine Exception geschmissen.
Hier der geänderte Code:Dieser Script funkt jetzt. Ordner im Lesezeichen-Symbolleiste.
Ordner im Lesezeichen-Menü.
Was bewirken die 2 Zeilen mit dem bmbMenu?
Kann mir wer das erklären?
Kann mir das jemand erklären?
-
Ich glaube doch ein Fehler meinerseits. Wenn der Lesezeichen-Button überhaupt nicht vorhanden ist bzw. eingefügt wurde, dann ist das entsprechende Objekt natürlich auch NULL und es wird eine Exception geschmissen.
Hier der geänderte Code:
Aaah, kapiert ...
Vielen Dank für den ganzen Aufwand, and sorry dass ich die Konfusion angeregt habe...
-
Vielleicht sowas? (ungetestet)
-
Was bewirken die 2 Zeilen mit dem bmbMenu?
Kann mir wer das erklären?
Kann mir das jemand erklären?
Das ist für den Lesezeichen Menü Button und sein Popupmenü, den man in Symbolleiste anpassen in die Werkzeugleiste einfügen kann.
Das ist der Stern in der Schale, sieht so aus:
-
Vielen Dank für den ganzen Aufwand, and sorry dass ich die Konfusion angeregt habe...
Nein, warum denn? Ganz im Gegenteil: Es wäre ohne diesen Button, der ja Standard ist, einfach nicht komplett gewesen. Daher von mir nochmal "Danke". Und an die Überprüfung auf NULL sollte man sich ja grundsätzlich und immer gewöhnen...
-