跨域问题:从子域加载swf时,swf框架脚本未调用



我有character.swf(与flash CS6一起发布),它包含角色动画和一些简单的帧脚本,这些脚本位于子movieClips(gotoAndPlay()、stop()等)和game.swf-加载character.swf的主程序中,以便在游戏中使用。

如果游戏和角色在同一个域中(http://client.mygame.com)然后character.swf中的框架脚本运行良好。但如果我把字符放到不同的域(http://resources.mygame.com)则帧脚本不起作用。可能根本没有嫉妒。

crossdomain.xml是正确的,并且所有swf-s都包含允许域代码,例如:

Security.allowDomain("*");
Security.allowInsecureDomain("*");

有什么想法吗?

[upd]我发现脚本工作的行为有一些模式。似乎只有当我通过ApplicationDomain.getDefinition(className)创建一个字符实例时,它们才不起作用。如果我直接使用加载的内容,脚本就会起的作用

首先,任何安全错误都会被跟踪到输出中,你能确认在输出中没有看到任何错误吗?用Loader加载character.swf时,是否设置了checkPolicyFile?检查您是否有以下内容:LoaderContext-checkPolicyFile

最新更新