JS-Code ausführen nach Laden der Seite (inkl. AJAX)

Hallo, ich möchte JavaScript-Code zu meinem Theme hinzufügen und habe das entsprechend des Theme Startup Guides gemacht: /\*\* @var array Defines the files which should be compiled by the javascript compressor \*/ protected $javascript = array( 'src/js/myplugin.js' ); In der Datei myplugin.js findet eine Initialisierung statt, die mit $(document).ready(function(){...});getriggert wird. Problem ist nun, dass dieser Code innerhalb des Shopware-AJAX Fragments liegt und schon getriggert wird, bevor die Hauptseite komplett geladen ist. Ich habe testweise statt des document.ready mal einen 5 Sekunden timeout eingebaut - dann funktioniert alles :slight_smile: Fällt jemandem eine bessere Möglichkeit ein, Code auszuführen, nachdem die komplette Seite geladen und alle AJAX-Calls ausgeführt wurden? Gruß, Alex

schau mal in die header.tpl im Template, da kannst du auch JS Files einbinden.

Das klappt nicht, da die Ajax-Requests ja noch nicht abgeschlossen sind. Gleiches gilt den den Footer. Habe das Problem jetzt mit folgendem Code gelöst: $(document).ajaxStop(function () { //... }); Works like a charm VG, Alex

1 Like