0

プロジェクトで dojo ファイル アップロード コンポーネントを使用しています。自分のサーバーから dojo.js ライブラリをロードするとすべてうまくいきますが、CDN (別のサーバー) を使用すると、ファイル アップロード コンポーネントで CROSS DOMAIN XML ERROR が発生し、機能しません。

問題は、FLASH アップロード コンポーネントが別のサーバー (CDN) からダウンロードされるため、ブラウザーがクロス ドメイン xml 要求であると認識していることです。

この問題を回避する方法はありますか? サーバーから dojo ライブラリをロードすると、すべてが正常に機能しますが、全体的なページのロードは非常に遅いことに注意してください。そのため、CDN を使用します。

4

1 に答える 1

0

私はそれを考え出した。実際には、ファイル名 crossdomain.xml を作成し、ドメインのルートに配置する必要があります。たとえば、Yahoo は Google Flash コンポーネントを使用しており、Yahoo Web サイトの Google サーバーからロードされています。したがって、そのフラッシュ コンポーネントが yahoo サーバーと通信しようとすると、BROWSERS は yahoo Web サーバーから crossdomain.xml ファイルをダウンロードし、Google ドメインが許可されているかどうかを確認しようとします。

私の場合、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 貴重なコメントありがとうございます。

于 2013-04-10T14:49:55.997 に答える