我正在从 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 中,请问有什么修复/解决方法吗?