493 Stimmen

Erläuterung von <script type = "text/template"> ... </script>

Ich bin gerade über etwas gestolpert, das ich noch nie gesehen habe. Im Quelltext der TODO-Beispielanwendung von Backbone.js ( Backbone TODO Beispiel ) hatten sie ihre Vorlagen innerhalb einer <script type = "text/template"></script> der Code enthält, der wie ein PHP-Code aussieht, aber JavaScript-Tags enthält.

Kann mir das jemand erklären? Ist das legal?

0 Stimmen

Gute Frage und Antwort. Ich bin gerade auf diesen Trick im neuen YUI App Framework Code gestoßen: new.yuilibrary.com/yui/docs/app/app-todo.html

4 Stimmen

Was ist mit type="text/tcl" die ich sah in dem W3C-Dokument ? Wie kann man es verwenden? (Soll ich eine andere Frage stellen?)

3 Stimmen

@L01man ja, Sie sollten eine andere Frage stellen.

13voto

Kernel James Punkte 3156

Es ist eine Möglichkeit, Text in HTML einzufügen, ohne dass er gerendert oder normalisiert wird.

Es ist nicht anders, als wenn man es so hinzufügt:

 <textarea style="display:none"><span>{{name}}</span></textarea>

34 Stimmen

Es ist anders, eine Textarea wird immer noch diese Elemente in den DOM einfügen und alle angeforderten externen Assets (wie Bilder) abrufen. Ein Skript-Tag tut dies nicht.

13 Stimmen

@LocalPCGuy das ist nicht wahr, einschließlich <img src="image.jpg"> innerhalb eines Textfeldes führt nicht dazu, dass der Browser die image.jpg weiß der Browser, dass der Inhalt einer Textarea nicht gerendert werden soll.

5 Stimmen

@vikki woops, Sie sind richtig, textarea kann eines der wenigen Elemente, die ein brauchbarer Ersatz für Skript-Tag-Vorlage sein würde sein.

4voto

Niels Heidenreich Punkte 1227

JQuery Templates ist ein Beispiel dafür, dass diese Methode verwendet wird, um HTML, das nicht direkt gerendert wird (darum geht es), in anderem HTML zu speichern: http://api.jquery.com/jQuery.template/

3 Stimmen

JQuery.template wird aufgegeben, und es folgt die jsviews.com/#jsrender

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X