[JS] document.write jamais nécéssaire?[Résolu]

document.write jamais nécéssaire?[Résolu] [JS] - HTML/CSS - Programmation

Marsh Posté le 04-10-2005 à 11:58:39    

Bonjour,
Je me disais que le JS n'est PAS fait pour écrire dans les documents, tache qui doit être laissé en priorité au HTML. Le JS lui ne modifie que les propriétés des éléments.
Alors je me demandais si on pouvait imaginer un cas ou l'utilisation du "document.write" serait indispensable dans une page ou l'on veut un  comportement particulier. Par indispensable j'entends aussi propre.


Message édité par benji_100 le 04-10-2005 à 12:34:04
Reply

Marsh Posté le 04-10-2005 à 11:58:39   

Reply

Marsh Posté le 04-10-2005 à 12:03:49    

Déjà on utilise plus document.write, mais des fonctions DOM...
 
Ensuite, ça sert souvent : quand tu as un objet ou quelque choses, qui nécessite JS pour fonctionner, alors on va le créer en JS. Genre imagine que t'as un bouton, et quand tu cliques sur ce bouton, ça affiche une boîte de dialogue. Bah ce bouton, on va pas le mettre en HTML : les gens qui n'ont pas JS verraient un bouton qui sert à rien. Donc si ça sert à rien, c'est à dégager. On va donc insérer ce bouton dynamiquement en JS, via des méthodes genre createElement et appencChild...
 
Mais plus jamais document.write, bouh !

Reply

Marsh Posté le 04-10-2005 à 12:08:16    

Merci Florent, je suis d'accord aec toi pour les DOM.
C'est dis clairement dans les spéc du W3C que document.write est deprecated?

Reply

Marsh Posté le 04-10-2005 à 12:10:13    

benji_100 a écrit :

C'est dis clairement dans les spéc du W3C que document.write est deprecated?


Non, il a tout inventé. C'est un fumiste, un affabulateur. Il crée ses propres standards. Ne l'écoute pas : ce gars est un nihiliste.
 
   [:pingouino]  


---------------
Now Playing: {SYNTAX ERROR AT LINE 1210}
Reply

Marsh Posté le 04-10-2005 à 12:11:04    

Le JavaScript ne fait partie d'aucune recommandation du W3C... Y'a une version standardisée par l'ecma par contre.
 
Par contre, y'a l'api DOM qui est bien un standard du W3C, et la méthode write de l'objet document n'existe pas. Et c'est normal. Parce que "document.write"... Mais "write" où ça ? Si tu références ton script, et qu'il y a un document.write, où est-ce qu'il faut écrire ? A la fin du doc ? Dans le body ? Aïe aïe aïe... Quand t'as un script par exemple dans le head, qui fait un document.write... C'est pareil, c'est où qu'on écrit ? Dans le head ? Mais si on écrit dans le head, l'élément ne sera pas affiché... ah...

Reply

Marsh Posté le 04-10-2005 à 12:16:47    

Bon ok document.write ca dégage.
J'ai déjà vu un peu partout l'ECMA comme norme JS. (C'est quoi exactement ?)
Et alors que pensez vous de element.innerHTML ?

Reply

Marsh Posté le 04-10-2005 à 12:18:07    

L'ECMA-262, c'est juste la version standardisée.
 
Pour element.innerHTML, c'est un peu mieux que document.write, parce qu'au moins, on spécifie où on veut écrire...

Reply

Marsh Posté le 04-10-2005 à 12:18:47    

Le Javascript a été normalisé sous le nom d'ECMAScript, norme ECMA-262.
 
Le DOM, c'est un ensemble d'interfaces servant à interpréter les documents XML, standardisé par le W3C et disposant d'une interface 'standard' pour l'ECMAScript (et pour le Java), qui existe en 3 versions (DOM level 1, 2 et 3, chaque version ajoutant à la précédente ainsi qu'un DOM0 qui représente un ensemble de fonctions datant d'avant le DOM et n'ayant pas été standardisées (innerHTML, par exemple, fait partie du DOM 0). Les DOMs actuellement supportés sont le DOM 0 (partout), le DOM 1 (à peu près partout depuis la 5e génération de navigateurs) et le DOM2 (quasi aucun support dans MSIE, support moyen chez les autres). L'implémentation du DOM 3 commence tout juste.
 
Pour plus d'informations sur le DOM, aller voir la page dédiée du W3C (ici pour les documents de standardisation), et tu peux également y trouver les bindings définis binding ECMAScript du DOM 1, par exemple)


Message édité par masklinn le 04-10-2005 à 12:24:12

---------------
Stick a parrot in a Call of Duty lobby, and you're gonna get a racist parrot. — Cody
Reply

Marsh Posté le 04-10-2005 à 12:21:39    

Mais a priori on peut dégarer tout les innerHTML par DOM nan?

Reply

Marsh Posté le 04-10-2005 à 12:33:47    

Je penses qu 'on peut.:)
Merci pour le lien vers les binding Mask. Est ce que IE5+ et Netscape5+ supportent entierement le DOM1?
 
je met le topic en Résolu.

Reply

Marsh Posté le 04-10-2005 à 12:33:47   

Reply

Marsh Posté le 04-10-2005 à 12:34:24    

benji_100 a écrit :

Mais a priori on peut dégarer tout les innerHTML par DOM nan?


on peut remplacer innerHTML par des fonctions DOM
mais ca devient vite tès lourd quand tu veux faire un bloc de code HTML. Donc heureusement que innerHTML est là.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed