我在我的AS3项目中使用ExternalInterface
通过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,我也不知道为什么)。有人能以这种方式澄清我吗?
答案 0 :(得分:2)
Chrome播放器版本存在问题,您在Flash Player全局设置中设置的规则不会被此播放器使用/加载。所以你总是得到沙箱安全错误,外部接口不起作用。
您需要访问Chrome插件页chrome://plugins/
并停用Flash Player的PPAPI
(Pepper API,Chrome版)版本,并仅启用NPAPI
版本(经典版)
答案 1 :(得分:1)
我解决了自己的问题,将以下内容添加到嵌入HTML的SWF对象中:
<param name="AllowScriptAccess" value="always">
现在我的SWF可以拨打ExternalInterface
(即使在Chrome中)。