好的我有一个flex应用程序,我正在添加这样的回调方法:
private function init():void
{
ExternalInterface.addCallback( "playVideo", playVideo );
}
private function playVideo(videoSource:String):Boolean
{
videoDisplay.source = videoSource;
return true;
}
我用这样的javascript调用它:
function showVideo(video)
{
document.getElementById("video_overlay").style.display = "block";
//alert('no error');
document.getElementById("MiniMacVideoPreview").playVideo('https://www.kranichs.com/instore/minimac/videos/'+video);
}
我收到此javascript错误:
Object不支持此属性 或方法。
但是,如果我取消注释并首先运行警报。我没有错误,它完美无缺。
我的第一个想法是警报是在脚本执行之前购买时间,所以我试图在setTimeout()内运行脚本但是没有用。
有什么想法吗?
谢谢!
答案 0 :(得分:2)
我会尝试将你的代码放在像jquery这样的东西中
$(window).load
功能。我觉得你是完全正确的。当您关闭警报时,dom和内容已完成加载,您可以创建ExternalInterface回调方法。
否则,如果您使用的是swfobject,则可以执行类似
的操作swfobject.addLoadEvent(function() {
$("#swf_id").get(0).inited(callSomeOtherFunction());
});