Javascript : recuperer un bout d'url

Fermé
rekam - 8 déc. 2002 à 19:57
Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 - 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 ;) !!
A voir également:

2 réponses

Bobinours Messages postés 2898 Date d'inscription jeudi 26 avril 2001 Statut Membre Dernière intervention 21 mars 2013 504
9 déc. 2002 à 01:33
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 =-
4
Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006 208
8 déc. 2002 à 20:47
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("/")".
0