2012-06-21 64 views
0

因此,我構建了一個jQuery插件,用於在用戶使用高像素密度設備時替換視網膜普通圖形。該交換的一部分需要檢查文件的視網膜版本是否存在於網頁的某個網址。以下是如何檢查:XMLHttpRequest異常101:在同步請求中發生網絡錯誤

function urlExists(url) { 
    var http = new XMLHttpRequest(); 
    http.open('HEAD', url, false); 
    http.send(); 
    return http.status!=404; 
}; 

但是,當它嘗試檢查一個文件,是在不同的服務器上,那麼當前一個,它失敗,此錯誤控制檯:

XMLHttpRequest Exception 101: A network error occurred in synchronous requests.

如何我可以允許跨域XML https請求,以便它可以在加載插件的任何網站上運行?

另外,我想最終將其轉換爲JS,所以如果沒有jQuery,它會是最優的。

這裏有一個的jsfiddle:http://jsfiddle.net/JacksonGariety/7YYgP/1/ (注:我註釋掉檢查視網膜設備部分,所以你可以測試的東西)

+0

從它看起來像,但你根本沒有執行任何jQuery。至少用你提供的代碼。 –

+0

如果您檢查jdFiddle,那麼在這裏和那裏會混合一些jQuery。 – alt

回答

0

允許跨域AJAX請求依賴於服務器配置,而不是客戶端(據我所知)。這意味着無法僅通過單獨加載jQuery/JS插件來確保成功/允許的跨域AJAX請求。

如果有,雖然,golly,我很想知道它。

+0

這個插件似乎這樣做:http://retinajs.com – alt

+0

在這裏:http://jsfiddle.net – alt

+0

在那裏搜索.send( – alt

相關問題