Bonjour,
J'ai mis sur mon site ( http://www.maboite.qc.ca) une fenêtre de recherche («rechercher dans la page», accessible en haut du menu de gauche) qui fonctionne bien sous IE et Netscape, mais pas sous Firefox.
En fait, la recherche fonctionne à condition de cliquer dans la page après avoir tapé le mot à rechercher dans la fenêtre de recherche et avant de faire «suivant».
Quelqu'un a-t-il une idée sur l'origine du problème et sa résolution?
Voici le script :
J'ai mis sur mon site ( http://www.maboite.qc.ca) une fenêtre de recherche («rechercher dans la page», accessible en haut du menu de gauche) qui fonctionne bien sous IE et Netscape, mais pas sous Firefox.
En fait, la recherche fonctionne à condition de cliquer dans la page après avoir tapé le mot à rechercher dans la fenêtre de recherche et avant de faire «suivant».
Quelqu'un a-t-il une idée sur l'origine du problème et sa résolution?
Voici le script :
var nbSearch=0;
function findInPage(str) {
var txt, i, found;
if (str=="") return false;
if ((document.layers)||(window.sidebar)) {
if (!window.find(str)) {
alert("Fin de page atteinte.\n"+'"'+str+'" trouvé '+nbSearch+" fois.");
while(window.find(str, false, true)) {nbSearch++;}
}
else
nbSearch++;
if (nbSearch == 0)
alert('"'+str+'" est introuvable');
}
if (document.all) {
txt = window.document.body.createTextRange();
for (i = 0; i <= nbSearch && (found = txt.findText(str)) != false; i++) {
txt.moveStart("character", 1);
txt.moveEnd("textedit");
}
if (found) {
txt.moveStart("character", -1);
txt.findText(str);
txt.select();
txt.scrollIntoView();
nbSearch++;
} else {
if (nbSearch > 0) {
alert("Fin de page atteinte.\n"+'"'+str+'" trouvé '+nbSearch+" fois.\nRetour au début de la page.");
nbSearch = 0;
findInPage(str);
} else {
alert('"'+str+'" est introuvable');
}
}
}
return false;
}