0

似乎<iframe>没有complete像那样的属性<img>。因此,似乎 iframe 无法可靠地与onload. 对于<img>,我可以这样做:

$("img").on("load", loadFunc).each(function () {
    if (this.complete) {
        this.trigger("load");
    }
});

但是,如果您用它替换<img><iframe>并不能始终如一地工作。没有任何迹象表明任何地方<iframe>都有complete属性,所以我不希望这会起作用。

当 iframe 的内容可用时,是否有任何方法可以可靠地确定 iframe 何时加载或以其他方式触发事件?

4

3 回答 3

3

你可以试试这个:

$('#iframeid').ready(function () {
    //On Load Complete Code.
});

编辑:

没有注意到您想要 iframe 标记本身,而不是 id。但它似乎无论如何都有效。

这是一个例子:http: //jsfiddle.net/tFhhH/

于 2013-10-16T16:38:05.830 回答
0
$("#iframeid").load(function (){
// At this point the iframe window is fully loaded
// no need to check for an additional "complete" state
});

$().ready另一方面会告诉你 DOM 何时完全加载。这可能发生在 onload 事件之前。

于 2013-10-16T17:32:23.510 回答
0

一个想法可能是处理 iframe 的加载事件并将变量设置为 true 并调用该事件。然后您只需要检查该变量以查看 iframe 是否已加载。

于 2013-10-16T16:55:50.473 回答