4

是否有使用 Javascript 来监控通过页面元素上的 302 重定向更改的 URL 的方法?

我在无法控制的远程服务器上有一些脚本,通过脚本标签加载,在某些情况下,它可能会立即返回 302 重定向到另一个位置。

这是一种观察此重定向并被通知新位置并根据加载的 URI 采取不同操作的方法吗?

4

2 回答 2

1

这里的普遍看法似乎是否定的,但如果您想测试它,请尝试使用 jQuery 的 ajax 加载脚本:

var redirected = false;
$.ajax({
    url: url,
    dataType: "script",
    statusCode: {
        302: function() {
            redirected = true;
        }
    },
    success: function () {
        if (redirected) {
            // something
        } else {
            // something else
        }
    }
});

请注意,当您到达成功功能时,该脚本已经运行,因此即使它有效,这也可能根本没有用。

于 2011-07-22T16:26:59.450 回答
0

我不这么认为。W3C 的规范草案说,XMLHttpRequest透明地遵循重定向,当您只是向页面添加一个元素时,您甚至没有使用可以让您对流程script太多可见性的东西(哎呀,您很幸运从中获取load/onreadystate事件)。

于 2011-07-22T16:21:30.230 回答