1

我有一个网页,它使用 history.js 根据哈希变化执行一些任务。

我使用 replaceState 来更改历史状态。

$(document).ready(function () {

    History.replaceState("state =1", "title", "?querystring");

    History.Adapter.bind(window, 'statechange', function () {
        var State = History.getState();
        if (State.title == "title")
            window.location.href = "default.aspx?mode=1";
        else
            window.location.href = "default.aspx?mode=2";
    });
});

然而,在 IE9 中的“document.ready”以及浏览器的后退/前进按钮上调用了“statechange”事件。但在 chrome 和 safari 中,仅在单击浏览器的后退/前进时调用它才能正常工作。

由于我根据标题重新加载页面。IE 通过不断地重新加载页面而发疯。

我浏览了有关该问题的所有可能的论坛和线程。但没有一个解决方案奏效。

请建议任何解决方法,仅在 IE9 和其他浏览器中的后退/前进按钮单击时调用“statechange”事件。

任何帮助将不胜感激。谢谢。

4

0 回答 0