Seite 1 von 1

domUpdate entfernt Scripttags

Verfasst: 10. Apr 2019, 11:23
von Kennenbär
Hallo,
ich habe im template_cart--big_include_cart für jedes Product ein Modul (welches ein JavaScript enthält) eingefügt.
Wenn ich 2 Produkte im Warenkorb habe und eines lösche, wird nach dem Ajax domUpdate der Scripttag vom übrig gebliebenen Produkt komplett entfernt. Das führt dazu, dass das Javascript als html text auf der Seite steht.
Neuladen der Seite behebt das Problem, aber mich würde interessieren, wie es dazu kommt.

Danke und Grüße

Re: domUpdate entfernt Scripttags

Verfasst: 10. Apr 2019, 23:20
von supportteam2
Hallo,

vereinfacht erklärt: Bei einer Aktualisierung über Ajax wird der HTML-Code der Anzeige nachgeladen. Dieses Nachladen unterstützt aber kein im HTML-Code eingebetetes JavaScript.

Wenn Sie eine spezielle JavaScript-Funktionalität benötigen, programmieren Sie diese bitte in der Datei "files/merconisfiles/themes/theme8/lsjs/app/app.js". In dieser Datei gibt es die folgende Funktion, die beim erstmaligen Laden der Seite und bei einem späteren domUpdate ausgeführt wird:

Code: Alles auswählen

	window.addEvent('cajax_domUpdate', function(el_domReference) {
                // Hier können Sie JavaScript-Code einfügen, der bei einem domUpdate erneut ausgeführt wird
	}.bind(this));
Ein wichtiger Hinweis: Die genannte JavaScript-Datei wird in einem speziellen Cache des JS-Frameworks "LSJS" zwischengespeichert, sodass sich Änderungen in der Datei ggf. nicht direkt auswirken. Sie können im Seitenlayout das Caching für LSJS deaktivieren (siehe Screenshot).
lsjs-caching.GIF
lsjs-caching.GIF (41.21 KiB) 7315 mal betrachtet
Das Deaktivieren des Caching löscht einen bereits angelegten Cache nicht. Bitte löschen Sie diesen manuell, indem Sie das folgende Verzeichnis löschen: "assets/lsjs/cache"