实现方法
网上查找到的比较多的解决办法为:
var iframe = document.createElement("iframe");
iframe.src = "simpleinner.htm";
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);
这种方式可以完美的解决兼容问题。如果使用JQuery的话,可以使用load方法来替换以上代码
$('#dialog iframe').load(function(){
console.log("JQuery");
});
可能存在的问题
测试IE与FF都没有问题,而Chrome下却不触发事件。
Chrom下使用load()函数读取页面有个先决条件,就是要有个服务器环境,我把页面放在iis下面,就好使了这个问题在老版本的chrome下可能会出现。
Chrome与IE、FF不同的是加载方式的不同,Chrome在url为空的情况下不处罚load事件,而IE与FF都会触发,所以IE与FF比Chrome多触发一次事件。