【问题标题】:ExternalInterface call from flash to function in OOP javascript从 Flash 调用 ExternalInterface 到 OOP javascript 中的函数
【发布时间】:2011-05-21 21:42:33
【问题描述】:

当 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 函数的调用。任何人有什么想法有什么问题吗?

【问题讨论】:

    标签: javascript flash actionscript-3 callback externalinterface


    【解决方案1】:

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

    【讨论】:

    • 你是对的。调用了一个名为 flashMessages(){..} 的函数(放置在对象之外),只是在 FireFox 中没有调用(其他浏览器给我警报)。这是 FireFox 的常见问题吗?
    • 如果您更改代码以执行 alert() 以外的其他操作,例如更改页面上的某些内容,这在 FireFox 中有效吗?
    • FireFox 确实有一些问题,你的 attributes 变量中有什么?如果您可以将所有运行添加到SWFObject 调用中,那将很方便。
    • 在我的属性中我有: var attributes = { id: 'flash'+uniqueid, name: 'flash'+uniqueid }
    • 还有一些Params: var params = { allowscriptaccess: 'always', wmode: 'transparent', allowFullScreen: 'true' };
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    相关资源
    最近更新 更多