Forum Programmation.web Réaliser un test sur une partie d'url en javascript

Posté par  .
Étiquettes : aucune
0
17
sept.
2008
Bonjour,

Je souhaite réaliser en JavaScript un test sur l'URL de ma page et effectuer diverses actions en fonction de celle-ci.

Prenons un exemple pour préciser un peu:
Si mon url de base est http://127.0.0.1/, je souhaite pour différentes pages située dans l'arborescence de ce serveur, vérifier si je suis dans:
Cela semble assez simple jusque là, mais la difficulté qui me bloque arrive. Il faut aussi prendre en compte les chemins inférieurs...

En gros si j'ai:
http://127.0.0.1/blog/post/blablabla/... j'aimerais savoir que je suis dans "/blog/" (les chemins inférieurs ne m'intéressant pas)

Ce qui reviendrait à faire une sorte de:
if (document.location == BaseUrl+"/blog/"+.*) {
alert("dans le blog")
}

Des idées? (je suis nul en RegExp...)
Merci d'avance.
  • # Je réponds à moi même

    Posté par  . Évalué à 4.

    Il suffisait juste d'utiliser la variable pathname de document.location et de faire un "split" dessus:

    var path = document.location.pathname
    var area = path.split("/")[1];
    if (area == "blog") {
    alert ("blog");
    } else {
    alert ("pas blog");
    }

    Reste à voir si ça ne souffre d'aucune limitation... mais ça devrait me permettre d'avancer.

    Merci à moi donc ;-) et à ceux qui s'apprêtaient à répondre ou l'auraient fait si ils avaient eu le temps :)
    • [^] # Re: Je réponds à moi même

      Posté par  . Évalué à 1.

      Hum, une expression régulière bien faite, c'est quand même mieux.

      Enfin, ça marche, si tu cherches pas à faire le mieux possible, c'est le principal.

      Envoyé depuis mon lapin.

  • # avec regexp

    Posté par  (site web personnel) . Évalué à 2.

    A mon avis, quelque chose de ce genre devrait t'aider :

    alert(("" + document.location).match(new RegExp( "/([^/]+)", "gi" )));

    Sachant que la fonction te renverra un tableau ou le premier élément est "/adresse_du_serveur_" et le deuxième est ce que tu recherches (par exemple "/blog" ou "/galerie").

    Toutefois, je ne connais pas les tenants et aboutissants d'un tel questionnement mais de manière générale, pour plus de sécurité, c'est au code côté serveur de te donner ce genre d'information (ie dans quelle partie du site je me trouve ?) plutôt qu'au code côté client.

    Voilà !
    • [^] # Re: avec regexp

      Posté par  . Évalué à 2.

      Merci pour ta réponse.

      je vais regarder ce que tu proposes et voir si c'est plus efficace que la solution que je citais plus haut.

      Sinon, pour le contexte, c'est pour une gestion d'onglets... je cherche juste dans qu'elle partie du site je me trouve afin de mettre en surbrillance l'onglet en question. (ce n'est peut être pas là non plus la solution ultime)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.