http://www.jb51.net/article/25128.htm
Generally speaking, judging whether the iframe is loaded is actually the same as judging whether the JavaScript file is loaded.
The approach taken is very similar:
var iframe = document.createElement("iframe");
iframe.src = "http://www.jb51.net";
if (!/*@cc_on!@*/0) { //if not IE
iframe.onload = function(){
alert("Local iframe is now loaded.");
};
} else {
iframe.onreadystatechange = function(){
if (iframe.readyState == "complete"){
alert("Local iframe is now loaded.");
}
};
}
document.body.appendChild(iframe);
Recently, Christopher in the comments of Nicholas C. Zakas ' article "Iframes, onload, and document.domain" provided a new judgment method (perfect):
var iframe = document.createElement("iframe");
iframe.src = "http://sc.jb51.net";
if (iframe.attachEvent){
iframe.attachEvent("onload", function(){
alert("Local iframe is now loaded.");
});
} else {
iframe.onload = function(){
alert("Local iframe is now loaded.");
};
}
document.body.appendChild(iframe);
A few additional notes:
IE supports the onload event of iframe, but it is invisible and needs to be registered through attachEvent.
The second method is more perfect than the first because the readystatechange event has some potential problems with the load event.