Bonjour.
J'ai un petit soucis sous IE... ca étonne personne hein...
Bon je m'explique.
J'ai développé un système de recherche dans la page. Ce que je fais est simple:
je prend le terme cherché, je crée une regexp. Je remplace tout les mots par "<a name="found"></a><span style="color: red" >LE MOT</span>"
Après remplacement en masse, je fais:
Ca fonctionne. J'ai bien des balises numérotées... founded_1 founded_2...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var founded = document.getElementsByName('found'); occurence = founded.length //j'en ai besoin en global pour revenir au début for(i=0;i<occurence;i++){ founded[i].name='founded_'+i; }
Des 'alert' me prouve qu'il arrive à parser les balises avec attribut 'name="found"' etc...
Ensuite je veux naviguer dans la page à chaque nouveau clique sur "chercher"...
L'astuce est simple, je prend l'url, je vire "#.*" et j'ajoute en fin d'url "#fouded_<numero>".
Donc quand le mec clique une fois on tombe sur founded_1 puis il reclique on va sur founded_2... du moins ca fonctionne sur Firefox !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 var h = document.location.href.replace(/#.*/,""); //on enlève la dernière ancre document.location.href=h+"#"+"founded_"+sindex; //sindex est global et remis à 0 si il est > à occurence
Pas sous IE... pire encore j'ai pas un seul message d'erreur...
On dirait que le fait de changer les noms dynamiquement sous IE ne fonctionne pas...
Je précise que occurence contient bien le nombre d'occurence trouvé sous IE, que founded est bien remplis avec les elements HTML et que je n'ai aucune erreur ni warning.
Si vous avez une solution... merci de me le dire ca devient aggaçant de bosser sous IE...
Précision: C'est une application assez importante, le texte affiché est relativement gros.
Partager