FF131: Schon wieder funktionieren 2 js-Scripte nicht mehr

  • Firefox-Version
    131
    Betriebssystem
    Windows 11

    Hallo Profis,

    die Abstände, in denen Teile der Anpassungen nicht mehr funktionieren werden gefühlt drastisch kürzer - Stichwort: "Früher war alles besser" ;)

    Seit FF131 (ggf. auch schon mit 130) funktionieren folgende Scripte nicht mehr:

    Neustart:

    BackToTheFavIcon

    Ihr wisst sicher woran's liegt?

    • Hilfreichste Antwort

    Neustart:

    Teste bitte:

    BackToTheFavIcon

  • 2002Andreas Das Neustart-Skript vom TE ist für das Hauptmenü, nicht für die Schaltfläche in der Symbolleiste. Mein Skript ist folgendes:

    Ü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

    Einmal editiert, zuletzt von milupo (2. Oktober 2024 um 15:28) aus folgendem Grund: Auweia, falsches Skript erwischt: Neustart in Datei statt Neustart in Hamburger. Ausgetauscht.

  • Ach so, meine Version funktioniert bei mir, sogar im Nightly. Möglicherweise liegt es an der ID in Zeile 6.

    Ü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

  • genetic 1. Oktober 2024 um 19:59

    Hat einen Beitrag als hilfreichste Antwort ausgewählt.
  • Ich habe hier 5 Varianten von Neustart-Skripts: Das für die Symbolleiste, das für das Hauptmenü (Hamburger), das für das Firefox-Appmenü, das für das Menü Datei und auch noch in der vertikalen Symbolleiste. Lediglich das im Menü Datei funktioniert nicht mehr. Möglicherweise liegt es dort am Eventhandler onclick: Diese Art Eventhandler soll es in Zukunft nicht mehr geben.

    Ü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

  • Ich hoffe, ich habe nicht wieder ein Dejavu-Erlebnis gehabt, aber irgendwann hat Sören das schon mal hier im Forum erwähnt. Ansonsten habe ich nur das hier:

    Removing inline event handlers from the browser UI

    Wie dort zu entnehmen ist, betrifft das wohl nicht nur onclick, sondern alle Inline-Eventhandler dieses Typs, also z. B. auch oncommand. Aber genau weiß ich das nicht.

    Ü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

  • Lediglich das im Menü Datei funktioniert nicht mehr. Möglicherweise liegt es dort am Eventhandler onclick:

    Wenn, dann nur indirekt. Es gibt noch keine Content Security Policy (CSP), welche Inline-Handler verbietet. Indirekt kann es natürlich sein, dass Mozilla aus dieser Motivation heraus Anpassungen vorgenommen hat, ein Detail jetzt etwas anders funktioniert und das betroffene Script daran angepasst werden muss.

    Ehrlich gesagt weiß ich gar nicht, ob eine CSP das auch blockieren würde, wenn das on*-Attribut überhaupt erst via Script gesetzt wird. Was Mozilla macht, ist, die entsprechenden Attribute aus dem HTML zu entfernen. Falls das so nicht mehr funktioniert, wäre der Umbau aber auch nicht schwer (falls es sonst kein weiteres Problem gibt). Man setzt dann eben nicht mehr das onclick-Attribut und dann den Code als String, sondern verwendet die addEventListener-Methode und schreibt den Code direkt, also nicht als String, was ohne die nervigen „\“ nach jeder Zeile auch angenehmer anzupassen ist und darüber hinaus hier im Forum auch noch den Vorteil hat, dass man für diesen Teil dann auch Syntax-Highlighting bekommt, wenn man den Code teilt. So sieht beispielsweise das erste Script aus Beitrag #2 umgebaut aus:

    Der Code in Beitrag #9 ist an mehreren Stellen fehlerhaft, der dürfte so nicht funktionieren: Am Ende von Zeile 10 steht ein Komma statt einer schließenden Klammer und auch in der letzten Zeile wird nicht korrekt geschlossen, was in der ersten Zeile begonnen wurde.