I need to host my full-Flash SWF site on "xx.com" server. But all graphics and sounds have to be loaded off "yy.com" server.

Inside my AS3 code, all data is loaded by absolute addresses, e.g:

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

If I run the swf locally, either from within the Flash authoring tool, or a local .html file, or by double-clicking the swf, it works fine. All data is downloaded from "yy.com" and the site displayed properly.

It WON'T work if I upload the swf on "xx.com" and load it off there.

I have created the following crossdomain.xml file

<?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> 

and uploaded at

http://yy.com/crossdomain.xml

The result is quite strange : it seems to start loading 1-2 images off "yy.com", but then it halts. This behaviour happens with or without the crossdomain.xml file.

Is what I am trying to do achievable in some way? My problem is that xx.com has very limited space so I can upload the swf and/or the html on it, but not the actual data (which is lots of MBs).

有帮助吗?

解决方案 3

The solution was to add a LoaderContext to the load function of the Loader objects, like this :

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

Only then was the crossdomain.xml file checked.

其他提示

try using this as your crossdomain.xml file. This is the one I use and it has always worked for me. It has that extra allow-http-request-headers-from node

<?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>

Make sure you set allow all inside your swf's

Security.allowDomain("*");
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top