Pour les besoins d'une appli, je dois comparer un lien avec l'adresse en cours d'affichage dans le navigateur. Pas de probleme, je récupère tout ce qu'il faut.

En revanche c'est pour la comparaison que çà pose problème :
Si l'adresse est "classique" pas de probleme un comparaison avec match() fonctionne parfaitement

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
pageAffichee = document.location.toString();
lien = "mapage.php";
if(pageAffichee.match(lien))
    alert("ca correspond");

Si l'adresse comporte un ? (comme c'est le cas, si des variables sont présentes pour PHP) ca ne fonctionne plus mais indexOf() fonctionne très bien :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
 pageAffichee = document.location.toString();
 lien = "mapage.php?var1=1";
// ici match ne fonctionne plus mais indexOf fonctionne
 if(pageAffichee.indexOf(lien))
     alert("ca correspond");
si l'adresse comporte un & ni match() ni indexOf ne fonctionnent...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
  pageAffichee = document.location.toString();
  lien = "mapage.php?var1=1&var2=2";
// ici match ne fonctionne plus ainsi que indexOf
  if(pageAffichee.indexOf(lien))
      alert("ca correspond");
Auriez vous une solution ? Dois-je retravailler les chaines ?