本文主要來(lái)講述一下 iframe 的用法與注意事項(xiàng):
好多同志對(duì) iframe 是如何控制的,并不是十分了解,基本上還處于一個(gè)模糊的認(rèn)識(shí)狀態(tài).
注意兩個(gè)事項(xiàng),ifr 是一個(gè)以存在的 iframe 的 ID 和 NAME 值:
document.getElementById(“ifr”);
window.frames[“ifr”];
要想使用iframe內(nèi)的函數(shù),變量就必須通過(guò)第二種方法.因?yàn)樗〉氖且粋€(gè)完整的DOM模型(不知道這樣說(shuō)對(duì)不對(duì)).第一種方法只是取出了一個(gè)OBJECT而已.
如果只想改變iframe的 src 或者 border , scrolling 等 attributes(與property不是一個(gè)概念,property是不能寫(xiě)在標(biāo)簽內(nèi)的,比如:scrollHeight,innerHTML等),就需要用到第一種方法.
如果想取得iframe的頁(yè)面(不是iframe本身),就需要使用第二種方法,因?yàn)樗〉玫氖且粋€(gè)完整的DOM模型,比如想得到iframe的document.body的內(nèi)容,就只能用第二種方法.
還要注意的是,如果在iframe的頁(yè)面未完全裝入的時(shí)候,調(diào)用iframe的DOM模型,會(huì)發(fā)生很?chē)?yán)重的錯(cuò)誤,所以,你要準(zhǔn)備一個(gè)容錯(cuò)模式.
下面是示例,一個(gè)是aa.htm,一個(gè)是bb.htm,請(qǐng)先考到本地在運(yùn)行,原因不用我在說(shuō)了吧!
aa.htm
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]
bb.htm
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁(yè)面才能執(zhí)行]