5568 sujets

Sémantique web et HTML

Bonjour,
Je voudrais savoir s'il est possible de mettre une ancre sur ma page et garder les paramètres de l'url en cours ?

Par exemple mon url est : voyage-sur-mesure?PdtIdx=121
Sur cette même page j'ai un call to action avec une ancre #formulaire
Et quand je clique sur mon bouton je voudrais avoir voyage-sur-mesure?PdtIdx=121#formulaire

Pour le moment, j'ai juste voyage-sur-mesure#formulaire

Merci d'avance Smiley smile
Modérateur
Bonjour,

Au moment où tu utilises une ancre dans ta page, il n'y a plus de php dans la page . Ce n'est plus que du html, le php ayant déjà été exécuté au départ sur le serveur.

Le navigateur va juste scroller le contenu de la fenêtre, sans rien échanger avec le serveur. Il n'y a donc aucune utilité à avoir des paramètres dans l'url, me semble-t-il, puisque ceux-ci ne peuvent être traités que par le serveur !

EDIT: php ou un autre langage

EDIT2: je viens de faire un test sur chrome, safari et firefox, et ils conservent tous les 3 le ? suivi des paramètres

Le code que j'ai utilisé :
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1.0,user-scalable=yes">
<title>Question mark and anchor</title>
<style>
</style>
</head>
<body>
<h1>Question mark and anchor</h1>
<h2 id="a">A</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<a href="#a">To A</a> <a href="#b">To B</a>
<h2 id="b">B</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
</p>
<a href="#a">To A</a> <a href="#b">To B</a>
</body>
</html>


Amicalement,
Modifié par parsimonhi (29 Dec 2018 - 20:05)
Merci pour ton retour.
Je suis tout à fait d'accord avec toi. Toutefois quand je clique sur mon lien (ancre), ma page recharge et me supprime tous mes paramètres pour garder que le #ancre. Comment faire pour qu'elle ne recharge pas ?

Merci
Modérateur
Bonjour,

Y a un autre problème alors.

Montre un code réduit au minimum qui reproduit le problème.

Amicalement,
Modérateur
Bonjour,

C'est la ligne <base href="https://www.shantitravel.com/voyage-sur-mesure-abtasty-variation1.asp" /> qui provoque ça.

Amicalement,
Aie je ne vais pas pouvoir la retirer Smiley decu Existe-il une autre solution ?

Merci d'avance,
Jonathan
Merci pour ton retour.

Le PdtIdx dépend de la page précédente à vrai dire, il peut être

PdtIdx=121
PdtIdx=44
PdtIdx=89

Est-il possible de repasser la PdtIdx dans l'ancre ?

Merci
Jonathan
Modérateur
Bonjour,

Je n'ai qu'une vision trop partielle du contexte dans lequel tu es pour répondre de manière fiable (y a l'air d'y avoir pas mal de contraintes).

Teste tes idées, c'est tout ce que je peux conseiller à ce stade.

Ceci étant, si je remplace la ligne où il y a "Créez votre voyage" par celle ci-dessous, ça a l'air de fonctionner :
<a href="?PdtIdx=121#formulaire"><div class="BtnExpertProg" style="border-radius: 15px;width: 240px;margin-left: 35%;margin-bottom: 10px; margin-top: 10px">Créez votre voyage</div></a></div>


Il faudrait donc que tu te débrouilles, lors de la création de la page, pour que ce ?PdtIdx=121 (ou un autre nombre selon ce qu'il y a dans l'url de la page) soit ajouté dans cette ligne.

Ça devrait être possible à réaliser en asp, avant que la page soit envoyée du serveur vers le navigateur de l'utilisateur.

Amicalement,