2012-03-09 16 views
10

Czy istnieje sposób na wykrycie, czy strona internetowa przekieruje mnie do innej osoby, znając jej URL? Mam na myśli sytuację, gdy wpisujesz URL w polu tekstowym, a skrypt sprawdza go pod kątem przekierowań 3xx.wykrywanie przekierowania za pomocą javascript - jak?

+0

Istnieje zdarzenie 'onbeforeunload', czy to jest to, czego chcesz? – fardjad

+0

@fardjad Może nie wyjaśniłem tego poprawnie. Potrzebuję czegoś takiego (http://www.internetofficer.com/seo-tool/redirect-check/), ale z javascript, a nie php – burtek

+0

Jeśli spełnia tę samą zasadę pochodzenia, powinieneś być w stanie uzyskać 302 nagłówek za pośrednictwem obiektu XHR. – zzzzBov

Odpowiedz

3

Tak, możesz to zrobić całkiem łatwo w JavaScript. Byłoby wyglądać następująco:

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(); 

Niestety działa to tylko na własnym serwerze, chyba że trafisz na serwer z CORS skonfigurować. Jeśli chcesz pracować jednolicie we wszystkich domenach, będziesz musiał to zrobić po stronie serwera.

+0

Wydaje się być najlepszym rozwiązaniem – burtek

Powiązane problemy