我正在开发一个项目,我需要使用flash和as2将远程swf文件加载到另一个文件中。这应该很简单,但是远程swf文件是按模块设计的(即需要调用以将其他swf文件加载到其中)
当我从Web浏览器输入远程swf文件的位置时,加载没有问题。
当我尝试使用flash加载swf文件时,我收到与文件系统有关的错误。闪存加载到我的闪存中似乎正在尝试加载其他部分并在我的计算机上查找它们。
注意相对的../common/interface_engine.swf参考
*** Security Sandbox Violation ***
Connection to ../common/interface_engine.swf halted - not permitted from http://www.remote-domain.com
-- Remote SWFs may not access local files.
为什么网页浏览器没有任何问题加载像这样的swf?我对闪存使用的加载技术和Web浏览器使用的技术没有区别。
我用来加载远程文件的代码
_root.createEmptyMovieClip("container", 1);
loadMovie(gamePath, "container");
答案 0 :(得分:1)
出于安全原因,Flash不允许本地运行的文件可以访问本地资源和远程资源。你可以拥有一个或另一个。当您加载的swf指的是“../common/blah”时,它相对于它被加载的位置。
这是一篇关于Flash安全性的更深入的文章: http://www.senocular.com/flash/tutorials/contentdomains/