ajax调用上的浏览器后退按钮

时间:2012-10-22 13:55:10

标签: javascript cross-browser

当我登录我的应用程序时,应用程序的网址为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;   
            }
        };
    }

但是当我点击主页上的后退按钮时,后退按钮被禁用,而我需要获取我之前执行过的搜索结果。

0 个答案:

没有答案