Supprimer les balises <FONT>

Marco a écrit le Lundi 15 Juillet 2002 à 15:28:06

Repris sur NotesTips et completé :

Lorsque l'on développe un masque pour une utilisation web on se pose souvent la question de savoir s'il est préferable de mettre un champ texte riche ou un champ texte.

En effet, le champ texte riche permettent une mise en page recherché de la part de l'utilisateur, en particulier lorsque le contenu est saisi en Notes on peut mixer textes et images et laisser aux utilisateurs le soin de la mise en page.

Mais l'inconvénient de cette méthode est de se retrouver avec des pages web ne s'intégrant pas du tout avec la charte graphique générale.

On est alors tenté de mettre un champ text classique.

Il existe une solution intermédiaire qui permet de laisser le texte riche tout en ayant un contrôle sur la taile, la police et pourquoi pas la couleur.

L'idéal serait de pouvoir supprimer les balises à l'origine des problèmes (et DEPRECATED par le W3C) et d'appliquer un style pour le paragraphe correspondant au contenu du texte riche.

Cela est possible sous IE seulement, en rajoutant une balise

autour du champ texte riche (en définissant un style pour la balise

) et en supprimant les balise à l'aide de la fonction suivante placée dans le onLoad du document :
while(document.getElementsByTagName("font").length > 0) {
fonttags = document.getElementsByTagName("font")
fonttags[0].removeNode(false)
}


Cette méthode est très pratique mais ne répond pas à la définition DOM (document object modèle) du W3C, c'est une extension MS. Il exiqte une autre solution compatible avec d'autres navigateurs, répondant aux normes du W3C et beaucoup plus fine :
for (i=0; i fonttags = document.getElementsByTagName("font");
fonttags[i].removeAttribute('size');
}


Cette méthode permet de ne changer que les attributs qui nous intéressent, par exemple la taille (exemple ci dessus), la couleur ou/et la police. Le second intérêt est que cette méthode est supportée par les navigateurs récents comme IE>5 (soux Win ou Mac), Mozilla (et Netscape >6), Konqueror. Il ne faut pas oublier de mettre la balise

autours du champ texte riche et de lui appliquer le styla par défaut.

A noter que la disposition n'est pas modifiée avec ces méthodes (pour les images en particulier), le gras et l'italique sont conservés avec les deux méthodes. De plus pour les navigateurs ne supportant pas ces méthodes, le paragraphe sera quand même lisible avec le style défini par l'utilisateur au moment de la saisie.

Pour ceux qui sont intéressé par la representation DOM des document HTML, voici un site qui recense toutes les méthodes et leurs supports pour les différents navigateurs (à noter que Mozilla a beaucoup évolué depuis la version testée) :
http://www.xs4all.nl/~ppk/js/version5.html

Commentaire(s)

Aucuns commentaires

Ajouter un commentaire





Se souvenir de mes informations?



Les balises HTML ne sont pas permises dans les commentaires. Pour faire un lien, il suffit de donner l'URL, préfixée par http://.