Existe-t-il un moyen de modifier l'URL de la page actuelle sans recharger la page ?
Je voudrais accéder à la partie avant le # hash si possible.
Je dois seulement changer la portion après le domaine, donc ce n'est pas comme si je violais les politiques inter-domaines.
window.location.href = "www.mysite.com/page2.php"; // Sadly this reloads
186 votes
Pour faciliter la compréhension de la question, voici ce que fait Facebook lorsque vous ouvrez une photo, par exemple. La barre d'adresse change pour pointer DIRECTEMENT vers cette photo, de sorte que vous pouvez partager l'URL sans perdre l'endroit où vous vous trouvez dans le site. Vous vous souvenez des sites basés sur le cadrage de la dernière décennie ? Vous ne pouviez obtenir que l'URL de la page d'accueil, car seuls les cadres internes changeaient. Et c'était terrible.
7 votes
Alors que
history.pushState()
est probablement la bonne réponse ici, dans cette situation (en fonction des circonstances exactes...), la possibilité d'utiliser une redirection côté serveur (comme via l'utilisation de la directive RewriteRule d'Apache) est quelque chose que vous pourriez envisager, ou du moins connaître. J'ai simplement pensé qu'il fallait le mentionner !13 votes
window.history.replaceState(null, document.title, "/page2.php")
est probablement ce que la plupart des gens recherchent.