一、Iframe标记的?/strong>
提vIframeQ可能你早已之扔到'被遗忘的角落”了Q不q,说v其兄弟Frame׃会陌生了。Frame标记卛_标记Q我们所说的多
l构是在一个浏览器H口中显C多个HTML文g。现在,我们遇到一U很现实的情况:如有一个教E,是一节一节地上,每页末尾做一?
'上一??下一?的链接,除了每节教程内容不同之外Q页面其它部分内定w是相同的Q如果一一地做笨面Q这g太让人厌
烦了Q这时突发奇惻I如果有一U方法让面其它地方不变Q只教E做成一一늚内容,不含其它内容Q在点击上下页链接Ӟ只改
变教E内定w分,其它保持不变Q这P一是省Ӟ另则以后如教E有个三长两短的变动Q也很方便,不致于牵一发而动全军?更重要的?
那些广告Banner、栏目列表、导航等几乎每页的都有的东西只下载一ơ后׃再下载了?
Iframe标记Q又叫Q动标记Q你可以用它一个HTML文档嵌入在一个HTML中显C。它不同于Frame标记最大的特征卌个标记所引用
的HTML文g不是与另外的HTML文g怺独立昄Q而是可以直接嵌入在一个HTML文g中,与这个HTML文g内容怺融合Q成Z个整体,
另外Q还可以多次在一个页面内昄同一内容Q而不必重复写内容Q一个Ş象的比喻?M?电视?
现在我们谈一下Iframe标记的用?
Iframe标记的用格式是:
<Iframe src="URL" width="x" height="x" scrolling="[OPTION]" frameborder="x"></iframe>
srcQ文件的路径Q既可是HTML文gQ也可以是文本、ASP{;
width、heightQ?M?区域的宽与高Q?
scrolling:当SRC的指定的HTML文g在指定的区域不显不完Ӟ滚动选项Q如果设|ؓNOQ则不出现滚动条Q如为AutoQ则自动出现滚动
条;如ؓYesQ则昄;
FrameBorderQ区域边框的宽度Qؓ了让'M?与邻q的内容相融合,常设|ؓ0?
比如:
<Iframe src="http://netschool.cpcw.com/homepage width="250" height="200" scrolling="no" frameborder="0"></iframe>
二、父H体与Q动之间的相互控?/strong>
在脚本语a与对象层ơ中Q包含Iframe的窗口我们称之ؓ父窗体,而Q动则称为子H体Q弄清这两者的关系很重要,因ؓ要在父窗?
中访问子H体或相反都必须清楚对象层次Q才能通过E序来访问ƈ控制H体?
1、在父窗体中讉Kq控制子H体中的对象
在父H体中,Iframe卛_H体是document对象的一个子对象Q可以直接在脚本中访问子H体中的对象?
现在有一个问题,卻I我们怎样来控制这个IframeQ这里需要讲一下Iframe对象。当我们l这个标记设|了ID 属性后Q就可通过文档
对象模型DOM对Iframe所含的HTMLq行一pd控制?
比如在example.htm里嵌入test.htm文gQƈ控制test.htm里一些标记对象:
<Iframe src="test.htm" id="test" width="250" height="200" scrolling="no" frameborder="0"></iframe>
test.htm文g代码?
<html>
<body>
<h1 id="myH1">hello,my boy</h1>
</body>
</html>
如我们要改变ID号ؓmyH1的H1标记里的文字为hello,my dearQ则可用:
document.myH1.innerText="hello,my dear"(其中Qdocument可省)
在example.htm文g中,Iframe标记对象所指的子窗体与一般的DHTML对象模型一_对对象访问控制方式一P׃再赘q?
2、在子窗体中讉Kq控制父H体中对?/strong>
在子H体中我们可以通过其parent即父Q双Ԍ对象来访问父H口中的对象?
如example.htmQ?
<html>
<body onclick="alert(tt.myH1.innerHTML)">
<Iframe name="tt" src="frame1.htm" width="250" height="200" scrolling="no" frameborder="0"></iframe>
<h1 id="myH2">hello,my wife</h1>
</body>
</html>
如果要在frame1.htm中访问ID号ؓmyH2中的标题文字q将之改?hello,my friend"Q我们就可以q样写:
parent.myH2.innerText="hello,my friend"
q里parent对象׃表当前窗?example.htm所在窗?Q要在子H体中访问父H体中的对象Q无一例外都通过parent对象来进行?
Iframe虽然内嵌在另一个HTML文g中,但它保持相对的独立,是一?独立王国'哟,在单一HTML中的Ҏ同样适用于Q动中?
试想一下,通过Iframe标记Q我们可那些不变的内容以Iframe来表C,q样Q不必重复写相同的内容,q有点象E序设计中的q程?
函数Q减省了多少J琐的手工劳动!另外Q至关重要的是,它ə面的修Ҏ为可行,因ؓQ不必因为版式的调整而修Ҏ个页面,你只需
修改一个父H体的版式即可了?
有一点要注意QNestscape览器不支持Iframe标记Q但在时下IE的天下,q似乎也无大,q泛采用Iframe标记Q既?
三、IFrame也可以编辑文?/strong>
有没有想q除了表?<form>)之外q有其它的网元素可以编辑文字呢Q只要用IFrame的隐藏的一个属性就可以使IFrame成ؓ一个文本编辑器?
<html>
<body onload="editer.document.designMode='On'">
<IFrame ID="editer"></IFrame>
</body>
</html>
其中designMode属性表CIFrame的设计模式的状态(开/养IQ还在犹豫什么呢Q快试试吧!
只要巧妙的利用这一Ҏ就可以制作很多意想不到的效果。如果下面我们来做一个图片编辑器?
<html>
<body onload="imgEditer.document.designMode='On';imgEditer.document.write('<img src=囄.gif>')">
<IFrame id="imgEditer"></IFrame>
</body>
</html>