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

  • Ich verstehe das mit der "Live-Verbreiterung" nicht!

    Damit meinte ich, dass sich das Popup verbreitert, wenn die Zähler hinzugefügt werden. Da die Addition aller Verzeichnisse und Lesezeichen eine gewisse Zeit in Anspruch nimmt, hat man eventuell einen sichtbaren Effekt, ganz in Abhängigkeit von der "bestehenden" Breite des Popups und seiner Position. Wie ich weiter oben geschrieben habe, stört mich persönlich dieser Effekt überhaupt nicht, bloß hatte ich gedacht, dass Horstmann genau das meint, als er von "Darstellungsproblemen" schrieb, was er aber in seiner letzten Antwort verneint hat.

    Also in deinem Fall ist ja jetzt wohl alles in bester Ordnung...

    Horstmann : Kannst du mal ein GIF von deinem Darstellungsproblem erzeugen? Irgendwie weiß ich im Moment nicht, wie ich mir das vorzustellen habe. :/

    Gruß BrokenHeart

    "success has many fathers, failure is an orphan"

  • Die Veränderung der Ausrichtung des Popups bei meinem ersten Test (zuerst links, dann rechts) hängt genau damit zusammen: weil das Popup durch die hinzugefügten Zähler nicht mehr links darstellbar war, wurde halt "on the fly" nach rechts geswitcht.

    Aaaah, das macht Sinn.
    Letztlich wäre es uU sinnvoller, die fehlende Darstellung in Menüleiste/Lesezeichen anzugehen, statt das Lesezeichenmenü insgesamt zu ändern mit popupshowing ==> popupshown.

    Dein ursprünglicher Ansatz funktioniert ja generell anscheinend immer noch prima, hier am Mac sowieso.

    Mein komplettes Skript in Kombination mit dem Autopopup-Skript.

    Du kannst extra für Mac erforderlich reinschreiben bis die Kühe bellen, aber da gibt es keinen Zusammenhang.;)

    Wie kommt das Autopopup Ding in dieses Thema, ohne Zusammenhang, haben wir hier etwa eine Sammelthread? =O;)

    Damit meinte ich, dass sich das Popup verbreitert, wenn die Zähler hinzugefügt werden. Da die Addition aller Verzeichnisse und Lesezeichen eine gewisse Zeit in Anspruch nimmt, hat man eventuell einen sichtbaren Effekt, ganz in Abhängigkeit von der "bestehenden" Breite des Popups und seiner Position. Wie ich weiter oben geschrieben habe, stört mich persönlich dieser Effekt überhaupt nicht, bloß hatte ich gedacht, dass Horstmann genau das meint, als er von "Darstellungsproblemen" schrieb, was er aber in seiner letzten Antwort verneint hat.

    Horstmann : Kannst du mal ein GIF von deinem Darstellungsproblem erzeugen? Irgendwie weiß ich im Moment nicht, wie ich mir das vorzustellen habe. :/

    Das mit dem Gif aufnehmen müsste ich mir erst noch beibringen. ;)

    Der von dir (und mir) beschriebene Effekt stört mich auch nicht, aber mit popupshowing ist er sanft, mit popupshown ruckartig.
    Eben weil vermutlich die Zähler zu spät dazugerechnet werden zur Breite mit Letzterem, um noch eine bestehende Animation auslösen zu können.:/
    Was aber wie gesagt bei mir dann gelöst wird durch den/die aktuellen Codevorschläge, also auf meiner Seite no problemo.:)

    Ich mach jetzt aber mal meine Version fertig, bin schon ganz verwirrt. :huh:

  • Zweites Skript AutoPopup.uc.js gelöscht, weil gemotzt wurde. Ist ok, ist aber eigentlich mein Thread.

    Nimm es bitte nicht so Bierernst, Du hast ja recht. ;)

    Zitat

    Du kannst extra für Mac erforderlich reinschreiben bis die Kühe bellen, aber da gibt es keinen Zusammenhang.;)

    Ist das so? Dann kann ich es auch wieder löschen, komplett!
    Denn beides

    Code
    let bmbMenuPop = document.getElementById('BMB_bookmarksPopup');   //--- extra für Mac erforderlich

    und

    JavaScript
        if(bmbMenuPop) {
          bmbMenuPop.addEventListener('popupshowing', onPopupShowing );   //--- extra für Mac erforderlich
          }

    brauche ich nicht!
    Ich hatte das nur deinetwegen im Code.

    Mit <3lichem Gruß

    Mira

  • ist aber eigentlich mein Thread.

    Meinst du damit diesen Thread?

    Wenn ja, der wurde von grisu2099 erstellt:;)

    grisu2099
    1. Juli 2023 um 18:13
  • Dharkness
    Ändere ganz am Ende den Code!

    JavaScript
              let strCountOut1 = String(menuCount).padStart(2, " ");
              bmContent.setAttribute('data-value1', strCountOut1);
    
              let strCountOut2 = (useStyle === 0) 
                ? String(menuitemCount).padStart(4, "/  ")
                : String(menuitemCount).padStart(2, " ");
              bmContent.setAttribute('data-value2', strCountOut2);

    Also let strCountOut1 = String(menuCount).padEnd(2, " "); in
    let strCountOut1 = String(menuCount).padStart(2, " ");
    und : String(menuitemCount).padEnd(2, " "); in : String(menuitemCount).padStart(2, " ");.
    Das ist alles.


    Meinst du damit diesen Thread?

    Wenn ja, der wurde von grisu2099 erstellt:;)

    Oh, hab' ich mich da etwa einfach drauf gehängt?
    Habe ich wohl, aber es war meine Frage, richtig?



    Sorry. :saint:

    Mit <3lichem Gruß

    Mira

    Einmal editiert, zuletzt von Mira_Belle (5. Juli 2025 um 22:31) aus folgendem Grund: Ein Beitrag von Mira_Belle mit diesem Beitrag zusammengefügt.

  • Horstmann Schon gut, aber recht hattest Du ja. (Mit dem zweiten Skript)
    Was das mit dem zusätzlichen Code angeht, warte ich jetzt ab, bis es ein allgemein gütliches Codefragment gibt.
    Denn ich brauche die zwei Zeilen Code eigentlich nicht. Bei Dir, wenn ich es richtig verstanden habe, aber schon.

    Mit <3lichem Gruß

    Mira

  • Kannst du mal ein GIF von deinem Darstellungsproblem erzeugen? Irgendwie weiß ich im Moment nicht, wie ich mir das vorzustellen habe. :/

    Wer hätte es gedacht, der Mac kann Bildschirmaufnahmen, mit QT Player.

    Hier dann gifs: #1 mit dem Problem, #2 ohne, nur als Info.
    Wie erwähnt, nur dann ein Problem wenn die Breite ohne Zähler kleiner als die max-width (30em ?) des Elements ist, und nur beim ersten Öffnen in einem Fenster.

    #1 wäre dann nur mit:

    JavaScript
            if(bmbMenu)
               bmbMenu.addEventListener('popupshown', onPopupShowing );

    #2 wäre die alte Version mit popupshowing, oder mit gleicher Wirkung diese erweiterte neue Version:

    JavaScript
            if(bmbMenu)
               bmbMenu.addEventListener('popupshown', onPopupShowing );
            if(bmbMenuPop)
               bmbMenuPop.addEventListener('popupshowing', onPopupShowing );

    Hoffe das klappt mit den gifs:

  • Einen hätte ich noch, falls das mal jemand in Windows und/oder Linux testen möchte: :/
    Bin nicht optimistisch, aber falls es geht könnte es den Code verschlanken.

  • Hier dann gifs: #1 mit dem Problem, #2 ohne, nur als Info.

    Danke für die gifs, aber jetzt bin ich noch verwirrter als vorher! Ich kann bei beiden gifs kein "Darstellungsproblem" erkennen, außer die schon vorher diskutierte sichtbare Vergrößerung der Breite, wenn die Zähler hinzugefügt werden.

    Den einzigen Unterschied zwischen #1 und #2 sehe ich nur bei einem nachträglichen "Refresh" der unteren Zähler in #2, der ist bei #1 nicht vorhanden und daher sieht es hier etwas besser aus.

    Kann mir denn keiner exakt mit Worten beschreiben, was ich eigentlich sehen sollte, damit auch ich das Problem in den gifs erkennen kann? :/

    Gruß BrokenHeart

    "success has many fathers, failure is an orphan"

  • Wie erwähnt, nur dann ein Problem wenn die Breite ohne Zähler kleiner als die max-width (30em ?) des Elements ist, und nur beim ersten Öffnen in einem Fenster.

    Die Breite des Menupopups wird wohl dynamisch der Breite des Inhalts angepasst, deshalb wohl die sichtbare Änderung der Breite, wenn Dich das stört, warum nagelst Du die Breite nicht fest? Sprich sowohl die maximale, als auch die minimale Breite auf 30em setzen und gut ist.

    Es grüßt,

    Ralf

  • Die Breite des Menupopups wird wohl dynamisch der Breite des Inhalts angepasst, deshalb wohl die sichtbare Änderung der Breite, ...

    Hmm, das hat noch niemand erwähnt auf den letzten paar Seiten, und schon gar nicht im Detail beschrieben. ;)

    Den einzigen Unterschied zwischen #1 und #2 sehe ich nur bei einem nachträglichen "Refresh" der unteren Zähler in #2, der ist bei #1 nicht vorhanden und daher sieht es hier etwas besser aus.

    Das ist ein anderes Problem - Vorschläge willkommen. ;)
    Glaube mein Script hat Optimierungsbedarf.8)

    In #1 werden die Zähler mit Verspätung geladen und angezeigt, und das Popup deshalb mit Verspätung in der Breite angepasst -> Ende der westlichen Zivilisation. =O

    Übrigens, #570: geht, oder nada? :/

  • In #1 werden die Zähler mit Verspätung geladen und angezeigt, und ...

    ... und ich habe als auf die "dynamische" Breite geachtet!
    Oh, Gott. Ja, das "nachladen" der Counter beim ersten Aufruf, egal welcher Lesezeichen, habe ich auch.
    Nur geht das so schnell, dass es mich gar nicht stört!
    Was die Breite angeht, die habe ich irgendwo festgezurrt, diesen Effekt, "dynamische" Breitenanpassung habe ich gar nicht!

    Dann kann ich ja die Ursachenforschung beenden, da ich ja nach dem Falschen gesucht habe.

    Mit <3lichem Gruß

    Mira

  • Oh, Gott. Ja, das "nachladen" der Counter beim ersten Aufruf, egal welcher Lesezeichen, habe ich auch.
    Nur geht das so schnell, dass es mich gar nicht stört!
    Was die Breite angeht, die habe ich irgendwo festgezurrt, diesen Effekt, "dynamische" Breitenanpassung habe ich gar nicht!

    Danke wieder mal für's Testen! :)

    Übrigens: in meinem eigenen, tatsächlich benutzten Hauptprofil ist die Popupbreite für den Lesezeichenmenü Button auch festgemeisselt, es ist mit zusammen einigen anderen Anpassungen mein Hauptnavigator für Lesezeichen - und ich benutze dieses Script für die Zähler nicht in diesem Popup - der Code den wir gerade diskutieren ist bei mir auskommentiert. ;)

    Eigentlich benutze ich es nur für die Lesezeichenleiste Popups, und die Lesezeichenleiste benutze ich 2x im Monat, die Menüleiste/Lesezeichen Schaltfläche 2x im Jahr (am Mac geht das Script eh nicht an der Stelle).

    Aber es geht um das Prinzip und das Kulturgut, gerade heute ist es wichtig dafür zu kämpfen! ^^

    Apropos, #570? :/

  • Beitrag von Horstmann (6. Juli 2025 um 22:35)

    Dieser Beitrag wurde vom Autor gelöscht (6. Juli 2025 um 22:36).
  • Ganz ehrlich, ich sehe das eigentliche Problem immer noch nicht. :/ Vielleicht ist meine Wahrnehmung zu 'grobmotorisch', aber Geschwindigkeitsunterschiede im Aufbau sind für nicht wahrnehmbar. Wie gesagt, vielleicht bin ich in dieser Beziehung ein ungeeigneter Tester.

    Ein Lösung wäre möglicherweise zwei EventListener mit unterschiedlicher Behandlung für popupshown und popupshowing zu verwenden und das Popup beim Aufbau der Zähler zu verstecken. Mal schauen...

    Apropos, #570? :/

    Würde ich nicht so machen. Wenn der Button bmbMenu nicht vorhanden ist, fügst du beim Test auf das Menü bookMenu trotzdem einen Eventlistener für diesen Button hinzu, was zwangsläufig in einer Exception münden wird, da die Variable bmbMenu NULL/undefiniert ist...

    Gruß BrokenHeart

    "success has many fathers, failure is an orphan"

  • Update:

    Edit: Anpassung für Menüleiste, etwas Code Optimierung.

    Einmal editiert, zuletzt von Horstmann (9. Juli 2025 um 14:16)

  • Mal schauen...

    Habe zum Testen wieder mein altes Skript genommen.

    Das kurze "Umswitchen" des BMB-Menüs von links nach rechts, ist damit noch nicht unterbunden. Dafür muss der BM-Button aber wirklich sehr genau an einer ganz bestimmten Position sein, was sehr selten zufällig passieren sollte, ich habe es auch wirklich provozieren müssen.

    Hier der Block, der sich geändert hat. Geht im Test-Skript von Zeile 30 bis Zeile 50. Alles andere braucht nicht angepasst werden:

    Hier das ganze Skript zum Testen:

    Gruß BrokenHeart

    "success has many fathers, failure is an orphan"