2012-03-09 51 views
10

Có cách nào để phát hiện xem trang web có chuyển hướng tôi đến trang web khác hay không, biết URL của trang web đó không? Tôi có nghĩa là tình hình khi bạn gõ URL trong một trường văn bản và kịch bản kiểm tra nó cho chuyển hướng 3xx.phát hiện chuyển hướng bằng javascript - cách thực hiện?

+0

Có sự kiện 'onbeforeunload', đó có phải là điều bạn muốn không? – fardjad

+0

@fardjad Có lẽ tôi đã không giải thích đúng. Tôi cần một cái gì đó như [this] (http://www.internetofficer.com/seo-tool/redirect-check/), nhưng với javascript, không phải php – burtek

+0

Nếu nó đáp ứng cùng một chính sách nguồn gốc, bạn có lẽ sẽ có thể có được 302 tiêu đề thông qua đối tượng XHR. – zzzzBov

Trả lời

3

Có, bạn có thể làm điều này khá dễ dàng trong Javascript. Nó muốn tìm một cái gì đó như:

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

Thật không may, điều này chỉ hoạt động trên máy chủ của riêng bạn, trừ khi bạn nhấn một máy chủ với CORS thiết lập. Nếu bạn muốn làm việc thống nhất trên bất kỳ miền nào, bạn sẽ phải thực hiện nó phía máy chủ.

+0

Dường như là giải pháp tốt nhất – burtek

Các vấn đề liên quan