【问题标题】:Control flash with javascript when different domains?不同域时用javascript控制flash?
【发布时间】:2012-03-21 10:35:31
【问题描述】:

我的服务器上有一个网站,它加载一个 .swf 文件,然后我希望能够从 javascript 调用该文件中的函数。

我的服务器有域 www.A.com,我从域 www.B.com 加载 Flash 文件:

<object id="mp3player" data="http://www.B.com/mp3player.swf" />

然后我尝试用Javascript调用flash文件中的一个函数:

mp3player.playSound("http://www.C.com/song.mp3");

这行不通。在 Javascript 控制台 我得到了

mp3player.playSound 不是函数

如果我从 www.A.com 而不是 www.B.com 调用 Flash 文件,这将完美无误。 在我的 mp3player.swf 我已经添加了这一行

Security.allowDomain("*");

这让我发疯!任何帮助都深表感谢。

【问题讨论】:

  • 您是否为所有域添加了cross-domain policy
  • 我看不出原因。我想从 javascript 中调用 flash 中的函数,反之亦然。

标签: javascript html flash cross-domain


【解决方案1】:

一个疯狂的猜测是与服务器 B 的连接比与服务器 A 的连接慢,因此 A 比 B 快,这导致 javascript 尝试加载计算机尚未收到的文件。 (我用了还没有正确吗?还是应该没有?Bleh)

【讨论】:

  • 我认为还没有是正确的,尽管根据dictionary.com,这个网站english.stackexchange.com/search?q=hasn%27t+versus+haven%27t 的争论更多,has - 第三人称单数现在表示有。所以其他的东西,计算机(第三人称,单数),存在于动词时态的存在和指示性中,因为它暗示了正在发生的事实。 grammar.about.com/od/il/g/indicmoodterm.htm 如果我只关注英语,我就不必查找所有内容了。但我不同意你的回答,我可能是错的,但我认为马蒂是对的。
【解决方案2】:

您是否在 HTML 页面中正确设置了 allowScriptAccess? http://help.adobe.com/en_US/flex/using/WS2db454920e96a9e51e63e3d11c0bf69084-7ea6.html

【讨论】:

  • allowScriptAccess 仅用于从闪存到页面的通信。我想要的是相反的
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-01-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多