Question

Je développe un système qui est 100% ajax, sauf bien sûr, la première demande.

Je suis intéressé à changer l'adresse dans document.location, en utilisant javascript. Mais je ne veux pas le navigateur pour charger la page sur cet emplacement « nouveau ».

Est-ce que quelqu'un sait comment je peux le faire?

Était-ce utile?

La solution

Réécrire l'emplacement entier et pas seulement la partie « hachage », API historique du navigateur peut être utilisé, même si actuellement il semble être pris en charge dans Gecko 1.9.3 / Firefox 4 .

history.replaceState({}, document.title, url)

Autres conseils

Modification de l'URL entière sans navigation est impossible, imaginez problèmes de sécurité que pourrait générer.

Vous pouvez modifier uniquement les location.hash, qui est la partie de l'URL qui suit le symbole #:

location.hash = "foo";

Votre URL changera http://someurl.com/#foo

Vous pouvez utiliser la même méthode que Gmail utilise. Append un point d'ancrage à la fin de l'URL, le navigateur ne doit pas recharger la page, mais vous pouvez lire les informations contenues dans document.location.href et agir sur elle. Cela gardera également la fonctionnalité du bouton de retour intact (fournissant vos supports javascript il)

par exemple

première page est http://www.mypage.com/index.php vous cliquez sur la « page » suivante en utilisant <a href="#page2">link</a> et il change à http://www.mypage.com/index.php#page2

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top