2
votes

Comment supprimer la chaîne de requête de l'URL à l'aide de href

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.


0 commentaires

3 Réponses :


1
votes

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


0 commentaires

1
votes

Appliquez ce script dans votre balise a .

<a href="javascript:document.location.href=document.location.href.split('?')[0];">Home</a>


0 commentaires

1
votes

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.


0 commentaires