2011-05-15 32 views
1

我在为我的网站在Flash中写MP3播放器。它需要首先加载xml文件(从外部来源)与.mp3信息然后.mp3文件。我使用URLLoader.load来加载xml文件。意外的安全问题 - 本地在浏览器与服务器对比

当我在浏览器(从本地源)运行我的.swf时,它会抛出SecurityException,所以我必须编辑Global Security Settings添加文件的路径,它的工作原理。当我上传到服务器上,并从服务器运行,它也抛出SecurityError,但我不知道编辑全局安全设置是否会有所帮助(或者说为什么它不工作,我试图添加所有可能的路径和它不工作)。

有没有解决方法? 干杯

回答

2

如果在远程服务器上放置跨域文件不是一个选项,那么您需要使用您在服务器上调用的代理脚本(例如PHP)。然后,它可以加载XML而不用担心Flash的安全沙箱,Flash认为它收到的XML来自服务器。

1

您需要设置一个跨域策略文件。请检查security chapter from programming as3。从左侧面板选择Programming ActionScript 3.0 -> Flash Player security -> Loading data

+0

东西是外部源不是我的www,所以我不能把crossdomain.xml放在那里。所以我认为这种类型的行为是允许在本地www通信和不允许www-www通信?那么解决方案可能是其他编程语言的代理?在flash/as3中没有解决方案? – f1ames 2011-05-15 13:29:27

+0

你是什么意思?有许多与服务器通信的Flash游戏。您正在寻找这种类型的加载数据吗? – taskinoor 2011-05-15 13:35:26

+0

我的意思是,当我的.swf嵌入在www网站上时,它不能从没有crossdomain.xml(带有许可证)的网站上从另一个www(不是我的)下载.xml文件? – f1ames 2011-05-15 13:56:55

相关问题