查看: 7805|回复: 0

谈IFRAME标签的使用----父窗体与浮动帧之间的相互控制

[复制链接]
发表于 2009-4-27 14:50:42 | 显示全部楼层 |阅读模式
IFRAME标签的使用----父窗体与浮动帧之间的相互控制
4 u- e  g0 n5 t0 }8 e7 ~+ f, r* X  在脚本语言与对象层次中,包含Iframe的窗口我们称之为父窗体,而浮动帧则称为子窗体,弄清这两者的关系很重要,因为要在父窗体中访问子窗体或相反都必须清楚对象层次,才能通过程序来访问并控制窗体。
4 I2 i% ^, a" }( f% B9 T( d6 |  1、在父窗体中访问并控制子窗体中的对象
! G; j+ W: S6 K* ^/ |+ K  在父窗体中,Iframe即子窗体是document对象的一个子对象,可以直接在脚本中访问子窗体中的对象。2 l7 B" a7 f, J: o" s
  现在就有一个问题,即,我们怎样来控制这个Iframe,这里需要讲一下Iframe对象。当我们给这个标记设置了ID属性后,就可通过茶叶网站文档对象模型DOMIframe所含的HTML进行一系列控制。' y% _/ k% a2 }) P) `3 s. k$ `
  比如在example.htm里嵌入test.htm文件,并控制test.htm里一些标记对象: <Iframesrc="test.htm"id="test"width="250"height="200"scrolling="no"frameborder="0"></iframe>5 L; Y- O+ G; c% Q) X- ~
  test.htm文件代码为:
& P3 X1 }$ k; ~+ P9 |  <html>- n/ O: J' W! v. i( [' ~% |
  <body>: F* c& o  z9 p: x. I
  <h1id="myH1">hello,myboy</h1>/ e' X! A  t( i
  </body>0 u3 [' E9 Z3 u0 B
  </html>
( V9 S# Y( @, U# ~如我们要改变ID号为myH1H1标记里的文字为hello,mydear,则可用:
4 c2 ^: C/ M, k' u  document.myH1.innerText="hello,mydear"(其中,document可省)# ]' _% m! L( w# E& q8 _* e
example.htm文件中,Iframe标记对象所指的子窗体与一般的DHTML对象模型一致,对对象访问茶叶网站控制方式一样,就不再赘述。
. z! P" ^* K  l% p8 M  2、在子窗体中访问并控制父窗体中对象
! `* J9 {+ k8 G1 f# ]( a6 _  在子窗体中我们可以通过其parent即父(双亲)对象来访问父窗口中的对象。
0 Q# p5 e% [7 M. {3 t% ?  如example.htm9 y; V9 _! g- t# c2 b
  <html>
- O$ _: z* K: Z; R0 J<bodyonclick="alert(tt.myH1.innerHTML)">    <Iframename="tt"src="frame1.htm"width="250"height="200"scrolling="no"frameborder="0"></iframe>, ^2 [" |3 b& T2 u7 L- a; _) T
<h1id="myH2">hello,mywife</h1>" @+ ^# Q/ q9 A. e
</body>7 f- M+ J8 s2 c  O. n5 R$ a& n
</html>. W9 k8 F1 n( S/ b
  如果要在frame1.htm中访问ID号为myH2中的标题文字并将之改为"hello,myfriend",我们就可以这样写:parent.myH2.innerText="hello,myfriend"
  _6 }$ Y0 l6 e0 `5 V. Z  ~  这里parent对象就代表当前窗体(example.htm所在窗体),要在子窗体中访问父窗体中的对象,无一例外都通过parent对象来进行。
: Q4 t( n- P5 R6 ^* o9 \  Iframe虽然内嵌在另一个HTML文件中,但它保持相对的独立,是一个“独立王国“哟,在单一HTML中的特性同样适用于浮动帧中。+ M0 d. p0 `' ?6 J
  试想一下,通过Iframe标记,我们可将那些不变的内容以Iframe来表示,这样,不必重复写相同的内容,这有点象程序设计中茶叶公司网站建设的过程或函数,减省了多少繁琐的手工劳动!另外,至关重要的是,它使页面的修改更为可行,因为,不必因为版式的调整而修改每个页面,你只需修改一个父窗体的版式即可了。; a* `* Y5 ~, i# o
  有一点要注意,Nestscape浏览器不支持Iframe标记,但在时下IE的天下,这似乎也无大碍,广泛采用Iframe标记,既为自己(网站)着了想,又为网友节省了网费,何乐而不为?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

相关侵权、举报、投诉及建议等,请发 E-mail:yesdong@qq.com

Powered by Discuz! X5.0 Licensed © 2001-2026 Discuz! Team.44152102000001

在本版发帖QQ客服返回顶部