【问题标题】:ExternalInterface.addCallback not working?ExternalInterface.addCallback 不起作用?
【发布时间】:2009-04-20 17:21:38
【问题描述】:

我有一个 Flash/AS3 项目我正在尝试添加回调,我添加了这样的回调:

ExternalInterface.addCallback('force_refresh',force_refresh);

我是这样从 JS 调用的:

function thisMovie(movieName) {
    if (navigator.appName.indexOf("Microsoft") != -1) {
        return window[movieName];
    } else {
        return document[movieName];
    }
}
function forceRefresh() {
    thisMovie("monthly_goals").force_refresh();
}

我确定我正在导入 ExternalInterface 类,我将 allowScriptAccess 设置为“always”, 我提醒 thisMovie("monthly_goals") 并确认 JS 看到了该对象。

不知道为什么它不能工作?有什么想法吗?

谢谢。

【问题讨论】:

  • 外部接口是否可用?
  • @DG 是什么意思?它在 flash.external 包中,如果这就是您的意思,它不是仅 Flex 包。

标签: flash actionscript-3 callback externalinterface


【解决方案1】:

所以我的回调方法需要一个参数,而从 JS 调用它时我没有传递一个参数,所以我猜它只是默默地失败了。

【讨论】:

  • 如果您使用调试 Flash 播放器,它应该不会静默失败,但会为您提供一个带有堆栈跟踪和异常文本的模式对话框。
  • 感谢您的评论,为了测试这一点,虽然我必须将它嵌入到网页中以便 JS 调用该方法,我不确定是否有办法运行那样调试?
  • 如果您有调试器版本的 Flash,它会在嵌入网页时提示错误。
猜你喜欢
  • 2010-12-13
  • 1970-01-01
  • 1970-01-01
  • 2011-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-06
  • 2011-11-14
相关资源
最近更新 更多