“SCRIPT438:Object仅在IE中不支持属性或方法'url'”

时间:2012-02-13 23:48:56

标签: javascript jquery internet-explorer

我在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行是上述函数的第二行。

更奇怪的是,在有问题的页面上(从上面调用上面的函数),当我在IE Developer Tools控制台中输入$.url()$.url().attr("path")时,它会返回正确的对象和字符串,分别。如果我"观看"这些价值似乎也保持正确。它们。

非常感谢任何帮助!


编辑:

我找到了解决方法:

function redirectToLogin() {
    top.window.location = "/Shared/Logout?redir=" + encodeURIComponent(location.pathname + location.search);
    return;
}

这似乎有效并达到了同样的效果,所以我发布它以防万一。但是,我仍然很想知道使用jquery的原始代码无法正常工作的原因。

1 个答案:

答案 0 :(得分:0)

我想如果你说它在控制台中工作,代码试图在$.url()初始化之前使用它。是否在AjaxSetup文件之前包含了URL?