我们正在创建使用被动态加载到主SWF模块的应用程序。我们碰上了,问题是,我们无法加载位于当我们在本地调试主要应用在测试服务器上的模块。我们得到的错误是“SWF是不是一个可加载模块。”

我看这件事,结果发现,我们需要授予权限,以从外部位置加载模块的服务器上的跨域文件。因此,我们创建了一个简单的跨域文件,并把该服务器上,但是这似乎并没有帮助。

这里的跨域文件:

<cross-domain-policy>
  <allow-access-from domain="*"/>
</cross-domain-policy>

我们加载通过使ModuleLoader类模块和所有默认设置,没有自定义应用程序域等。当我们部署主SWF到我们能够加载模块没有问题的服务器。

任何线索?为跨域文件可能丢失一些设置?

<强>更新:看来外部模块被成功地加载(我可以在HTTP嗅探器验证),但未能在主应用程序加载时进行初始化。错误仍然是“SWF不是一个可加载的模块)

有帮助吗?

解决方案

下面是从Adobe JIRA一个提议soultion: HTTP://bugs.adobe。 COM / JIRA /浏览/ SDK-15393

其他提示

我想的Adobe试图访问端口843跨域文件,如果它不能连接/找到端口上的文件时,它会尝试你试图连接到(可能是80,如果它的HTTP)的端口。不知道,但你可能要检查,以确保您的服务器允许访问该文件。

另外值得一提的是,你应该允许完全访问权限本地的SWF应用程序所在的目录。使用Adobe设置管理器操作: http://www.macromedia.com/support/documentation/烯/的Adobe Flash /帮助/ settings_manager04.html

作为一个方面说明,我想设置管理器是在闪存生态系统最糟糕的UI atrocoties之一。只是一个事实,即他们需要underneith经理文本澄清,这是逸岸不是一个真正的截图叫绝。

我同意,这可能是本地SWF和远程SWF之间的问题。尝试上传本地文件到服务器(任何服务器可以访问),或者,如果你有一个本地的Apache或IIS运行,请尝试使用的 HTTP://本地主机/ 。如果这样的作品,我们就会知道,这个问题是在本地文件和远程文件之间去。如果没有较发行或者是与crossdomain.xml的或者在你的代码,这是不太可能,但我们不应该排除这种可能性,只是还没有。如果确定问题是与使用本地SWF,然后添加设置管理本地文件夹(见MACKE的职位)

类似于我的跨域

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy 
  SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
  <allow-access-from domain="*" />
</cross-domain-policy>

这是在您的本地服务器的根目录,是否正确?

你检查你的目录权限?

下面是一个解决方案捆绑即可使用基于Adobe的建议。

http://aaronhardy.com/挠曲/加载-A-远程模块 - 进入 - 一个本地应用内/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top