Neue Quicklink-Button

  • Wofür ist der ganze Bitch-Code?

    Habe jetzt mal nur den Code aus #10
    nach : "catch(e) {};" angepasst und übernommen, (danke dafür)
    und damit besteht es den Elchtest und auch den Funktionstest.
    (Sofortige Funktion nach verschieben aus dem Anpassfenster)

    Der macht das gleiche wie der aus #10, nur evtl. besser, bin noch dran das fein einzustellen.
    Der heisst nur so weil mich die Buttons in letzter Zeit so gequält haben. ;)

  • Kurze Bewertung von perplexy (KI)
    Anmerkung!
    Variante 1 => Dein Code aus #20
    Variante 2 => hänge ich mal unten an.

    Zitat

    Beide Varianten tun funktional fast dasselbe, sind aber unterschiedlich strukturiert und haben jeweils Vor‑ und Nachteile.

    Robustheit / Fehlerfälle

    • Beide Varianten kapseln CustomizableUI.createWidget in try { ... } catch(e) {}, behandeln aber den Fehler nur durch Ignorieren.
    • Variante 1 geht davon aus, dass document.getElementById(button_id) nach createWidget sofort existiert; wenn das fehlschlägt, gibt es keinen Klick‑Listener.
    • Variante 2 prüft explizit, ob der Button existiert, und versucht es bei Fehlschlag weiter (Polling), wodurch der Listener sehr zuverlässig angehängt wird.

    Bewertung: Variante 2 ist in der Praxis fehlertoleranter, weil der Klick‑Handler fast sicher gesetzt wird.

    Ob DAS so stimmt? Ich kann das nicht so wirklich beurteilen.
    Da müsste mal kurz ein Profi drüberschauen.

    Horstmann In der langen Version der "Beurteilung" standen nur Dinge,
    die meiner Meinung jetzt nicht so ausschlaggebend waren.
    Ich glaube, das kannst Du Dir ja anschauen, wenn Du ganz unten den Editierbutton anklickst.
    Wenn das nicht gehen sollte, ich schicke Dir die lange Version auch gerne per PN zu.

    Und hier meine Variante, wobei da noch zwei Zeilen Code sind,
    die ich auskommentiert habe, weil ich mich noch nicht entschieden habe!

    Mit <3lichem Gruß

    Mira

    Einmal editiert, zuletzt von Mira_Belle (24. November 2025 um 10:20)

  • Ich weiß nicht, ob das überhaupt geht: Am Anfang werden Variablen (id, link, label, tooltip, tooltiptext) Werte zugewiesen und im Nachhinein die Variablen-Namen direkt als Parameter angegeben, statt ihrer Werte: Zeile 25, 27, 28, 44, 46. Und die Eigenschaften, denen das zugewiesen wird, haben auch noch die gleichen Namen wie die oben definierten Variablen.

    Übersetzer für Obersorbisch und Niedersorbisch auf pontoon.mozilla.org u.a. für Firefox, Firefox für Android, Firefox für iOS, Firefox Klar/Focus für iOS und Android, Thunderbird, Pootle, Django, LibreOffice, LibreOffice Onlinehilfe, WordPress

  • Kurze Bewertung von perplexy (KI)
    Anmerkung!
    Variante 1 => Dein Code aus #20
    Variante 2 => hänge ich mal unten an.

    Nur kurz zum Verständnis: du meinst evtl. meinen Code aus #10, nicht #20 (ist auch dein Posting)?

    In deiner Variante musst du in Zeile 41 den Kommentar // entfernen sonst ist button nicht definiert.
    Ist dann eigentlich genau wie mein Code aus #10. :/

    Re. AI: jemand den ich kenne hat das für Fx ab und zu mal probiert, AI kapiert die Feinheiten der UI nicht, besonders das Customize Zeug, und den Unterschied zw. selber gemachten und Fx Buttons.


    Ich weiß nicht, ob das überhaupt geht: Am Anfang werden Variablen (id, link, label, tooltip, tooltiptext) Werte zugewiesen und im Nachhinein die Variablen-Namen direkt als Parameter angegeben, statt ihrer Werte: Zeile 25, 27, 28, 44, 46. Und die Eigenschaften, denen das zugewiesen wird, haben auch noch die gleichen Namen wie die oben definierten Variablen.

    Das geht schon, ist mE nur sehr verwirrend.
    Der eine Vorteil der Variablen ist, dass User Einstellung oben zusammengefasst dargestellt und veränderbar sind; für einen neuen Button kann man dann nur diese Zeilen anpassen, und fertig.
    Die Button Funktion könnte man auch noch nach oben ziehen.

    Ob man das jetzt braucht für relativ kurze und einfache Buttonscripts ist eine andere Frage. ;)

    Einmal editiert, zuletzt von Horstmann (24. November 2025 um 11:41) aus folgendem Grund: Ein Beitrag von Horstmann mit diesem Beitrag zusammengefügt.

  • FuchsFan & 2002Andreas
    War mein Fehler!
    So funktioniert es und damit hat sich das mit dem auskommentierten Code auch erledigt.


    Horstmann Oh, nein ich ließ den Code aus #19 mit dem meinigen vergleichen.

    Das geht schon, ist mE nur sehr verwirrend.
    Der eine Vorteil der Variablen ist, dass User Einstellung oben zusammengefasst dargestellt und veränderbar sind; für einen neuen Button kann man dann nur diese Zeilen anpassen, und fertig.
    Die Button Funktion könnte man auch noch nach oben ziehen.

    Ob man das jetzt braucht für relativ kurze und einfache Buttonscripts ist eine andere Frage. ;)

    Richtig!
    Natürlich kann man den "Konfigurationsbereich" auch weglassen und die "Parameter" direkt
    im Code einfügen, nur so ist es aber auch für so manchen Nutzer einfacher,
    wenn nicht im Code direkt etwas geändert werden muss.

    Mit <3lichem Gruß

    Mira

    Einmal editiert, zuletzt von Mira_Belle (24. November 2025 um 16:04)


  • So funktioniert es

    Prima! :)

    Weil ich mir die eh schon gebastelt habe, hier noch 2 Varianten - pures Horst-I ! :D

    Die Funktion ist auch mit im Einstellungen Bereich, wenn schon. ;)
    Keine Ahnung ob das immer klappt, aber so muss der User gar nicht mehr nach unten.

    Die Bezeichnungen sind klar differenziert, damit man auch weiss was wo benutzt wird, und den Code verstehen kann, s. #25.
    Bei so kleinen Codes nur verwirrend, bei längeren ist zB 20x button für komplett verschiedene Anwendungen ein Graus.

    Id ohne Bindestriche, weil JS; bei style.MozContextProperties = 'fill,..., falls das tatsächlich irgendwo gebraucht wird, nehmen wir stroke-opacity gleich noch mit dazu.

    Ein kleiner Bug besteht weiter, die Rechtsklickfunktion auf dem Button wird manchmal erst nach 2mal Verschieben, Neustart etc. aktiv, aber das ist kein Beinbruch.

    #1, wie deiner bzw. aus #10:

    #2, benutzt Codeteile von BrokenHeart:

    Icon: flower-satt32.png.zip