我有一个奇怪的问题。我正在为XUL工具栏制作动作电影。我的工具栏在我的电脑上运行得很好。但是当在任何其他机器上运行时(没有调试Flash播放器)它只是不起作用,我有以下异常:
错误:错误#2067:此容器中的ExternalInterface不可用。 ExternalInterface需要Internet Explorer ActiveX,Firefox,Mozilla 1.7.5及更高版本,或其他支持NPRuntime的浏览器。
我在Mozilla 3.6上运行它
同样,我的闪光灯在我的电脑上正常工作,而不是在另一台电脑上工作。两者都是Flash Player 10,我的是调试版。
UPD:最后似乎ExternalInterface正在运行,但电影甚至还没有完全发挥作用。它在一些常量代码行中停止工作。我没有任何trace()调用等......
答案 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>