有关iframe的用法总结

发布时间:2021-01-14编辑:脚本学堂
本文介绍下,html中的iframe的用法,作个小小的总结,有需要的朋友,也可以参考下哦。

一、iframe标记的使用格式
 

<Iframe src="URL" width="x" height="x" scrolling="[OPTION]" frameborder="x"></iframe>


src:文件的路径,既可是HTML文件,也可以是文本、ASP等;
width、height:"画中画"区域的宽与高;
scrolling:当SRC的指定的HTML文件在指定的区域显示不完时,滚动选项,如果设置为NO,则不出现滚动条;如为Auto:则自动出现滚动条;如为Yes,则显示;
(可选的参数为 auto、yes、no,如果省略这个参数,则默认为auto);
FrameBorder:区域边框的宽度,为了让'画中画'与邻近的内容相融合,常设置为0。

例如:
 

<Iframe src=http://www.jb200.com width="250" height="200" scrolling="no" frameborder="0"></iframe>


注意:URL建议用绝对路径

<iframe>是框架的一种形式,也比较常用到。

如果一个页面里面有框架。随便点页面里的连接,要求在这个<iframe> 里打开。在iframe 中加入name=** (**自己设定)
<iframe name=**    ></iframe>

例如我命名为aa,写入这句HTML语言:
 

<iframe width=420 height=330 name=aa frameborder=0 src=http://www.jb200.com></iframe>


然后,网页上的超链接语句应该写为:<a    href=URL target=aa>

二、父窗体与浮动帧之间的相互控制

脚本语言与对象层次中,包含Iframe的窗口我们称之为父窗体,而浮动帧则称为子窗体,弄清这两者的关系很重要,因为要在父窗体中访问子窗体或相反都必须清楚对象层次,才能通过程序来访问并控制窗体。

1、在父窗体中访问并控制子窗体中的对象

在父窗体中,Iframe即子窗体是document对象的一个子对象,可以直接在脚本中访问子窗体中的对象。

现在就有一个问题,即,我们怎样来控制这个Iframe,这里需要讲一下Iframe对象。当我们给这个标记设置了ID 属性后,就可通过文档对象模型DOM对Iframe所含的HTML进行一系列控制。

比如在example.htm里嵌入test.htm文件,并控制test.htm里一些标记对象:
 

  <Iframe src="http://www.jb200.com/test.htm" id="test" width="250" height="200" scrolling="no" frameborder="0"></iframe>
 

test.htm文件代码为:
 

  <html>
   <body>
    <h1 id="myH1">hello,my boy</h1>
   </body>
  </html>


  如我们要改变ID号为myH1的H1标记里的文字为hello,my dear,则可用:
  document.myH1.innerText="hello,my dear"(其中,document可省)

2、在子窗体中访问并控制父窗体中对象
在子窗体中我们可以通过其parent即父(双亲)对象来访问父窗口中的对象。
  如example.htm:
 

复制代码 代码示例:
<html>
   <body onclick="alert(tt.myH1.innerHTML)">
    <Iframe name="tt" src="http://www.jb200.com/frame1.htm" width="250" height="200" scrolling="no" frameborder="0"></iframe>
    <h1 id="myH2">hello,my wife</h1>
   </body>
  </html>
 

  如果要在frame1.htm中访问ID号为myH2中的标题文字并将之改为"hello,my friend",我们就可以这样写:
  parent.myH2.innerText="hello,my friend"
  这里parent对象就代表当前窗体(example.htm所在窗体),要在子窗体中访问父窗体中的对象,无一例外都通过parent对象来进行。

Iframe虽然内嵌在另一个HTML文件中,但它保持相对的独立,是一个'独立王国'哟,在单一HTML中的特性同样适用于浮动帧中。

试想一下,通过Iframe标记,我们可将那些不变的内容以Iframe来表示,这样,不必重复写相同的内容,这有点象程序设计中的过程或函数,减省了多少繁琐的手工劳动!另外,至关重要的是,它使页面的修改更为可行,因为,不必因为版式的调整而修改每个页面,你只需修改一个父窗体的版式即可了。
 
三、IFrame也可以编辑文字
有没有想过除了表单(<form>)之外还有其它的网页元素可以编辑文字呢?只要使用IFrame的隐藏的一个属性就可以使IFrame成为一个文本编辑器。
 

复制代码 代码示例:
<html>
<body onload="editer.document.designMode='On'">
<IFrame ID="editer"></IFrame>
</body>
</html>
 

其中designMode属性表示IFrame的设计模式的状态(开/关),还在犹豫什么呢,快试试吧!
只要巧妙的利用这一特性就可以制作很多意想不到的效果。如果下面我们来做一个图片编辑器。
 

复制代码 代码示例:
<html>
<body onload="imgEditer.document.designMode='On';imgEditer.document.write('<img src=图片.gif>')">
<IFrame id="imgEditer"></IFrame>
</body>
</html>