当我登录到我的应用程序时,应用程序的 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;
}
};
}
但是,当我单击主页中的后退按钮时,后退按钮将被禁用,而我需要获取我之前执行的搜索结果。