Salut,
Ca fait un petit moment que mon �il est attir� par des commentaires conseillant � certains de ne pas utiliser document.write() ou innerHTML...
J'ai demand� ce qui motivait ce genre de conseil, mais je n'en sais pas plus pour le moment.
Alors je cherche encore, car pour ce que j'en sais : Cette m�thode et cette propri�t� fonctionnent tr�s bien, et rien ne justifie un tel rejet.
A ce jour, la seule chose qui semble corroborer ce d�sire de ne "plus" les utiliser semble venir d'ici : Avoid document.write() and innerHTML().
O� un mauvais exemple (Si mauvais que �a ne fonctionnera pas) est donn�, avec paragraphe et liste invalides :
Puis il est sugg�r� d'utiliser le code ci-dessous pour produire (?!?) le m�me r�sultat, tout en �tant valide
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5 function fillContent() { document.write("<h1>Welcome to my site</h1>"); document.write("<p>Lorem ipsum dolor sit amet"); document.menu.innerHTML = "<ul><li><a href="foo.html">foo</a>"; }
Bref ! Soyons clair dans ce genre de recommandations :
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 function fillContent() { // parentelem is a specified element in the DOM var header = document.createElement("h1"); header.insertText("Welcome to my site"); var para = document.createElement("p"); para.insertText("Lorem ipsum dolor sit amet"); var list = document.createElement("ul"); itemone = document.createElement("li"); itemonelink = document.createElement("a"); itemonelink.setAttribute("href","foo.html"); itemonelink.insertText("foo"); list.appendChild(itemone); parentelem.appendChild(header); parentelem.appendChild(para); parentelem.appendChild(list); }
l'utilisation de document.write() et innerHTML doit �tre soumis � la condition de bien former son document.
C'est � dire qu'il soit valid� par DOM.
N.B. : Si vous �tes convaincu que la pr�conisation donn�e fait exactement la m�me chose que le mauvais exemple donn� par le W3C, je pense que m�me l'utilisation de DOM ne viendra pas � votre secours
Alors, est-ce la seule motivation pour inciter � ne pas utiliser document.write() et innerHTML ?
Si c'est la seule, il n'y a vraiment pas de quoi torpiller cette m�thode et cette propri�t�. Sinon, autant ne pas conseiller d'�crire de page HTML et de tout faire par DOM.
Partager