In Bezug auf das dynamische Laden von Seiten sollte man wissen, dass hinter all den "JQuery AJAX Cloud!" Magie, nur zwei mögliche Dinge passieren:
- Der Code eines Elements wird in ein div (bad) oder eingefügt
- Inhalt wird in einen Iframe geladen (besser, aber es ist einfach nicht dasselbe ...)
In Bezug auf die ursprüngliche Frage erstelle ich HTML-Inhalte über Javascript, wenn ich eine Web-App erstelle, die XML- oder JSON-Daten liest, die auf dem Server gespeichert sind, und sie werden stark verändert.
Es wäre nicht sinnvoll, statischen Inhalt mit Javascript auf eine Seite zu laden, da es immer die Möglichkeit gibt, dass er nicht richtig geladen wird oder der Client ihn deaktiviert hat ("take that pesky ads!"). Darüber hinaus ist es sehr schwierig, HTML-Inhalte zu ändern, wenn sie in einer hässlichen document.write()
oder einer Kette von Elementen verschmiert sind document.createElement()
.
Also hast du recht; Geben Sie entweder den rohen HTML-Code ein oder verwenden Sie ein serverseitiges Skript, um die erforderlichen Informationen auszugeben, wenn dynamischer Inhalt erforderlich ist. Verwenden Sie Javascript, um HTML nur dann einzufügen, wenn die Site ohne Internetverbindung oder in einem ähnlichen Fall funktionieren soll.
Eine letzte Anmerkung: Wenn Sie xmlhttprequests, ähm, AJAX, in eine Website implementieren möchten, ist es wahrscheinlich die beste / sicherste Methode, die Daten in einem Datenformat (wie XML) zu speichern, zu laden und entsprechend auszugeben auf dem Client. document.write
und ist element.innerHTML
wirklich nicht der beste Weg, um Inhalte zu manipulieren, und wird in Zukunft möglicherweise Kopfschmerzen verursachen (warum wird dieses Skript nicht ausgeführt? Mein kaputtes <i>
Tag kursiv formatiert alles! usw.).