Is there any way to detect whether a webpage is going to redirect me to another, knowing its URL? I mean the situation when you type URL in a text field and the script examines it for 3xx redirections.
Is there any way to detect whether a webpage is going to redirect me to another, knowing its URL? I mean the situation when you type URL in a text field and the script examines it for 3xx redirections.
Share Improve this question edited Mar 9, 2012 at 17:50 Josh Leitzel 15.2k13 gold badges60 silver badges77 bronze badges asked Mar 9, 2012 at 17:43 burtekburtek 2,6858 gold badges31 silver badges37 bronze badges 4 |2 Answers
Reset to default 10Yes, you can do this quite easily in Javascript. It'd look something like:
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();
Unfortunately, this only works on your own server, unless you hit a server with CORS set up. If you wanted to work uniformly across any domain, you're going to have to do it server-side.
Here is simple solution for your question.
x.addEventListener('readystatechange',function(){
const url = 'https://your/request/url';
if(this.responseURL != url){
alert('redirected');
}
});
onbeforeunload
, is that what you want? – fardjad Commented Mar 9, 2012 at 17:45