Rechercher : dans
Par :

[HTML] Récupérer url courante

Dernière réponse le 26 jan 2009 à 12:11:34 karta24, le 14 jan 2009 à 21:41:48 
 Signaler ce message aux modérateurs

Bonjour,

Dans une page web, j'aimerais écrire un lien dont l'url contient l'url courante, comment puis-je faire?

Exemple:
L'url courante est "page01.html".
J'aimerais pouvoir écrire un lien qui pointe vers "sortie.php?u=page01.html"

N'hésitez pas à poser des questions si je ne suis pas clair...

Merci d'avance :)

Configuration: Windows Vista
Firefox 3.0.1

Meilleures réponses pour « [HTML] Récupérer url courante » dans :
[Aspirateur de pages HTML] Comment aspirer un site Web ? VoirHTTrack est un excellent aspirateur, gratuit en licence GNU GPL (libre). HTTrack permet de télécharger un site web d'Internet vers votre disque dur, en construisant récursivement tous les répertoires, récupérant html, images et fichiers du serveur...
Favicon - L'icône de votre site dans la barre d'adresse VoirVous avez sûrement remarqué la présence d'une icône à gauche de l'URL dans la barre d'adresse de votre navigateur sur certains sites web ? Pour mettre en place ce type d'icône sur votre propre site web il n'y a rien de plus simple. Créer la...
Il est possible de récupérer le code source PHP d'un site VoirMythe Un utilisateur peut récupérer le code source PHP d'un site web comme il peut récupérer le code HTML. Réalité FAUX Explications Les fichiers PHP (ASP, JSP, etc.) sont des fichiers interprétés côté serveur, ce qui signifie que le serveur web...
Introduction au HTML VoirPrésentation du HTML Le HTML (« HyperText Mark-Up Language ») est un langage dit de « marquage » (de « structuration » ou de « balisage ») dont le rôle est de formaliser l'écriture d'un document avec des balises de formatage. Les balises permettent...
ASP - L'objet Request VoirPrésentation de l'objet Request Le rôle de l'objet Request est de permettre de récupérer la requête HTTP envoyée par le client au serveur, c'est-à-dire qu'il permet en réalité de manipuler l'ensemble des informations envoyées par le navigateur du...
Les liens hypertextes VoirPrésentation des ancrages Les liens hypertextes (ancrages) sont des éléments d'une page HTML (soulignés lorsqu'il s'agit de texte) permettant aux internautes de naviguer vers une nouvelle adresse lorsque l'on clique dessus. Ce sont les liens...

1

Dalida, le 14 jan 2009 à 21:49:30

Salut,

en PHP :

$_SERVER['REQUEST_URI']

mais regarde le manuel pour savoir exactement quoi prendre.
[ Mathieu ]
Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

2

karta24, le 14 jan 2009 à 21:50:52

Merci pour la variable, mais comment insérer du php dans un lien écrit dans une balise html?

Répondre à karta24

3

Dalida, le 14 jan 2009 à 21:54:28

Comme tu parles de "sortie.php" je pensais que tu codais en PHP.

le plus simple est de renommer ton fichier en ".php" (si ton serveur l'interprète) et ensuite de simplement glisser le code PHP dans le code HTML.

par exemple dans un lien :

<a href="<?php echo $_SERVER['REQUEST_URI']; ?>">Sortie</a>
[ Mathieu ]
Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

4

karta24, le 14 jan 2009 à 21:58:36

Impossible, je ne peux pas modifier le codage de la page... (Modèle de blog)

Répondre à karta24

5

Dalida, le 14 jan 2009 à 22:03:15

Donc ce sera du Javascript et le DOM, il faut regarder du côté de window.location.

mais il va falloir déduire le nom de la page du reste de l'URL puis l'ajouter au lien.
[ Mathieu ]

Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

6

ThEBiShOp, le 14 jan 2009 à 22:18:02

Peux-tu mettre du javascript dans tes pages déjà ?

Répondre à ThEBiShOp

8

karta24, le 15 jan 2009 à 17:07:34

Oui je peux mettre du javascript dans la page, par contre je n'ai pas la moindre notion dans ce langage, est-ce que vous pourriez m'expliquer comment je dois faire...? Merci :$

Répondre à karta24

9

Dalida, le 15 jan 2009 à 19:29:53

Salut,

c'est ce que Thebishop (désolé pour les majuscules mais c'est trop long…) allait faire (merci à lui d'avoir pris la suite !) mais il préférait à raison vérifier avant !

je relis la discussion et j'essaie de te bricoler quelque chose.
[ Mathieu ]

Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

10

Dalida, le 15 jan 2009 à 19:53:16

Et hop, un exemple !

<script type="text/javascript">
function printFileName()
{
	var lmt = document.getElementById("fichier");
	var href = window.location.href;
	var tmpArray = href.split('/');
	var fichier = tmpArray[tmpArray.length - 1];

	lmt.innerHTML = 'Ce fichier est nomm&eacute; <strong>'+fichier+'</strong>.';
}

if (document.getElementById && document.createTextNode) {
	if(window.addEventListener)
	{
		window.addEventListener('load', printFileName, false);
	}
	else if(window.attachEvent)
	{
		window.attachEvent('onload', printFileName);
	}
}
</script>

le code est à placer dans le HTML, de préférence dans le <head> sinon dans le <body>, ça doit marcher !
[ Mathieu ]
Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

11

karta24, le 20 jan 2009 à 22:19:46

Merci pour ton aide, mais lorsque j'insère le script dans le body, rien ne s'affiche... :(

Répondre à karta24

12

Dalida, le 20 jan 2009 à 22:26:11

As-tu essayé dans le <head> ?
[ Mathieu ]

Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

13

karta24, le 20 jan 2009 à 22:36:18

Oui voilà, je viens d'essayer, mais le serveur me renvoie un message d'erreur:

Votre modèle ne peut pas être analysé, car sa structure n'est pas conforme. Vérifiez que tous les éléments XML sont bien fermés.
Message d'erreur XML : The entity name must immediately follow the '&' in the entity reference.

(il s'agit d'un blog, je n'ai pas accès à la totalité du code source)

Je suppose qu'il s'agit de cette ligne:

if (document.getElementById && document.createTextNode) {

et des "&" qui s'y trouvent...?

Répondre à karta24

14

lewis34, le 20 jan 2009 à 22:38:32

Bonsoir peut etre encore plus simple...
dans le head

<script language=javascript>
var url= document.URL;
</script>

et dans le body

<script language=javascript>
alert('la page en cours est celle ci '+ url);
</script>

Répondre à lewis34

15

karta24, le 20 jan 2009 à 22:45:04

Désolé, mais ça ne marche pas non plus... :S

Répondre à karta24

16

Dalida, le 20 jan 2009 à 22:50:35

Ton serveur analyse le code ?
c'est génial !
-:o)

en tout cas c'est normal, JS n'est pas conforme à XML, il faudrait remplacer les & par &amp; mais le JS ne fonctionnerait plus…

donc tu peux, soit ajouter des balises CDATA :

<script type="text/javascript">
<![cdata[ 
function printFileName()
{
	var lmt = document.getElementById("fichier");
	var href = window.location.href;
	var tmpArray = href.split('/');
	var fichier = tmpArray[tmpArray.length - 1];

	lmt.innerHTML = 'Ce fichier est nomm&eacute; <strong>'+fichier+'</strong>.';
}

if (document.getElementById && document.createTextNode) {
	if(window.addEventListener)
	{
		window.addEventListener('load', printFileName, false);
	}
	else if(window.attachEvent)
	{
		window.attachEvent('onload', printFileName);
	}
}
]]> 
</script>

soit mettre le premier code dans un fichier externe que tu appelles avec une balise <script> dans le <head> :
<script type="text/javascript" src="filename.js"></script>

dans ce cas, le fichier serait nommé "filename.js" et serait enregistré dans le même dossier que le fichier appelant.
[ Mathieu ]
Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

17

karta24, le 21 jan 2009 à 22:51:07

Alors. J'ai éliminé d'office la deuxième solution puisque je n'ai pas la possibilité de placer des fichiers sur le serveur.
Je teste la première, message d'erreur:
Impossible d'accepter votre texte HTML: Tags cannot enclose tags ![cdata[ function printFileName() { var lmt ="document.getElementById(fichier); var" href="window.location.href; var" tmpArray="href.split('/'); var" fichier="tmpArray[tmpArray.length - 1]; " lmt.innerHTML="'Ce fichier est nommé <strong"

Je peux ignorer l'avertissement, mais le script ne marche quand même pas...
Désolé de te causer autant de soucis :$

Répondre à karta24

18

Dalida, le 22 jan 2009 à 09:05:57

Salut,

et je suppose que tu ne peux pas changer le DTD de ton fichier ?
[ Mathieu ]

Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

19

karta24, le 22 jan 2009 à 18:13:17

Le...?

Répondre à karta24

20

Dalida, le 23 jan 2009 à 11:08:25

Salut,

montre nous la première ligne de ton fichier HTML, qui doit contenir "DTD".
[ Mathieu ]

Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

21

karta24, le 25 jan 2009 à 11:57:58

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Répondre à karta24

22

 Dalida, le 26 jan 2009 à 12:11:34

Salut,

essaie avec celui-là :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

ou celui-là :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
	   "http://www.w3.org/TR/html4/loose.dtd">


plus d'explications, et .
[ Mathieu ]
électricité, c'est quoi ça déjà ?

Répondre à Dalida