Donc, en ce qui concerne AJAX...
Le fait d'appuyer sur la touche retour lors de l'utilisation de la plupart des applications web qui utilisent AJAX pour naviguer dans des parties spécifiques d'une page est un problème énorme. Je n'accepte pas l'idée selon laquelle "le fait de devoir désactiver le bouton signifie que vous faites quelque chose de mal" et, en fait, les développeurs de différentes disciplines sont confrontés à ce problème depuis longtemps. Voici ma solution :
window.onload = function () {
if (typeof history.pushState === "function") {
history.pushState("jibberish", null, null);
window.onpopstate = function () {
history.pushState('newjibberish', null, null);
// Handle the back (or forward) buttons here
// Will NOT handle refresh, use onbeforeunload for this.
};
}
else {
var ignoreHashChange = true;
window.onhashchange = function () {
if (!ignoreHashChange) {
ignoreHashChange = true;
window.location.hash = Math.random();
// Detect and redirect change here
// Works in older FF and IE9
// * it does mess with your hash symbol (anchor?) pound sign
// delimiter on the end of the URL
}
else {
ignoreHashChange = false;
}
};
}
}
D'après ce que j'ai pu constater, cela fonctionne sur chrome, firefox, Je n'ai pas encore testé IE .