11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

J'utilise une fonction Javascript qui permet de colorer les mots cherchés (lorsque l'on se trouve sur la page de recherche).

J'utilise la fonction javascript window.document.body.createTextRange() qui permet d'isoler chaque mot de la page pour pouvoir les traiter un à un ensuite. Le problème est que ce n'est y pas reconnu par firefox, seulement par internet explorer Smiley decu !!!
Connaissez-vous la fonction que je peux utiliser pour que mon script marche sous firefox ??


Autre problème. La coloration s'effectue partout sur la page (dans le body en fait). Or je voudrais pouvoir définir une zone de coloration. Comment faire ?
Pour le moment l'appel de ma fonction est dans le body :<body onload="onLoad(document.getElementById('crit'))">


Voici ma fonction si ca peut aider :
//colore le ou les mots cherchés dans la zone de recherche 
function onload(chaine) 
{ 
var mot=chaine.split(" ");//on coupe les mots si la recherche comprend plusieurs mots 

var i=0; 
while (typeof(mot[i]) != "undefined" )//pour chacun des mots recherchés 
{ 

var motrecherche = window.document.body.createTextRange();//chaque mot est "mis" dans une cellule pour pouvoir travailler dessus ensuite 

while(motrecherche.findText(mot[i])!=false) //tant qu'il y a des occurences du mot cherché 
{ 
//alert ("mot : " + motrecherche.findText(chaine)); 
motrecherche.findText(mot[i]);//on se place a la premiere ou a la prochaine occurence 
motrecherche.moveStart("character",0);//selection du mot a partir du debut... 
motrecherche.findText(mot[i]);//...jusqu'à la fin 
motrecherche.pasteHTML("<span class=\"couleur_rech\">"+mot[i]+"</span>");//...on colore le mot en rouge 
} 
i++; 
}	
} 



En faisant une recherche sur ce forum, j'ai vu que le webmaster a utilisé la coloration du mot cherché... c'est exactement ce qu'il me faut !!! Smiley biggrin


Merci d'avance à tous ceux qui pourront m'aider .[/i][/i][/i][/i][/i]
Modifié par rom117 (14 Jul 2009 - 20:08)
Oups! il y a un petit souci à la fin de mon message précédent avec les balises italiques i et /i . Elles se mettent automatiquement je ne peux pas les enlever !! C'est dû à mon code javascript je crois...
Modifié par rom117 (14 Jul 2009 - 20:11)