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

Beiträge von BrokenHeart

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 7. Juli 2023 um 18:00
    Zitat von 2002Andreas

    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... :?:

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 7. Juli 2023 um 17:53

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

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 7. Juli 2023 um 17:34
    Zitat von omar1979

    Das ganze Script geladen und es funkt nicht. :(

    Zitat von 2002Andreas

    Hier auch nicht ;)

    :/

    Keine Ahnung warum es bei euch nicht läuft, hier funktioniert das Skript aus #90 mit den Änderungen einwandfrei. Habe es eben noch mal kopiert und gestartet.

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 7. Juli 2023 um 16:42
    Zitat von Horstmann

    Ich habe mal spasseshalber in deinem Script von hier noch etwas für den Lesezeichen-Menü Button ausprobiert, das ist der Button den man in die Navbar ziehen kann.

    Sehr gut! Funktioniert einwandfrei... :thumbup:

    Gleich mal hier als neue Skript-Version eingebaut: (Dank an Horstmann )

    JavaScript
    (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);
            }
        }
        
    })();
    Alles anzeigen
  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 7. Juli 2023 um 16:23
    Zitat von Dharkness

    Im Lesezeichen-Menü bzw. in der Lesezeichensymbolleiste werden über lange Untermenüs leider automatisch ans Ende des Untermenüs gescrollt.

    Ja. Das Verhalten ist auch in dem alten Original-Skript so. Ich vermute mal, dass es durch das kurzfristige Öffnen/Schließen der Untermenüs beim Durchiterieren passiert. An der Stelle habe ich nichts geändert und ich wüsste momentan auch nicht, wie man das unterbinden könnte?!

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 7. Juli 2023 um 14:52

    Mit diesem Script sollte es jetzt auch im Lesezeichen-Menu funktionieren:

    JavaScript
    (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 bookMenu = document.getElementById('bookmarksMenu');
            let persToolBar = document.getElementById('PersonalToolbar');
            
            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[1]; //label.menu-iconic-text
      
                  label.classList.add('countClass');
                  let strCountOut = "  (" + menuCount + "/" + menuitemCount + ")"
                  label.setAttribute('data-value', strCountOut);
    
                }, 100);
            }
        }
        
    })();
    Alles anzeigen

    Für Leute, die Probleme mit der Anzeige der Werte haben oder die Anzeige rechtsbündig vor dem Pfeil haben wollen, habe ich momentan nur diese Lösung:

    In obigem Skript in der Zeile 53 ein 3 eintragen, also

    let label = item.childNodes[3]; //label.menu-iconic-text

    Dann werden die Werte eben weiter rechts angezeigt, was mir persönlich sehr viel besser gefällt. Natürlich Geschmackssache.

    Zitat von BarbaraZ-

    Dachte schon, es wurde überlesen.

    Nein, natürlich nicht ;), aber ich habe eine Antwort, die dir wahrscheinlich nicht gefallen wird: -> '42'.

    Nein im Ernst, ich habe keinerlei Ahnung, wie das funktionieren soll. ;(

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 7. Juli 2023 um 13:15
    Zitat von omar1979

    auf der Lesezeichen-Symbolleiste habe. :)

    Nur das, nämlich die Lesezeichenleiste, ist bis jetzt auch implementiert. Welche Version des Skriptes hast du denn getestet (#BeitragsNummer)?

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 7. Juli 2023 um 12:33
    Zitat von Mira_Belle

    Funktioniert, schaut genau so aus, wie im Beitrag #52.

    Vielen Dank :thumbup:, dann glaube ich jetzt zu wissen, woran es liegt. Anscheinend ist die Anordnung der Kindknoten des Menü-Items anders bzw. hier gibt es noch einen zusätzlichen Eintrag. Ob das auch was mit Win11 zu tun hat, kann ich mir irgendwie nicht vorstellen. Auf jeden Fall gibt es, bei den Leuten, bei denen es bisher nicht funktioniert hat, Unterschiede im Aufbau des Menü-Items. Ich muss den Knoten, hinter dem etwas eingefügt werden soll, anders auswählen...

    Zitat von Mira_Belle

    Berichtigung!

    Habe den Firefox neu gestartet, nun sind die "Einträge" hinten direkt vor den Pfeilen.

    So wie es wohl sein soll.

    Alles klar. Ja, so sollte es aussehen. Ändert nichts an der Ursache, die es zu beheben gilt...


    Zitat von 2002Andreas

    PS:

    Auch wenn ich das Skript für mich nicht brauche.

    Ich werde es ja auch nicht dauerhaft nutzen... ;)

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 7. Juli 2023 um 12:14
    Zitat von 2002Andreas

    Ist hier auch so.

    Vielen Dank für den Test :thumbup: . Dann ist der Fehler zumindest mal lokalisiert...

    Jetzt wäre noch interessant, wenn irgendjemand, bei dem es bisher gar nicht läuft, das Skript aus #54 in Firefox 115 testen würde... :/

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 7. Juli 2023 um 12:06
    Zitat von 2002Andreas

    Scheint also alles einwandfrei dann zu sein.

    Andreas, noch eine Bitte:

    Du hast doch sicher auch die 102ESR. Könntest du mal das Skript aus #48 dort testen und dann das Skript aus #54? Was zeigt er dir bei beiden an an? :/

    In dem Skript #48 zeigt er hier nichts an,

    mit dem Skript aus #54 das hier:

    Danke im Voraus...

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 7. Juli 2023 um 11:40

    Hallo zusammen, ach, Herrje! ;)

    Also für die Leute, bei denen es funktioniert:

    Gern geschehen... :)

    Für die Leute, bei denen es nicht läuft:

    Ich hatte jetzt das gleiche Problem in der 102.13.0 ESR Version. Keine Fehlermeldung im Log, einfach nur keine Anzeige.

    Ich habe es dann mal debuggt und festgestellt, dass jede einzelne Anweisung korrekt ausgeführt wird, aber bei der Zeile

    label.setAttribute('data-value', strCountOut); keine Ausgabe erfolgt. Wenn ich einen anderen "Elternknoten" benutze, dann zeigt er etwas an. Es wäre gut, wenn diese Leute mal dieses geänderte Skript testen würden (nicht wundern, im Skript befinden sich massig Log-Meldungen, die Infos ausgeben; die Ausgabe im Lesezeichen-Menü erfolgt hierbei rechtsbündig, vor dem Pfeil):

    JavaScript
    (function() {
    
        if (!window.gBrowser)
            return;
    
        function setFunction() {
    
            console.log( "---------------------------Test: Position-0" );
    
            const css =`
                .countClass::after {
                    content: attr(data-value); 
                    /*content: " 978347234 "; */
                    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 persToolBar = document.getElementById('PersonalToolbar');
            
            persToolBar.addEventListener('popupshowing', function onPopupShowing(aEvent) {
                console.log( "---------------------------Test: Position-1" );
                let popup = aEvent.originalTarget;
    
                for (let item of popup.children) {
                    console.log( "---------------------------Test: Position-2" );
                    if (item.localName != 'menu' || item.id?.startsWith('history'))
                        continue;
                    setTimeout(() => {
                      console.log( "---------------------------Test: Position-3" );
                      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++;
                          }
                        }
                      }
                      
                      console.log( "---------------------------Test:  (MenuCount:" + menuCount + "/(MenuItemCount:" + menuitemCount + ")" );
                  
                      let label = item.childNodes[3]; //label.menu-iconic-text
                      
                      label.classList.add('countClass');
                      
                      let strCountOut = "  (" + menuCount + "/" + menuitemCount + ")"
                      label.setAttribute('data-value', strCountOut);
                      
                      console.log( "---------------------------Test: Position-4" );
    
                    }, 100);
                }
            });
        }
    
        setTimeout(function() {
            setFunction();
        },50);
      
    })();
    Alles anzeigen


    Zitat von Endor

    Nur in Menü - Lesezeichen tut sich nichts.

    Die Funktionalität besitzt das Skript von mir (noch) nicht, da ja nur die Lesezeichenleiste abgefragt wird:

    persToolBar.addEventListener('popupshowing', function onPopupShowing(aEvent)

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 7. Juli 2023 um 00:04
    Zitat von Mira_Belle

    Bei mir funktioniert das Skript aus #34 leider auch nicht!

    Und das Skript aus #14 läuft? oder geht das auch nicht?

    Zitat von Mira_Belle

    Was mir aber aufgefallen ist, Zeile 43 die Variable position wird nirgendwo aufgerufen!

    Ooops, das stimmt, danke:thumbup:. Ist vom Testen übriggeblieben :( ...

    Zitat von Mira_Belle

    Könnte es daran liegen?

    Unwahrscheinlich, weil dann in der Konsole auch etwas stehen müsste, aber es gehört natürlich wieder entfernt.

    Hier noch mal das Skript, ohne die Zeile:

    Code
    (function() {
    
        if (!window.gBrowser)
            return;
    
        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 persToolBar = document.getElementById('PersonalToolbar');
            
            persToolBar.addEventListener('popupshowing', 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[1]; //label.menu-iconic-text
          
                      label.classList.add('countClass');
                      let strCountOut = "  (" + menuCount + "/" + menuitemCount + ")"
                      label.setAttribute('data-value', strCountOut);
    
                    }, 100);
                }
            });
        }
    
        setTimeout(function() {
            setFunction();
        },50);
      
    })();
    Alles anzeigen

    omar1979 :

    Also starten tut er schon mal korrekt. Jetzt wäre es natürlich interessant, ob sich in der Konsole was tut, wenn du die Lesezeichen-Ordner mal öffnest, so dass die entsprechenden Events im Skript auch aktiviert werden.

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 6. Juli 2023 um 23:43
    Zitat von omar1979

    Keine Ahnung wo ich da schauen muss. Sorry.

    Nachdem Firefox gestartet wurde [STRG+SHIFT+J] drücken.

    Zitat von omar1979

    Nein habe kein Scripte entfernt und keine Ahnung ob da ein AddOn dazwischen funkt.

    Das kann man eigentlich auch nur testen, in dem man alle anderen Skripte eben mal temporär entfernt z.B. umbenennt z.B. "xxxx.uc.js___" oder verschiebt. Auch ein AddOn kann man temp. deaktivieren, dann weiß man , ob es dazwischen funkt.

    Falls überlesen:

    Erhöhe in meinem Skript mal die Werte in Zeile 52 und Zeile 59. Zum Testen ruhig mal auf '1000'!

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 6. Juli 2023 um 23:31
    Zitat von grisu2099

    Das läuft einwandfrei...

    Wie gesagt, dann weiß ich auch nicht weiter. Ich kann es eben nur auf Win10 testen. Es scheint ja kein prinzipielles Problem mit dem OS zu geben... :/

    Hast du auch mal die 'userChromeShadow.css' ausgeschaltet, falls von dir benutzt?

    Erhöhe in meinem Skript mal die Werte in Zeile 52 und Zeile 59. Zum Testen ruhig mal auf '1000'!

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 6. Juli 2023 um 23:08

    Jetzt direkt hinter dem Ordnernamen: Besser?

    JavaScript
    (function() {
    
        if (!window.gBrowser)
            return;
    
        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 persToolBar = document.getElementById('PersonalToolbar');
            
            persToolBar.addEventListener('popupshowing', 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 position = document.getElementsByClassName('label.menu-iconic-text')[0];
    
                      
                      let label = item.childNodes[1]; //label.menu-iconic-text
          
                      label.classList.add('countClass');
                      let strCountOut = "  (" + menuCount + "/" + menuitemCount + ")"
                      label.setAttribute('data-value', strCountOut);
    
                    }, 100);
                }
            });
        }
    
        setTimeout(function() {
            setFunction();
        },50);
      
    })();
    Alles anzeigen

    grisu2099 und omar1979 :

    Steht bei euch eine Fehlermeldung in der Konsole bzgl. dieses Skripts?

    Habt ihr mal alle sonstigen Skripte entfernt? Vielleicht kommt ja auch ein spezielles AddOn als Störfaktor in Frage?

    Läuft bei euch dieses (Original-)Skript? Wenn ja, dann bin ich wirklich überfragt und ratlos...

    JavaScript
    (function() {
    
      if (!window.gBrowser)
        return;
    
      function setFunction() {
        PlacesViewBase.prototype._onPopupShowing = function PVB__onPopupShowing(aEvent) {
    
          let popup = aEvent.originalTarget;
          this._ensureMarkers(popup);
          if ("_delayedRemovals" in popup) {
            while (popup._delayedRemovals.length) {
              popup.removeChild(popup._delayedRemovals.shift());
            }
          }
          if (popup._placesNode && PlacesUIUtils.getViewForNode(popup) == this) {
            if (!popup._placesNode.containerOpen) {
              popup._placesNode.containerOpen = true;
            }
            if (!popup._built) {
              this._rebuildPopup(popup);
            }
            this._mayAddCommandsItems(popup);
          }
    
          /* original function end */
    
          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++;
                  }
                }
              }
              if (!item.labelOriginal) {
                item.labelOriginal = item.label;
              }
              item.labelSuffix = '  (' + menuCount + '/' + menuitemCount + ')';
              item.label = item.labelOriginal + item.labelSuffix;
            }, 100);
          }
    
          popup.addEventListener('popuphidden', function onPopuphidden(event) {
            if (event.target != this)
              return;
            popup.removeEventListener('popuphidden', onPopuphidden);
            for (let item of popup.children) {
              if (item.localName == 'menu') {
                if (item.labelOriginal) {
                  item.label = item.labelOriginal;
                  item.labelOriginal = undefined;
                }
              }
            }
          });
    
        }
    
      }
    
      setTimeout(function() {
          setFunction();
      },50);
      
    })();
    Alles anzeigen
  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 6. Juli 2023 um 22:26
    Zitat von FuchsFan

    Funktioniert hier ohne Probleme. :)

    Du bist mein Held ;)! Eine gute Nachricht für mich, aber eine schlechte für grisu2099 , dann muss der Fehler bei dir irgendwo anders verborgen sein. Alles richtig kopiert? :/


    Zitat von harff182

    Wäre schön, wenn Du es wieder vor das ">" zaubern könntest.

    Danke fürs Testen! Ich schau, was ich machen kann...

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 6. Juli 2023 um 22:20
    Zitat von 2002Andreas

    Auch da keine Probleme.

    :thumbup: Danke fürs Testen.

    Hat nicht FuchsFan Win11? H-I-L-F-E!!! :)


    Zitat von Mitleser

    Funzt hier mit 115, allerdings auf Linux.

    :thumbup: Auch dir Danke fürs Testen...

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 6. Juli 2023 um 22:14
    Zitat von grisu2099

    Funktioniert leider weder in Version 115 noch in der Nightly

    Starte bitte einmal im Fehlerbehebungsmodus und dann wieder normal. Liegt wahrscheinlich wieder am SkriptCache.

    Zitat von grisu2099

    Beide aktuelles Win11

    Dass es daran liegt, kann ich mir zwar nicht vorstellen, wäre aber gut, wenn jemand anderes das auf Win11 nochmal testen würde...ich habe nur Win10.

  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 6. Juli 2023 um 21:34
    Zitat von grisu2099

    Ich persönlich fände es hinter dem Ordnernamen schöner - aber wenn es nicht anders geht, müßte ich damit anfreunden. :/

    OK. Muss ich dann später noch etwas rumschrauben, wird sicher gehen...

    Jetzt habe ich mal eine erste Version zum Testen (Anzeige hinter dem Pfeil-Icon). Die CSS-Einstellungen können ab Zeile 13 vorgenommen werden und in Zeile 47 kann die textuelle Ausgabe beeinflusst werden.

    Den Patch über die Prototype-Funktion in dem Original-Skript habe ich entfernt (auch aus Sicherheitsgründen) und das Löschen der Änderung beim Schließen des Popups ist jetzt auch nicht mehr nötig.

    JavaScript
    (function() {
    
        if (!window.gBrowser)
            return;
    
        
    
        function setFunction() {
    
            const css =`
                .countClass::after {
                    content: attr(data-value); 
                    color: red;
                    font-size: 14px;
                    font-weight: 800;
                }
            `;
    
            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 persToolBar = document.getElementById('PersonalToolbar');
            
            persToolBar.addEventListener('popupshowing', 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++;
                          }
                        }
                      }
                      item.classList.add('countClass');
                      let strCountOut = "[" + menuCount + "/" + menuitemCount + "]"
                      item.setAttribute('data-value', strCountOut);
    
                    }, 100);
                }
            });
        }
    
        setTimeout(function() {
            setFunction();
        },50);
      
    })();
    Alles anzeigen
  • Nur die Anzeige der Ordner/Lesezeichenanzahl in einer anderen Farbe darstellen

    • BrokenHeart
    • 6. Juli 2023 um 20:28

    Wäre es sehr schlimm, wenn die Anzeige hinter dem Pfeil erscheint? Geht sicher auch direkt hinter dem Item-Label, aber dann müsste ich noch weiter herumexperimentieren...("X/Y" sind nur vorläufige Platzhalter).

    Eigentlich finde ich es dort fast sinniger, da sich die Anzahl der Ordner/Items ja auf das noch zu öffnende Popup bezieht. :/

Unterstütze uns!

Jährlich (2026)

32,8 %

32,8% (213,31 von 650 EUR)

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