【发布时间】:2012-03-09 12:55:19
【问题描述】:
我有一些代码(由另一位开发人员编写)在 WordPress 中进行 AJAX 页面加载(例如,没有页面重新加载),当您单击导航项时,AJAX 会刷新主要内容区域。我的问题是它在 IE7 中被破坏了,我不知道从哪里开始调试。
原来的开场白是
var queue = 0;
$('document').ready(function() {
window.addEventListener("hashchange", hashChange, false);
// Define window location variables
var windowHost = window.location.host,
windowHash = window.location.hash,
windowPath = window.location.pathname;
但我更改了它们以根据该方法是否存在来使 addEventListener 成为条件。一些研究告诉我,该方法在旧版本的 IE 中不可用(例如,在我的情况下为 7)。此外,IE7 调试控制台将其识别为不可用的方法,所以这很清楚。我重写了如下几行,但代码仍然不起作用:
var queue = 0;
$('document').ready(function() {
if(window.addEventListener) {
window.addEventListener("hashchange", hashChange, false);
}
else if (window.attachEvent) {
window.attachEvent("hashchange", hashchange, false);
}
// Define window location variables
var windowHost = window.location.host,
windowHash = window.location.hash,
windowPath = window.location.pathname;
完整的原始脚本可以在这个 pastebin 中查看:http://pastebin.com/Jc9ySvrb
【问题讨论】:
标签: javascript jquery internet-explorer fragment-identifier hashchange