如果load-event已经触发,则将load-event绑定到iframe或run function

时间:2015-05-29 14:45:35

标签: javascript jquery iframe event-handling

我想将load-event绑定到iframe:

var callback = function() {
    //Loaded
};
$('iframe').one('load', callback);

这很好用,除了我不能确定iframe尚未加载。在这种情况下,load-event已经被触发,我的函数将永远不会运行。

如何检查iframe是否已加载?

var callback = function() {
    //Loaded
};
if(iframe already loaded) {
    callback();
} else {
    $('iframe').one('load', callback);
}

1 个答案:

答案 0 :(得分:1)

您可以查看readyState

var iframe = $('iframe');
if (iframe.prop('contentWindow') && iframe.prop('contentWindow').document.readyState === 'complete') {
    callback();
} else {
    iframe.one('load', callback);
}