bonsoir,
J'ai un souci que je n'arrive pas à résoudre, ma boucle commence bien puisque la première lettre est bien détectée la 2 ème et la 3 ème aussi mais pour les 2 dernières elles ne sont pas travaillée par le backcolor ???
si quelqu'un pouvait m'aider se serait sympa , merci par avance
le fichier acces.html :
<html>
<head>
<script type="text/javascript" language="JavaScript">
var IE = (document.all); // Détection du navigateur
var n =0;
var a_n = 0;
function TrouveDansPage(chaine) {
var doc, a_i, a_trouve;
var mo = document.getElementById('eclate').value;
var reg=new RegExp("[ ,;]+", "g");
var chaine=mo.split(reg);
for (var a=0; a<chaine.length; a++) {
alert(chaine[a]);
if (chaine[a] == ""){
return false;
}
while(chaine[a]!='' && n<50)// n pour éviter la boucle infinie
{doc = a_win.document.body.createTextRange();
// Trouver la a_nieme réponse à partir du début de la page.
for (a_i = 0; a_i <= a_n && (a_trouve = doc.findText(chaine[a])) != false; a_i++)
{doc.moveStart("character", 1);n++;}
if (a_trouve) {
doc.moveStart("character", -1);
doc.findText(chaine[a]);
doc.execCommand('backcolor','false','orange');a_n++;
}
else { // Sinon, recommencer en haut de page et trouver la 1ere occurrence.
if (a_n > 0) {
a_n = 0;}
else { // introuvable prévenir l'utilisateur.
alert("\""+chaine[a]+"\" est introuvable dans cette page.");}
}}}}
</script>
</head>
<body onload="a_win = window.frames['maFrame'];">
<form name="chainecherchee">
<b>Chercher dans l'iframe</b><textarea id=eclate>d e po</textarea>
<input type="BUTTON" value="Ok" onclick="TrouveDansPage()"><br>
<iframe name="maFrame" src="caf.html" width=500px height=100px></iframe>
</form>
</body>
l'iframe caf.html :
<HTML><HEAD><TITLE>Test</TITLE>
</HEAD>
<BODY bgcolor="#ffffcc">
-Je teste des mots à chercher en une seule fois dans toute la page pour les mettre en évidence par une couleur de fond
</BODY></HTML>
[:D][:)]