Em relação ao carregamento dinâmico de páginas, deve-se perceber que, por trás de todo o "JQuery AJAX Cloud!" mágica, apenas duas coisas possíveis estão acontecendo:
- O código de um elemento está sendo injetado em uma div (ruim) ou
- O conteúdo está sendo carregado em um iframe (melhor, mas não é o mesmo ...)
Em relação à pergunta original, só crio conteúdo HTML via Javascript quando estou criando um aplicativo da Web de algum tipo que lê dados XML ou JSON armazenados no servidor e isso é alterado muito.
Não faria muito sentido carregar conteúdo estático em uma página com Javascript, pois sempre há a possibilidade de que ele não seja carregado corretamente ou o cliente o desativará ("pegue esses anúncios irritantes!"). Além disso, torna muito difícil alterar o conteúdo HTML quando ele é esmagado em um feio document.write()
ou em uma cadeia de caracteres document.createElement()
.
Então, você está certo; digite o HTML bruto ou, se for necessário conteúdo dinâmico, use um script do lado do servidor para gerar o que é necessário. Use Javascript para injetar HTML somente se o site tiver a intenção de funcionar sem uma conexão com a Internet ou um caso semelhante.
Uma última observação: se você deseja implementar xmlhttprequests, er, AJAX, em um site, provavelmente a melhor / mais segura maneira de fazer isso é armazenar os dados em um formato de dados (como XML), carregá-los e enviá-los de acordo. no cliente. document.write
e element.innerHTML
realmente não é a melhor maneira de manipular o conteúdo e provavelmente causará dores de cabeça em potencial no futuro (por que esse script não está sendo executado? Minha <i>
tag quebrada está em itálico tudo! etc.).