【发布时间】:2010-11-17 04:01:08
【问题描述】:
我正在用 JS 编写我自己的 Ajax 历史库。我遇到了 IE6 和 IE7 的问题。有人可以详细说明为什么会发生以下情况吗?
IE6 & 7
我可以在不刷新页面的情况下设置哈希值。
window.location = 'site.com/index.html#' + pageNumber;
我可以转到第 1 页、第 2 页、第 3 页等等。当我在第 3 页并点击后退按钮时,我并没有回到第 2 页。相反,我完全脱离了 index.html!好像IE不认为不同的hash值是不同的历史点。
IE7
IE7 向后兼容模式中的 IE8 声称它具有 onhashchange 侦听器。
if ('onhashchange' in window) {
// true in IE7
window.onhashchange = someFunction();
}
然而,当 URL 改变时,IE7 从不执行 someFunction()。这意味着它在于有 onhashchange 但从未实现它。
【问题讨论】:
标签: javascript ajax internet-explorer