-2
votes

Supprimer #Hash de l'URL sans rafraîchir.

Je sais qu'il y a beaucoup de questions sur ce sujet sur Stackoveflow, mais je ne les comprends pas.

Donc, ma question est de supprimer le #hash dans l'URL ( sans rafraîchissement) après avoir appuyé sur un lien.

ici est une solution mais je ne comprends pas où Je devrais tout mettre

mon code est le suivant: xxx

et #home est l'identifiant de la div, je veux faire défiler jusqu'à. < / p>


6 commentaires

Bonjour Gnusson et bienvenue à oui, pouvez-vous publier votre code que vous avez essayé jusqu'à présent? Je serais heureux de vous aider à travailler à travers la solution.


Bonjour Josh, je n'ai pas essayé de code): Je ne comprends pas où je devrais mettre tout le code de l'exemple ci-dessus .. Merci pour votre aide: D


Si vous naviguerez sur une section dans ce document, vous devez le conserver. Pourquoi voulez-vous le supprimer?


Je pense que ça a l'air moche et je sais qu'il est possible de supprimer, c'est pourquoi.


Ce n'est pas une grande raison de la supprimer.


Ok, mais avez-vous une solution?


3 Réponses :


0
votes

Si vous utilisez jQuery, vous pouvez donc l'écrire dans votre fichier de script xxx


2 commentaires

Quand j'ai appuyé sur les liens que j'ai toujours obtenu un point de vue dans l'URL


peux-tu réessayer? J'ai accidentellement ajouté de l'espace dans le sélecteur



0
votes

Si vous voulez que le lien de hachage fonctionne normalement, mais il suffit de vouloir le hachage cosmétiquement effacé, ce code pourrait vous conviendra bien:

<!DOCTYPE html>
<html>

<a class="nav-link" href="#home" onClick="removehash()">Home</a>

<div style="height:3000px"></div>

<h1 id="home">HOME</h1>

<script>
    function removehash(){
        setTimeout(function(){
            history.replaceState("", document.title, window.location.pathname);
        }, 1);
    }
</script>


0 commentaires

0
votes

La voie la plus simple remplacerait le hachage sans rien.

history.pushState("", document.title, window.location.pathname);


0 commentaires