2013-04-10 47 views
0

我在我的項目中使用了dojo文件上傳組件。如果我從我的服務器加載dojo.js庫,一切正常,但如果我使用CDN(另一臺服務器),那麼文件上傳組件會給出CROSS DOMAIN XML ERROR並且不起作用。dojox.form.Uploader中的cross domain xml錯誤

我知道問題是FLASH上傳組件是從另一個服務器(CDN)下載的,所以瀏覽器認爲它是一個跨域xml請求。

有沒有人有辦法解決這個問題?請注意,如果我從我的服務器加載dojo庫然後每件事情都很好,但整體頁面加載速度很慢。那爲什麼我們使用CDN。

+1

您是否嘗試添加跨域策略文件?它位於_your_服務器上,並告訴Flash播放器它可以訪問您的域名。 http://kb2.adobe.com/cps/142/tn_14213.html – CBroe 2013-04-10 13:12:39

+0

你能告訴如何配置它在Windows服務器上(2008 R2) – 2013-04-10 13:17:13

回答

0

我想通了。實際上,我們必須創建一個名爲crossdomain.xml的文件,並將其放在我們域的根目錄下。例如,雅虎已經使用谷歌flash組件,並從雅虎網站的谷歌服務器加載。因此,如果該閃存組件試圖與雅虎服務器通信,那麼瀏覽器將嘗試從yahoo web服務器下載crossdomain.xml文件,並查看是否允許使用谷歌域名。

在我的情況下,我使用DOJO CDN,並在crossdomain.xml文件中允許該組件完美工作。文件格式如下:

<!DOCTYPE cross-domain-policy SYSTEM 
"http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> 

<cross-domain-policy> 
    <site-control permitted-cross-domain-policies="master-only"/> 
    <allow-access-from domain="ajax.googleapis.com"/> 
    <allow-access-from domain="yui.yahooapis.com"/> 
</cross-domain-policy> 

@CBroe感謝您的寶貴意見。