У меня есть некоторый код (написанный другим разработчиком), который выполняет загрузку страницы AJAX внутри WordPress (например, без перезагрузки страницы), когда вы щелкаете элемент навигации, 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.