我正在开发一款Flash游戏,需要在页面上调用一些Javascript并从中获取数据.从Flash调用Javascript工作.从Javascript(通常)调用Flash函数不会.
我正在使用Gaia框架.
怎么了:
ExternalInterface.call()
调用Javascript函数.这有效.ExternalInterface.addCallback()
.TypeError: myFlash.testCallback is not a function
.addCallback()
.Gaia及其中包含的一些库使用addCallback()
,从Javascript调用这些函数也会产生TypeError.addCallback()
定期重试并不能解决错误ExternalInterface.available = true
并ExternalInterface.objectID
包含Flash嵌入对象的正确名称.document.getElementById('myflashcontent')
正确返回Flash嵌入对象.编辑添加:
ExternalInterface.addCallback()
被包裹在一个try...catch
街区.发生JS错误时,不会触发该catch
块.这是一场无声的失败.allowScriptAccess = always
.flash.system.Security.allowDomain("mydomain")
不能解决错误.从我的Page类:
public class MyPage extends AbstractPage
{
// declarations of stage instances and class variables …
Run Code Online (Sandbox Code Playgroud)