Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/43.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OOP javascript中从flash到函数的外部接口调用_Javascript_Flash_Actionscript 3_Callback_Externalinterface - Fatal编程技术网

OOP javascript中从flash到函数的外部接口调用

OOP javascript中从flash到函数的外部接口调用,javascript,flash,actionscript-3,callback,externalinterface,Javascript,Flash,Actionscript 3,Callback,Externalinterface,当flash对象添加到javascript中的OOP结构中时,我无法从flash调用javascript函数。简而言之,守则: 瞬间: if (ExternalInterface.available) { ExternalInterface.call("flashMessages", "ready"); } javascript代码: function fbTeaserClass(){ function loadVideoObject(){ ...

当flash对象添加到javascript中的OOP结构中时,我无法从flash调用javascript函数。简而言之,守则:

瞬间:

if (ExternalInterface.available) {  
    ExternalInterface.call("flashMessages", "ready");
}
javascript代码:

function fbTeaserClass(){

    function loadVideoObject(){
         ...
         swfobject.embedSWF(sitebase+'/FocusVideo.swf', 'myContent'+uniqueid, '100%', '100%', '9.0.0', 'expressInstall.swf', flashvars, params, attributes, outputStatus);
     }

    this.flashMessages=function(message){
        alert('called');
    }

}

Flash已加载,但未收到对javascript函数的调用。有人知道怎么回事吗?

很可能是范围问题,您的函数位于对象内部,请尝试调用“fbtasterclass.flashMessage”,您可能还需要在另一个级别初始化flash。

您是对的。调用了一个名为flashMessages(){..}的函数(位于对象外部),但在FireFox中没有调用(其他浏览器会向我发出警报)。这是FireFox的常见问题吗?如果您更改代码以执行除
警报()
之外的其他操作,请更改页面上的某些内容,例如,这在FireFox中有效吗?FireFox确实存在一些问题,您的
属性
变量中有哪些内容?如果你能把所有的运行添加到
SWFObject
调用中,那就很方便了。在我的属性中,我有:var attributes={id:'flash'+uniqueid,name:'flash'+uniqueid}还有一些参数:var Params={allowscriptaccess:'always',wmode:'transparent',allowFullScreen:'true'};