アプリケーションにログインすると、アプリケーションの URL はlocalhost/#
.
そして、アプリケーションで ajax 呼び出しを使用して検索を行い、結果を取得した後も URL は同じままです。
そのため、ブラウザの戻るボタンをクリックすると、アプリケーションはアプリケーションのログイン ページに戻ります。したがって、ログインページに移動しないようにページを制限する必要があります。
私はこのようにしようとしています:
window.onload = function () {
if (typeof history.pushState === "function") {
history.pushState("jibberish", null, null);
window.history.go(1);
window.onpopstate = function () {
history.pushState('newjibberish', null, null);
window.history.go(-1);
// 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;
}
};
}
しかし、ホームページの戻るボタンをクリックすると、戻るボタンが無効になり、代わりに以前に実行した検索結果を取得する必要があります。