嵌入式闪存(使用XUL)无法在没有调试Flash播放器的情况下工作

时间:2011-02-11 23:19:15

标签: flash actionscript xul

我有一个奇怪的问题。我正在为XUL工具栏制作动作电影。我的工具栏在我的电脑上运行得很好。但是当在任何其他机器上运行时(没有调试Flash播放器)它只是不起作用,我有以下异常:

错误:错误#2067:此容器中的ExternalInterface不可用。 ExternalInterface需要Internet Explorer ActiveX,Firefox,Mozilla 1.7.5及更高版本,或其他支持NPRuntime的浏览器。

我在Mozilla 3.6上运行它

同样,我的闪光灯在我的电脑上正常工作,而不是在另一台电脑上工作。两者都是Flash Player 10,我的是调试版。

UPD:最后似乎ExternalInterface正在运行,但电影甚至还没有完全发挥作用。它在一些常量代码行中停止工作。我没有任何trace()调用等......

3 个答案:

答案 0 :(得分:1)

听起来有点像安全沙箱错误。

您是在本地运营还是从网络运营?

(这是我第一次听说过XUL,猜猜我一直在摇滚之下)

*的修改

根据我的经验,如果你从网络服务器运行它,闪存播放器可以避免从本地机器允许某些类型的网络访问,它应该运行良好。

它也可能需要用html包装来支持通过ExternalInterface

的javascript调用

如果只是你需要运行它,你可以通过降低闪存安全设置来实现它。

http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html#117502

另外,请问您使用的是ExternalInterface是什么?

答案 1 :(得分:0)

你是否设法在任何其他电脑上启动它?你确定.swf位置被添加到Global Security Settings panel吗?

答案 2 :(得分:0)

这看起来真的像沙盒问题。我从Flash Builder 4导出发布版本。我不知道如何在构建时管理沙箱属性。我用XUL标签创建了swfplayer对象:

<toolbaritem id="swf-container-item" persist="width">
<html:embed hidden="true" wmode="transparent" id="sd-player" height="20px" width="200px" menu="false"
src="chrome://sdolsbar/content/out.swf" allowscriptaccess='always' align='center'
flashvars="" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</toolbaritem>