Ergebnis 1 bis 5 von 5

Thema: Javascript "window.onload" funktioniert beim erstmaligen Laden nicht

  1. #1
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    558

    Standard Javascript "window.onload" funktioniert beim erstmaligen Laden nicht

    Hallo werte Contao-Community,

    ich verwende bei meinem Bundle Imagecrop den Javascript-Event "window.onload".
    Siehe hier.

    In Contao 5.6 feuert dieser Event beim ersten Aufruf der Seite nun nicht mehr.
    D.h. wenn man in der Dateiverwaltung auf das Crop-Icon klickt, lädt zwar die neue Seite (d.h. das Template "be_imagecrop.html5"), aber ohne das Javascript welches unter "window.onload" angeführt ist.
    Lädt man nach dem ersten Aufruf die Seite nochmal (mit einem einfache Browser-Refresh), funktioniert alles wie gehabt.

    Was ich bei der Ursachenforschung rausgefunden habe:
    Wenn ich Turbo im Backend deaktiviere, tritt der Fehler nicht auf.
    D.h. "window.onload" wird dann wie zu erwarten auch beim ersten mal ausgelöst.

    Das Deaktivieren mache ich, in dem ich eine "invalide" turbo-root ins Template "be_main.html5" schreibe:
    HTML-Code:
    <meta name="turbo-root" content="/contao">
    Dieses Deaktivieren kann ich aber natürlich nur bei mir lokal machen – und ist somit auch keine Lösung.
    Könnt ihr mir hier vielleicht einen Tipp geben was man da machen kann?

    Ich hab auch schon versucht das JS-Script über $GLOBALS['TL_JAVASCRIPT'][] einzubinden, anstatt es direkt in's Tempalte reinzuschreiben.
    Das hat jedoch auch nichts bewirkt.

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    38.058
    Partner-ID
    10107

    Standard

    Contao 5.4+ verwendet Turbo im Backend. Das heißt du musst dein JavaScript so gestalten, dass es auch ausgeführt wird, wenn die Elemente dynamisch in den DOM geladen werden.
    » sponsor me via GitHub or Revolut

  3. #3
    Contao-Fan
    Registriert seit
    29.06.2016.
    Beiträge
    558

    Standard

    Ok, danke.
    Leider hab ich (noch) keinen Schimmer wie ich das anstellen soll.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    38.058
    Partner-ID
    10107

    Standard

    Aktuell führst du dein JavaScript nur bei window.onload aus. Brauchst du das denn überhaupt?
    » sponsor me via GitHub or Revolut

  5. #5
    Contao-Urgestein
    Registriert seit
    24.02.2021.
    Beiträge
    1.833
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    Aktuell führst du dein JavaScript nur bei window.onload aus. Brauchst du das denn überhaupt?
    Kurzer Blick und ich denke, dass es ohne window.onload auch funktionieren "könnte".

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •