2011-09-21 41 views

回答

1

使用server side language創建服務器端腳本,讓此腳本返回狀態碼。這個「代理」腳本將爲您請求URL,以便不需要進行跨域請求。

對於Python的響應代碼腳本的例子,在這裏看到:What’s the best way to get an HTTP response code from a URL?

希望幫助, -Sunjay03

+0

感謝您的答覆,Sunjay的問題是,我沒有訪問服務器的代碼。這對我來說「字面上」是外在的。例如,該網址可以是任何內容(甚至是http://www.google.com)。底線是我無法訪問服務器的代碼。 – Sunny

+0

你不需要訪問服務器的代碼。我使用代理的方法可以完全避免這種情況。 –

2

這是不可能直接將狀態代碼在JavaScript中沒有的XMLHttpRequest。正如指出的那樣,這通常是隻有同域雖然,有兩種可能的跨域方式(不需要代理服務器)這個我知道的:

  1. 願意玩可以使用Cross-Origin Resource Sharing某些客戶機和服務器和;還有flash-based "XHR" solutions

在另一方面,如果所有的關心是圖像認爲它可以加載(這可能不是200了!),就可以發現這一點使用圖像元素onload事件。如果onload事件在一段時間內未觸發,則可以斷定請求超時或失敗(4xx/5xx)。但是,這將返回302情況下的假陽性,等等。

只要確保瀏覽器實際上試圖加載圖像:一些更聰明的將不會加載隱藏的圖像,或所以我已經聽到。

快樂編碼。

2

我不知道如何「跨瀏覽器」是這樣的:

<script src="http://www.google.com" onerror="alert('error')"></script> <!-- Is Fine --> 
<script src="http://www.notrealnotrealzz.com" onerror="alert('error')"></script> <!-- Alerts Error --> 

而且這顯然是一個黑客,但希望它會有所幫助。

一個更加動態的版本:

var el = document.createElement('script'); 
el.onerror = errorFunction; 
el.src = url; 
document.body.appendChild(el); 
相關問題