Est-ce possible avec JavaScript de changer l'URL du navigateur, mais pas de quitter la page?Comment changer l'URL affichée dans le navigateur sans quitter la page
Répondre
Dans les anciens navigateurs, vous pouvez et non changer l'URL dans la barre d'adresse sans quitter la page. Mais vous pouvez changer la partie de hachage de l'URL sans quitter la page. C'est-à-dire que vous pouvez changer www.example.com
à www.example.com#new_text
avec JavaScript window.location.hash = "new_text"
; tout après le #
peut être changé. Cependant, en HTML5, il existe une nouvelle API d'historique qui vous permet de modifier la partie de l'URL après le domaine. Vous ne pouvez donc pas modifier www.example.com
à www.BankOfAmerica.com
(pour des raisons de sécurité), mais vous pouvez remplacer www.example.com/foo
par www.example.com/bar
.
history.pushState("object or string representing the state of the page", "new title", "newURL");
Vérifiez When can I use... pour voir quels navigateurs soutenir la gestion de l'historique de la session HTML5 et soutenir la nouvelle méthode pushState
.
De plus, il existe une bibliothèque JavaScript qui va normaliser l'API d'historique à travers les navigateurs et change l'URL dans les nouveaux navigateurs et utilise la partie de hachage pour les anciens navigateurs. Voir history.js.
oui , vous pouvez. Je ne sais pas comment. Facebook le fait, mais bien sûr, ils sont super-programmeurs. Edit: viens de découvrir comment: http://stackoverflow.com/questions/6955430/change-url-on-ajax-request –
@Eduard Luca Merci de m'avoir montré cela, j'ai mis à jour cette réponse en conséquence. – Adam
Vous pouvez changer quoi que ce soit après la marque de hachage (#
) car cela 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 quelque chose d'autre, la page devra être rechargée.
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 faille de sécurité majeure lorsqu'une application tente de faire croire aux utilisateurs d'un autre site.
Non, ce n'est pas possible. Et, quand cela est possible, c'est un bug de navigateur (je connais les bogues de sécurité antérieurs liés à ce comportement, et ils ont été corrigés dans le passé).
En fait ... Vous pouvez modifier la dernière partie de l'URL, n'importe quoi après le caractère #
. Mais le nom d'hôte et le chemin ne peuvent pas être changés sans quitter la page.
- 1. Envoyer le formulaire sans quitter la page
- 2. supprimer des cookies sans quitter le navigateur!
- 3. RewriteRule sans changer l'adresse dans le navigateur
- 4. Exécuter PHP sans quitter la page
- 5. Comment puis-je télécharger une image sans quitter la page?
- 6. Echapper à une boucle infinie sans quitter le navigateur
- 7. changer le contenu du navigateur dans XULRunner
- 8. Vote en ligne en temps réel sans quitter la page?
- 9. changer l'URL de la page sans rafraîchir la page
- 10. Comment obtenir la source de la page Web affichée
- 11. comment unindent dans vim sans quitter le mode d'édition?
- 12. Comment changer la page WCF par défaut renvoyée dans le navigateur?
- 13. Ajouter un nouvel élément à la liste html-select sans quitter la page. Comment?
- 14. Comment changer le curseur dans un navigateur intégré
- 15. Comment changer la page d'accueil du projet?
- 16. saisir l'image affichée sur le UIImagePickerController sans la superposition
- 17. Comment ouvrir l'URL sans quitter l'application
- 18. Comment sauter l'historique de la page vistée dans le navigateur
- 19. Comment changer la page de l'intérieur JavaScript
- 20. Rails: Comment changer le titre d'une page?
- 21. La page n'est pas toujours affichée
- 22. Comment puis-je forcer une boîte de dialogue Enregistrer-sous sans quitter la page en PHP?
- 23. capture utilisateur quitter la page avec jquery
- 24. comment exécuter une URL ou un lien hypertexte sans quitter la page existante en utilisant asp.net
- 25. Page blanche affichée dans Mozilla Firefox
- 26. Arrêter la fermeture d'une page AJAX affichée dans fancybox?
- 27. Comment empêcher l'utilisateur de changer de page avec jQuery
- 28. Changer le contenu de la listbox actuellement affichée dans urwid/python2.6
- 29. Rediriger l'utilisateur vers la dernière page affichée dans hook_menu
- 30. La réponse HTTP brute s'affiche dans le navigateur au lieu d'être affichée
Vous voulez changer le texte dans la barre d'adresse sans y aller? – Adam
S'il vous plaît d'abord rechercher le site Web: http://stackoverflow.com/search?q=javascript+change+url+ – BGerrissen
Possible doublon de * nombreuses * questions. Par exemple: [Modifier l'URL avec jQuery sans recharger la page] (http://stackoverflow.com/questions/4013122/changing-the-url-with-jquery-without-reloading-the-page) – Robusto