Я получаю следующую ошибку в IE (но не в Firefox):
SCRIPT438: Object doesn't support property or method 'url'
AjaxSetup.js?version=7b8dcb65-17d1-437f-9594-0621c779427c, line 28 character 2
Есть несколько других сообщений с подобными ошибками (для других объектов, кроме URL), но все они, похоже, имеют ответы в духе «такой функции не существует в jquery» или «такая функция недопустима» использовать в этом контексте ", и ни один, кажется, не применим к моей ситуации, по крайней мере, насколько я могу судить.
Функция, содержащая номер строки, на которую ссылается ошибка:
function redirectToLogin() {
var redirUrl = $.url().attr("path");
if ($.url().attr("query").length > 0) {
redirUrl += "?" + $.url().attr("query");
}
top.window.location = "/Shared/Logout?redir=" + encodeURIComponent(redirUrl);
return;
}
где строка 28 - вторая строка функции выше.
Что еще более странно, когда на странице нарушителя (с которой вызывается вышеуказанная функция), когда я набираю $.url()
или $.url().attr("path")
в консоли инструментов разработчика IE, она возвращает правильный объект и строку соответственно. Значения также остаются правильными, если я их "наблюдаю".
Любая помощь будет высоко ценится!
EDIT:
Я нашел обходной путь:
function redirectToLogin() {
top.window.location = "/Shared/Logout?redir=" + encodeURIComponent(location.pathname + location.search);
return;
}
Кажется, что это работает и дает то же самое, поэтому я публикую это на тот случай, если это кому-нибудь поможет. Однако мне все равно было бы любопытно узнать, почему оригинальный код, использующий jquery, не работал.