【发布时间】:2012-06-01 18:23:16
【问题描述】:
我遇到了一个问题,即我的应用位于 iframe 中,并且是从外部域调用的。当 iframe 正确加载时,IE9 不会触发 load 事件,所以我认为我无法使用 setTimeout 来轮询页面。
无论如何,我想看看我的 setTimeout 完成通常需要多长时间,所以我希望能够记录 setTimeout 从我的回调中触发的延迟,但我不确定如何将该上下文传递给它所以我可以记录它。
App.readyIE9 = function() {
var timings = [1,250,500,750,1000,1500,2000,3000];
for(var i = 0; i < timings.length; i++) {
var func = function() {
if(App.ready_loaded) return;
console.log(timings[i]);
App.readyCallBack();
};
setTimeout(func,timings[i]);
}
};
我不断收到 LOG: undefined in IE9's console.
实现此目的的正确方法是什么?
谢谢
【问题讨论】:
-
如果你让它更通用,这可能是一个更好的问题,例如从
timing和所有带有App的行中删除这么多值!
标签: javascript jquery internet-explorer-9 closures document-ready