AS3 | SWF加载问题

时间:2014-03-04 12:32:25

标签: actionscript-3

当我将项目导出为swf文件时,它不会从url地址加载XML文件。来自网址的图片。我正在尝试将其导出为ex​​e文件并且它可以正常工作。使用Adobe Flash中的Ctrl + Enter也可以。如何解决?

2 个答案:

答案 0 :(得分:1)

  1. 在调试模式下,禁用跨域安全检查(这就是允许您使用ctrl + enter执行此操作的原因)
  2. 作为exe,您已经处于不同的上下文中,允许您从任何URL加载文件,因为您的exe在dekstop上运行。
  3. 要解决此问题,您需要处于以下某种情况之一:

    a)您从与swf相同的域中加载数据,

    例如:您的swf位于mysite.com/myflash.swf并从mysite.com/somefile.xml加载xml

    b)您从不同的域加载数据,在这种情况下,您需要在从

    加载xml的域的根URL中使用跨域domain.xml文件

    例如:您现在从someothersite.com/somefile.xml

    加载xml

    有关您可以通过Google查找的跨域域和安全策略的更多详细信息..

    Can someone post a well formed crossdomain.xml sample?

    http://www.adobe.com/devnet/adobe-media-server/articles/cross-domain-xml-for-streaming.html

答案 1 :(得分:0)

如果您的XML文件仍然是本地的(即,没有上传到实时服务器),默认情况下,大多数浏览器都会阻止.swf文件加载本地文件。
您可以将浏览器设置为在允许访问本地文件时打开,例如:
在桌面上放置Chrome的快捷方式。右键单击它,然后单击属性。在“目标”字段中,添加...

--allow-file-access-from-files

...在.exe之后 这应该允许您加载XML文件。