Actuellement, l'URL de ma page ressemble à ceci:
<a href=".">To home</a>
L'URL peut aussi parfois ressembler à:
https://example.com/eg
Je veux rediriger l'utilisateur vers la même page, mais sans la chaîne de requête, de sorte qu'en cliquant sur un lien, il vous mènera à:
https://example.com/eg/?page=2
J'ai essayé d'utiliser le suivant href
dans une balise d'ancrage suggérée dans cette question:
https://example.com/eg?page=2
En cliquant sur le lien, cela supprime la chaîne de requête comme je le souhaite lorsque l'URL de la page actuelle est https://example.com/eg/?page=2 code>. Cependant, si l'URL de la page est
https://example.com/eg?page=2
, cela m'amène à https://example.com
.
Question: Y a-t-il un type de chemin de répertoire (par exemple, une URL que je peux utiliser dans mon href) que je peux utiliser de telle sorte que les deux URL ci-dessus suppriment toujours la chaîne de requête? Je peux utiliser javascript, mais si une solution sans est possible, ce serait préférable.
Remarque : Je ne peux pas coder en dur par exemple
dans mon URL href
comme je suis développer un widget qui peut être installé dans différents environnements, donc, par exemple
est sujet à changement.
3 Réponses :
Vous pouvez utiliser
<a href="javascript:window.location.href=window.location.href.split('?')[0];">Home</a>
Vous pouvez également utiliser document.location
au lieu de window.location
. Mais ce n'est pas recommandé. Voir ici
Appliquez ce script dans votre balise a
.
<a href="javascript:document.location.href=document.location.href.split('?')[0];">Home</a>
Un lien relatif commençant par ?
ne devrait modifier que la chaîne de requête, vous pouvez donc utiliser:
https://example.com/eg? https://example.com/eg/?
Ce qui dirigerait vos exemples d'URL vers: p >
<a href="?">Home</a>
Il inclut le ?
dans l'URL finale, ce qui n'est peut-être pas ce que vous voulez, mais c'est une option fonctionnelle si vous ne le souhaitez pas utilisez Javascript.