我从Flash调用Javascript(JS)函数来加载一些数据,并在数据加载时显示Flash加载动画。
JS功能:
getLMSObjectivesStatus()
由于AJAX调用,需要一些时间才能完成(例如> 30秒)。正如所料,如果我直接调用JS函数,Flash会在等待回复时挂起。
为了解决这个问题,我通过调用Flash中的一个不同的JS函数将Flash与Javascript分离,后者使用setTimeout中的匿名函数调用原始的JS函数:
function delayedCallToGetObjectives(){
setTimeout(function(){getLMSObjectivesStatus()},200);
}
这适用于Firefox / Chrome,因为它允许Flash继续加载动画而无需等待JS的响应。缓慢的JS函数完成后,它会调用Flash告诉它使用检索到的数据并继续。可爱,生气!
当我使用setTimeout时,IE不会将Flash与JS分离。 Flash等待两者时挂起:
delayedCallToGetObjectives()
和
getLMSObjectivesStatus()
完成。我已通过记录进度进行检查,订单告诉我这肯定是发生了什么。
有谁知道为什么这是在IE中,是否有任何修复/解决方法?