有没有办法检测网页是否会将我重定向到另一个网页,知道其网址?我的意思是当您在文本字段中键入URL并且脚本检查它是否为3xx重定向时的情况。
答案 0 :(得分:4)
是的,您可以在Javascript中轻松完成此操作。它看起来像是:
var xhr = new XMLHttpRequest();
xhr.onload = function() {
if (this.status < 400 && this.status >= 300) {
alert('this redirects to ' + this.getResponseHeader("Location"));
} else {
alert('doesn\'t redirect ');
}
}
xhr.open('HEAD', '/my/location', true);
xhr.send();
不幸的是,这只适用于您自己的服务器,除非您点击设置了CORS的服务器。如果您想在任何域中统一工作,那么您将不得不在服务器端进行操作。
答案 1 :(得分:0)
这是您问题的简单解决方案。
x.addEventListener('readystatechange',function(){
const url = 'https://your/request/url';
if(this.responseURL != url){
alert('redirected');
}
});