2

ExternalInterface在我的 AS3 项目中使用通过 Javascript 做一些事情,但现在我需要使用它来调用属于某个对象的某些函数。

像这样的东西(AS3):

ExternalInterface.call("VIEWER.loadComplete");

JS代码:

var VIEWER = {
    loadComplete: function(){
        $('#'+this.maindiv).children('.mask').hide();
        $('#'+this.viewer).css({
            width:      '640px', 
            height:     '480px',
            overflow:   ''
        });
    }
}

这在 Chrome 中不起作用(仅适用于 Firefox,我也不知道为什么)。有人可以用这种方式澄清我吗?

4

2 回答 2

2

Chrome 版播放器存在问题,您在 Flash Player 全局设置中设置的规则不被该播放器使用/加载。因此,您总是会遇到沙盒安全错误,并且外部接口无法正常工作。

您需要进入 chrome 插件页面chrome://plugins/并停用PPAPIFlash Player 的(Pepper API,Chrome 版本)版本并仅启用该NPAPI版本(经典)。

于 2013-04-28T13:29:32.023 回答
1

我解决了自己的问题,将以下内容添加到嵌入 HTML 中的 SWF 对象中:

<param name="AllowScriptAccess" value="always">

现在我的 SWF 可以调用ExternalInterface(即使在 Chrome 中)。

于 2013-04-30T10:35:06.117 回答