Question

Je construis une série d'accordéons de base pour un projet.

Nous voulons qu’ils aient des pages statiques pouvant être liées. Nous avons donc créé des pages individuelles pour chacun des états ouverts.

Par exemple,

/ whoweare est le curseur principal.

Mais nous avons un curseur secondaire situé à / whoweare / whatwedo

Ce que je cherche à faire est que, lorsqu'un utilisateur clique sur un en-tête sur / whoweare, le curseur s'ouvre et que la barre d'URL se met à jour à / whoweare / whatwedo, mais il n'y a pas de redirection réelle. L'emplacement de l'URL devrait simplement changer, rien de plus.

J'ai essayé d'utiliser

window.location.replace($(this).attr('href'));
return false;

Mais cela ne semble pas avoir accompli ce que je voulais, il est toujours rechargé sur une nouvelle page.

D'autres suggestions?

Était-ce utile?

La solution

Vous ne pouvez pas modifier l'URL sans redirection, ce serait un cauchemar pour le phishing (changer d'URL pour celle d'une banque tout en restant sur le site de phishing, par exemple).

Vous pouvez uniquement manipuler le hachage de document, à savoir http://domain.com/#identifier - C’est ainsi que Google, Facebook, etc. fournissent aux sites AJAX le support de l’historique du navigateur.

Copie exacte de # 352343 Modification de la barre d'adresse du navigateur sans actualisation .

mise à jour: HTML5 autorise désormais pushState , mais uniquement dans le même domaine.

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