出于某种原因,每当我通过写入div在$(document).ready()上动态加载swf 时,我无法对浏览器进行javascript调用。具体来说,对浏览器的所有调用都返回“null”。将swf正常嵌入页面加载时不会发生这种情况,但我想阻止加载swf直到指定的时间点。
这到底是怎么回事?有关动态嵌入swf以防止swf与浏览器通信的问题吗?方法被调用(我通过显示警告证明了这一点),但是无论返回什么类型,任何函数的所有返回值都显示为空时闪烁。
这是flex的错误,还是我完全错过了什么?这对我来说是一个令人头痛的问题。
答案 0 :(得分:1)
切换到swfobject2.2以嵌入swf可以神奇地缓解这个问题。
答案 1 :(得分:0)
我假设您正在使用ExternalInterface.call(或者可能是.addcallback)?你可以发布一些代码(特别是来自JS方面)吗?
答案 2 :(得分:0)
我遇到了这个确切的问题并使用原型PeriodicalExecuter
以这种(略微icky)的方式绕过它:
Event.observe(window, 'load', function() {
//Check to see if the flash function is available once per second.
new PeriodicalExecuter( function(pe) {
var flash = $('flashObject');
if(typeof flash.myFlashFunc == 'function'){
//At this point, the flash function is available
pe.stop()
}
}, 1);
});
更新到最新版本可能是最好的方法。我必须在我的最后尝试。