真的对 LocalConnection 的片状行为感到困惑。使用使用 localConnection 工作的调试实用程序(LuminicBox)。
当包含 swf 的页面在本地加载到浏览器中时,localConnection 起作用。
当在远程站点上“实时”查看相同的页面和 swf 时,localConnection 失败。
有人遇到这个吗??
真的对 LocalConnection 的片状行为感到困惑。使用使用 localConnection 工作的调试实用程序(LuminicBox)。
当包含 swf 的页面在本地加载到浏览器中时,localConnection 起作用。
当在远程站点上“实时”查看相同的页面和 swf 时,localConnection 失败。
有人遇到这个吗??
默认情况下,LocalConnection 允许从同一域加载的 swf 之间进行通信。当您在浏览器中加载 swf 时,调试实用程序也必须从同一域加载到浏览器中。
您可以让 LocalConnection 跨域工作,但它需要更多配置。这是 Flex 的有关该主题的文档的链接。这个问题对于 Flash/Flex 也是一样的。
http://livedocs.adobe.com/flex/3/langref/flash/net/LocalConnection.html
我没有使用过LuminicBox
,但如果您有权访问初始化接收LocalConnection
对象的代码,请调用该对象。allowDomain
("your.domain")
var lc:LocalConnection = new LocalConnection()
lc.allowDomain("your.domain.com");
//or even better - allow all domains
lc.allowDomain("*");
如果接收 SWF 托管在 HTTPS 页面上,而发送方托管在普通页面上,则需要调用allowInsecureDomain
.
lc.allowInsecureDomain("your.domain.com");
我认为问题的一部分是我无法访问初始化接收 LocalConnection 对象的代码,只是发送 LC(我的应用程序)。
不过,我假设调试实用程序的作者肯定会使用 lc.allowDomain("*"); 将进一步检查。
我知道的唯一另一个原因是,当您尝试打开一个新连接时,现有的 LC 连接已经打开。