Bevor du fragst, habe ich schon viel in Stack Overflow gesucht und google es tausendmal. Jeder andere Fall, den ich je gesehen habe, hat mir geholfen.
Gehen wir zu meinem Problem:
Ich versuche das folgende Skript in meinem Code zu verwenden:
%Vor%Aber ich benutze Blogger und es erkennt meinen Code nicht richtig (beachte das schließende Tag des roten Skripts):
Damit kann ich das Template nicht speichern. Ich versuche also, meinen Code mithilfe dieser Website in HTML-Entitäten umzuwandeln. Wenn ich es kodiere, setze es in meine Vorlage und speichere, bekomme ich:
%Vor%Hier ist die codierte Zeichenfolge, die ich verwenden möchte:
%Vor% Das Problem besteht darin, dass die an document.write
übergebene Zeichenfolge die Zeichen </script>
enthält, was dazu führt, dass das Skriptelement, von dem document.write
aufgerufen wird, vorzeitig beendet wird.
Die Zeichen </script>
können nirgendwo innerhalb eines Skripts vorkommen, da der HTML-Parser keine Möglichkeit hat, diese von einem tatsächlichen </script>
-Tag zu unterscheiden.
Sie könnten stattdessen Folgendes versuchen:
%Vor%Oder, wie in den Kommentaren erwähnt:
%Vor% Eine weitere Option ist die Verwendung der DOM-API, um ein script
-Element zu erstellen und es in das Dokument einzufügen. Die anderen Antworten hier geben einige Vorschläge dafür, aber es gibt potentielle Probleme mit den Implementierungen (zum Beispiel wirft document.body.appendChild
einen TypeError, wenn Sie versuchen, ihn innerhalb von head
aufzurufen). So etwas wäre robuster:
Auch type='text/javaScript'
ist falsch; Verwenden Sie text/javascript
oder lassen Sie das type
-Attribut weg.
Besserer Weg zum Laden von js asynch ist wie folgt
%Vor%oder wenn Sie keine Funktion möchten, können Sie direkten Aufruf
verwenden %Vor%Wie von Google vorgeschlagen, Ссылка
Wenn Sie auf Django, und irgendwo ein ähnliches Problem haben: versuchen Sie dies:
%Vor%Tags und Links javascript html-entities html-escape-characters