使用javascript检测重定向 - 如何?

时间:2012-03-09 17:43:31

标签: javascript redirect detection

有没有办法检测网页是否会将我重定向到另一个网页,知道其网址?我的意思是当您在文本字段中键入URL并且脚本检查它是否为3xx重定向时的情况。

2 个答案:

答案 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');
    }

});