0

フルフラッシュSWFサイトを「xx.com」サーバーでホストする必要があります。ただし、すべてのグラフィックとサウンドは「yy.com」サーバーからロードする必要があります。

AS3コード内では、すべてのデータは絶対アドレスによってロードされます。例:

http://yy.com/file1.jpg
http://yy.com/file2.jpg

Flashオーサリングツールまたはローカルの.htmlファイル内から、またはswfをダブルクリックして、swfをローカルで実行すると、正常に機能します。すべてのデータは「yy.com」からダウンロードされ、サイトは正しく表示されます。

「xx.com」にswfをアップロードして、そこにロードすると機能しません。

次のcrossdomain.xmlファイルを作成しました

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-access-from domain="*" />
</cross-domain-policy> 

でアップロード

http://yy.com/crossdomain.xml

結果は非常に奇妙です。「yy.com」から1〜2枚の画像の読み込みを開始したようですが、その後停止します。この動作は、crossdomain.xmlファイルの有無にかかわらず発生します。

私がやろうとしていることは、何らかの方法で達成可能ですか?私の問題は、xx.comのスペースが非常に限られているため、swfやhtmlをアップロードできますが、実際のデータ(MBが多い)はアップロードできないことです。

4

3 に答える 3

1

これをcrossdomain.xmlファイルとして使用してみてください。これは私が使用しているものであり、常に私のために働いてきました。追加のallow-http-request-headers-fromノードがあります

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

<cross-domain-policy>
    <site-control permitted-cross-domain-policies="all"/>
    <allow-access-from domain="*" />
    <allow-http-request-headers-from domain="*" headers="*"/>
</cross-domain-policy>
于 2012-03-29T21:04:42.510 に答える
1

swf内のすべてを許可するように設定してください

Security.allowDomain("*");
于 2012-03-29T22:07:55.903 に答える
0

解決策は、次のようにLoaderContextをLoaderオブジェクトのload関数に追加することでした。

context = new LoaderContext(true);
loader.load( new URLRequest(name),  context );

その後、crossdomain.xmlファイルがチェックされました。

于 2012-03-30T09:52:55.097 に答える