是否有使用 Javascript 来监控通过页面元素上的 302 重定向更改的 URL 的方法?
我在无法控制的远程服务器上有一些脚本,通过脚本标签加载,在某些情况下,它可能会立即返回 302 重定向到另一个位置。
这是一种观察此重定向并被通知新位置并根据加载的 URI 采取不同操作的方法吗?
是否有使用 Javascript 来监控通过页面元素上的 302 重定向更改的 URL 的方法?
我在无法控制的远程服务器上有一些脚本,通过脚本标签加载,在某些情况下,它可能会立即返回 302 重定向到另一个位置。
这是一种观察此重定向并被通知新位置并根据加载的 URI 采取不同操作的方法吗?
这里的普遍看法似乎是否定的,但如果您想测试它,请尝试使用 jQuery 的 ajax 加载脚本:
var redirected = false;
$.ajax({
url: url,
dataType: "script",
statusCode: {
302: function() {
redirected = true;
}
},
success: function () {
if (redirected) {
// something
} else {
// something else
}
}
});
请注意,当您到达成功功能时,该脚本已经运行,因此即使它有效,这也可能根本没有用。
我不这么认为。W3C 的规范草案说,XMLHttpRequest
将透明地遵循重定向,当您只是向页面添加一个元素时,您甚至没有使用可以让您对流程有script
太多可见性的东西(哎呀,您很幸运从中获取load
/onreadystate
事件)。