Bien que je ne l'ai pas testé en JavaScript, Je sais que dans d'autres langues que try-catch est plus de ressources qu'un simple si ...
utilisation:
if(history.pushState) {
history.pushState({"id":100}, document.title, location.href);
}
Gardez à l'esprit que lorsque vous cliquez sur le bouton de retour, rien ne se passe réellement à moins que vous implémentez window.onpopstate
. Vous devez transmettre les données dont vous avez besoin pour récupérer le contenu:
if(history.pushState && history.replaceState) {
//push current id, title and url
history.pushState({"id":100}, document.title, location.href);
//push new information
history.pushState({"id":101}, "new title", "/new-url/");
//this executes when you use the back button
window.onpopstate = function(e) {
alert(e.state.id);
//perhaps use an ajax call to update content based on the e.state.id
};
}
Remarque: history.popstate est appelée une seule fois - immédiatement lors du chargement de la première page: et cela est voulu. –