我有一个网页,它使用 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”事件。
任何帮助将不胜感激。谢谢。