Les Allergies
Alimentaires
Posez votre question Signaler

Javascript : recuperer un bout d'url

rekam - Dernière réponse le 9 déc. 2002 à 01:33
Bonjour à tous !

Je suis entrain de faire un script qui, dans un premier temps, va me chercher l'url de la page courante, et qui, dans un deuxième temps, me coupe cette url et me rend juste ce que je veux.

Par exemple, avec document.location, je récupère ceci : http://www.editeurjavascript.com/forums/newtopic.php

ça c bon. Maintenant, je voudrais sortir de là uniquement "newtopic".

g pensé faire comme ça :

var urlCourant = document.location;
alert(urlCourant);
var i;
var pos;
var nomPage;
var positionDepart;
var nbSlashes = 0;
for (i = 0; i <= urlCourant.length; i++) {
pos = urlCourant.charAt(i);
alert(pos);
if (pos == "/") {
nbSlashes++;
}
if (nbSlashes == 4) {
// 4 slashes et on arrive au nom de la page. On sauvegarde cette position
positionDepart = i;
}
if (pos == ".") {
// on enregistre ce bout d'url, sans "/" , sans ".", juste le nom de la page.
nomPage = urlCourant.substring(positionDepart, i-1);
break;
}
}
alert(nomPage);

Théoriquement, l'alert devrait me rendre "newtopic", mais g une erreur javascript.

Si qqun voit où, ben chapeau ;) !!
Lire la suite 

Javascript : recuperer un bout d'url »

2 réponses
Réponse
+1
moins plus
Salut,

Il existe aussi lastIndexOf, nettement plus pratique dans ce cas : http://selfhtml.selfhtml.com.fr/tecl.htm#a16
Ainsi que la variable document.location.pathname qui contient uniquement la partie non DNS (et non paramètre) : /forums/newtopic.php
http://bobin.underlands.org/objets-et-methodes.php?parametres=inutiles&maispour=lexemple

Avec ça, il suffit de faire :

<script type="text/javascript">
var uriCourant = document.location.pathname;
alert(uriCourant);

var indiceDepart = uriCourant.lastIndexOf('/')+1; // Plus 1 car on ne veut pas le '/'.
var indiceArrivee = uriCourant.length-4; // Moins les 4 caractères de l'extension.

var nomPage = uriCourant.substring(indiceDepart, indiceArrivee);
alert(nomPage);
</script>

http://bobin.underlands.org/test/rekam.htm?avecUrl=/des%20params/%20à%20gogo

Si tu ne sais pas la taille de l'extention, tu peux rendre dynamique le site toujours avec lastIndefOf('.');

-= Bobinours =-
Ajouter un commentaire
Réponse
+0
moins plus
Ton analyse s'arrête dans le champ "domaine". Il faudrait ne tester la présence du "." (suivie du "break") qu'après le 4ème "/".
Tu peux aussi utiliser la fonction "indexOf("/")".
Ajouter un commentaire
Ce document intitulé « Javascript : recuperer un bout d'url » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?