Con respecto a la carga dinámica de páginas, uno debe darse cuenta de que detrás de todo "JQuery AJAX Cloud!" magia, solo están sucediendo dos cosas posibles:
- El código de un elemento se inyecta en un div (incorrecto) o
- El contenido se está cargando en un iframe (mejor, pero no es lo mismo ...)
En cuanto a la pregunta original, solamente puedo crear contenido HTML a través de Javascript cuando estoy creando una aplicación web de algún tipo que lee XML o JSON datos almacenados en el servidor, y se pone cambiado mucho.
No tendría mucho sentido para cargar el contenido estático en una página con Javascript, ya que siempre existe la posibilidad de que no se carga bien, o el cliente tendrá que desactivado ( "Take That anuncios molestos!"). Además, hace que sea muy difícil de cambiar el contenido HTML cuando se smushed dentro de un feo document.write()o una cadena de document.createElement()'s.
Por lo tanto, usted tiene razón; o bien escribir el HTML puro, o si el contenido dinámico-ish es necesario, utilice un script del servidor del lado de salida a lo que sea necesario. Uso Javascript para inyectar HTML sólo si el sitio está destinado a trabajar sin una conexión a Internet, o un caso similar.
Una última nota, si desea implementar xmlhttprequests, er, AJAX, en un sitio web, probablemente la mejor / más segura forma de hacerlo es almacenar los datos en un formato de datos (como XML), cargarlos y enviarlos en consecuencia en el cliente document.writey element.innerHTMLrealmente no es la mejor manera de manipular el contenido, y seguramente causará posibles dolores de cabeza en el futuro (¿por qué no se ejecuta este script? ¡Mi <i>etiqueta rota está en cursiva todo! etc.).