一般來(lái)說(shuō),我們判斷 iframe 是否加載完成其實(shí)與 判斷 JavaScript 文件是否加載完成 采用的方法很類似:
var iframe = document.createElement("iframe"); iframe.src = "http://www.planabc.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);
最近, Nicholas C. Zakas 文章《Iframes, onload, and document.domain》的評(píng)論中 Christopher 提供了一個(gè)新的判斷方法(很完美):
var iframe = document.createElement("iframe"); iframe.src = http://www.planabc.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);
幾點(diǎn)補(bǔ)充說(shuō)明:
- IE 支持 iframe 的 onload 事件,不過(guò)是隱形的,需要通過(guò) attachEvent 來(lái)注冊(cè)。
- 第二種方法比第一種方法更完美,因?yàn)?readystatechange 事件相對(duì)于 load 事件有一些潛在的問(wèn)題。
原文:http://www.planabc.net/2009/09/22/iframe_onload/
本文鏈接:http://www.95time.cn/tech/web/2009/7024.asp
出處:藍(lán)色理想
責(zé)任編輯:bluehearts
◎進(jìn)入論壇網(wǎng)頁(yè)制作、WEB標(biāo)準(zhǔn)化版塊參加討論,我還想發(fā)表評(píng)論。
|