dedlfix: ###template marker### der hochkomma enthält in js var einlesen

Beitrag lesen

Hi!

wenn ich nun versucht in meinem Template folgenden einzubauen:
var string = "###PRODUCT_IMAGE###";
funktioniert das nicht da nach der ersetzung ja im prinzip folgendes dasteht:
var string = "<img src="lol.jpg"/>";
so und eigentlich müsste es aber heißen
var string = "<img src="lol.jpg"/>";
dann könnte ich damit weiterarbeiten.

Kontextwechsel beachten. Immer. Das Problem hast du nicht nur bei den Dateinamen sondern auch für andere Dinge. Beispielsweise beendet </ theoretisch einen Script-Bereich. Dass es in einem Javascript-String notiert ist, erkennt der HTML-Parser nicht. Manche Browser sind jedoch fehlertolerant. Wenn du HTML-Code in Javascript-Code in HTML-Code einbettest, musst du die Verschachtlungsregeln berücksichtigen.

Gibt es da irgend ne Lösung dafür wenn der String schon Hochkommas enthält dass die irgendwie mit ner Funtkion oder so automatisch in " umgewandelt werden?

Nein, da du hier nur Teile beachten willst. Ansonsten gibt es in Javascript nur encode() und encodeURIComponent(), was aber für den URL-Kontext gedacht ist.

Lo!