首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flash JSFL ExternalInterface问题

Flash JSFL ExternalInterface问题
EN

Stack Overflow用户
提问于 2010-02-05 01:18:20
回答 1查看 831关注 0票数 0

我无法通过ExternalInterface API从JSFL获得对SWFPanel的调用。我正在遵循here的说明,如下:

在SWF面板的场景1动作1中,我使用ExternalInterface注册了一个回调函数:

代码语言:javascript
复制
ExternalInterface.addCallback("appendTrace", this, appendTrace);

function appendTrace(traceString:String):Void {
    trace("appendTrace");
    traceBox.text = traceBox.text + traceString;
}

然后,在我的JSFL中,我遍历swf面板以定位swf面板,然后调用appendTrace方法,如下所示:

代码语言:javascript
复制
appendTrace("Received trace");
fl.trace("got here");
function appendTrace(traceString) {
var panels = fl.swfPanels;
var myPanel;
for (var i = 0; i < panels.length; i++) {
    if (panels[i].name == 'MyPanel') {
        myPanel = panels[i];
        break;
    }
}
if (myPanel) {
    myPanel.call("appendTrace", traceString);
} else {
    fl.trace("Can't find Panel.  Is it installed?");
}
}

调用了myPanel.call("appendTrace", traceString);行,但没有跟踪、附加任何内容,也没有抛出任何错误,所以看起来ExternalInterface并没有调用appendTrace方法。似乎所有的设置都是正确的,但我尝试了几种方法,但都不起作用。这种方法的一些常见问题是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-02-12 06:55:26

问题是我使用的是AS2而不是AS3。上面的SWF面板<->JSFL通信需要AS3 SWF面板。一旦我切换到AS3,它就起作用了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2201710

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档