У меня есть некоторый код (написанный другим разработчиком), который выполняет загрузку страницы 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;
Полный оригинал сценария можно посмотреть в этой папке: http://pastebin.com/Jc9ySvrb