12
votes

Comment changer l'URL affichée dans le navigateur sans quitter la page

est-il possible avec JavaScript pour changer l'URL du navigateur, mais ne pas laisser la page?


5 commentaires

Vous voulez changer le texte dans la barre d'adresse sans y aller réellement?


Veuillez rechercher le site Web d'abord: Stackoverflow.com/search?q=javascript+change+url+


Dupliquer possible de beaucoup de questions . Par exemple: Changement de l'URL avec jQuery sans recharger la page


Dupliqué possible de Modification de l'URL sans recharger la page


Ya aurait probablement dû rechercher d'abord, désolé, a glissé mon esprit


4 Réponses :


-1
votes

Vous pouvez changer quelque chose après la marque Hash ( # ) car il est fréquemment utilisé dans les applications AJAX telles que la recherche Google et le nouveau Twitter. (C'est pourquoi tout apparaît après la marque de hachage dans ces applications.) Mais si vous changez autre chose, la page devra être rechargée.


0 commentaires

5
votes

Je vais supposer que vous parlez de l'URL visible dans la barre d'URL.

La réponse est non, il s'agit d'une vulnérabilité de sécurité majeure lorsqu'une application tente d'astuce les utilisateurs à penser que sont sur un autre site.


0 commentaires

17
votes

Dans les navigateurs plus anciens, vous pouvez pas changer l'URL dans la barre d'adresse sans quitter la page. Mais vous pouvez modifier la partie HASH de l'URL sans quitter la page. C'est-à-dire que vous pouvez changer www.example.com vers www.example.com # new_text avec JavaScript window.location.hash = "nouveau_text" ; Tout après que le # peut être modifié.

Toutefois, dans HTML5, une nouvelle API d'historique vous permet de modifier la partie de l'URL après le domaine. Donc, vous ne pouvez toujours pas changer www.example.com vers www.bankofamerica.com www.example.com/foo à www.example.com/bar . xxx

cocher Quand puis-je utiliser ... pour voir quels navigateurs prennent en charge la gestion de l'historique de session HTML5 et prennent en charge la nouvelle méthode

En outre, il existe une bibliothèque JavaScript qui normalise l'API d'historique entre navigateurs et modifie l'URL dans de nouveaux navigateurs et utilise la partie de hachage pour les anciens navigateurs. Voir Historique.js .


2 commentaires

Oui, vous pouvez. Je ne sais tout simplement pas comment. Facebook fait-il, mais bien sûr, ils sont super programmeurs. Edit: Il suffit de découvrir comment ici: Stackoverflow.com/questions / 6955430 / Change-URL-ON-AJAX-REQUE ST


@Eduard Luca Merci de m'avoir montré que, j'ai mis à jour cette réponse en conséquence.



-4
votes

Non, ce n'est pas possible. Et, chaque fois que cela est possible, c'est un bogue de navigateur (je connais des bugs de sécurité précédents liés à ce comportement, et ils ont été fixés dans le passé).

En réalité ... Vous pouvez modifier la dernière partie de l'URL, quoi que ce soit après le caractère # . Mais le nom d'hôte et le chemin ne peuvent pas être changés sans quitter la page.


0 commentaires