窗体IFRAME的详细用法

iframe用法  时间:2021-02-26  阅读:()

一、 I FRAM E的详细用法

<IFRAME>用于设置文本或图形的浮动图文框或容器。

BORDER

<IFRAMEBORD ER="3"></IFRAME>

设定围绕图文框的边缘宽度

FRAME BODER

<IFRAMEFRAMEBODER="0"></IFRAME>

设置边框是不否为3维0=否 1=是

HEI GH T,WI D T H

<IFRAMEHEIG HT="31"WIDTH="88"></IFRAM E>

设质边框的宽度和高度

SCROLLING

<IFRAMESCROLLING="NO"></IFRAM E>

是否有滚动条YES,NO,AUT O)

S RC

<IFRAMESRC="GIRL.GIF"></IFRAME>

指定IFRAME调用的文件或图片(HTML,HTM,GIF,JPEG,JP G,PNG,TXT,*.*)

-------------------------------------------------------------

“画中画”效果--谈I F RAME标签的使用

纵观时下网站本来网速就有些慢可是几乎每页都要放什么Bann er栏目图片版权等一大堆雷同的东西当然 出于网站风格统一、广告效应的需要本无可厚非可毕竟让用户的钱包为这些“点缀“的东西”日益消得钱憔悴”了有没有办法让这些雷同的东西一次下载后就不用再下载而只下载那些内容有变化区域的网页内容呢

答案很肯定应用Iframe标记

一、 Iframe标记的使用

提起Iframe可能你早已将之扔到“被遗忘的角落”了不过说起其兄弟Frame就不会陌生了。 Frame标记即帧标记我们所说的多帧结构就是在一个浏览器窗口中显示多个H T ML文件。现在我们遇到一种很现实的情况如有一个教程是一节一节地上每页末尾做一个“上一节“、 “下一节“的链接除了每节教程内容不同之外页面其它部分内容都是相同的如果一页一页地做笨页面这似乎太让人厌烦了这时突发奇想如果有一种方法让页面其它地方不变只将教程做成一页一页的内容页不含其它内容在点击上下翻页链接时只改变教程内容部分其它保持不变这样一是省时另则以后如教程有个三长两短的变动也很方便不致于牵一发而动全军了;更重要的是将那些广告Banne r、栏目列表、导航等几乎每页的都有的东西只下载一次后就不再下载了。 Iframe标记又叫浮动帧标记你可以用它将一个HTML文档嵌入在一个HTML中显示。它不同于Frame标记最大的特征即这个标记所引用的HT ML文件不是与另外的HT M L文件相互独立显示而是可以直接嵌入在一个HT ML文件中与这个HT ML文件内容相互融合

成为一个整体另外还可以多次在一个页面内显示同一内容而不必重复写内容一个形象的比喻即“画中画“电视。

现在我们谈一下Iframe标记的使用。

Iframe标记的使用格式是:

<Iframesrc="URL"width="x"height="x"scrolling="[OPTION]"frameborder="x"></iframe>src文件的路径既可是HT ML文件也可以是文本、ASP等w idth、 height "画中画"区域的宽与高s crolling:当SRC的指定的HT ML文件在指定的区域不显不完时滚动选项如果设置为NO则不出现滚动条如为Aut o则自动出现滚动条如为Ye s则显示;

FrameBorder区域边框的宽度为了让“画中画“与邻近的内容相融合常设置为0。

比如:

<Iframesrc="http://www.digidc.cn";width="250"height="200"scrolling="no"frameborder="0"></iframe>

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

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

在父窗体中 I frame即子窗体是doc ument对象的一个子对象可以直接在脚本中访问子窗体中的对象。现在就有一个问题即我们怎样来控制这个Iframe这里需要讲一下Iframe对象。当我们给这个标记设置了ID属性后就可通过文档对象模型DOM对Iframe所含的HT ML进行一系列控制。

比如在examp le.htm里嵌入te s t.htm文件并控制te s t.htm里一些标记对象

<Iframesrc="test.htm"id="test"width="250"height="200"scrolling="no"frameborder="0"></iframe>test.htm文件代码为:

<html>

<body>

<h 1 id="myH 1">hello,myboy</h 1>

</body>

</htm l>

如我们要改变ID号为myH1的H1标记里的文字为hello,mydear则可用:doc ument.myH1.innerT ext="hello,mydear"(其中 doc ument可省)

在examp le.htm文件中 I frame标记对象所指的子窗体与一般的DHT ML对象模型一致对对象访问控制方式一样就不再赘述。

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

在子窗体中我们可以通过其p arent即父双亲对象来访问父窗口中的对象。

如example.htm

<html>

<bodyonc lic k="alert(tt.myH1.inner HTML)">

<Iframename="tt"src="frame1.htm"w idth="250"height="200"s crolling="no"frameborde r="0"></iframe><h 1 id="myH2">hello,myw ife</h 1>

</body>

</htm l>

如果要在frame 1.htm中访问ID号为myH2中的标题文字并将之改为"hello,myfriend"我们就可以这样写p arent.myH2.innerT ext="hello,myfri end"

这里p arent对象就代表当前窗体(examp le.htm所在窗体)要在子窗体中访问父窗体中的对象无一例外都通过p arent对象来进行。

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

试想一下通过Iframe标记我们可将那些不变的内容以Iframe来表示这样不必重复写相同的内容这有点象程序设计中的过程或函数减省了多少繁琐的手工劳动另外至关重要的是它使页面的修改更为可行 因为不必因为版式的调整而修改每个页面你只需修改一个父窗体的版式即可了。有一点要注意Nestscape浏览器不支持Iframe标记但在时下IE的天下这似乎也无大碍广泛采用Iframe标记既为自己(网站)着了想又为网友节省了网费何乐而不为

例子

<iframesrc="页面"width="宽度"heigh t="高度"align="排列可以是left或right,c enter"scrolling="是否有滚动条可以填no或yes"></iframe>

<IFRAMEframeBorder=0frameSpacing=0height=25marginHe ight=0marginWidth=0scrolling=noname=mains rc="bgm/bgm.html"w idth=300></IF RAM E>

2: : : :: : : : : : : : :: : : : : : : : : :: : : : : : : : :: : : : : : : : :: : : : : : : : :: : : : : : : : :: : : : : : : : : :: : : : : : : : :: : :

用了iframe后发现滚动条不漂亮想用2个图片来代替↑↓

应该怎么实现呢

回答

用下列代码替换网页的<title>. .</title>

<SCRIPTLANGUAGE="javascript">

functionscroll(n)

{temp=n;

Out 1.s crollTop=Out 1.s crollTop+temp;if(temp==0)r eturn;setTimeout("scroll(temp)",80);

}

</SCRIPT>

<TABLEWIDTH="330">

<TR>

<TDWIDTH="304"VALIGN="TOP"ROWSPAN="2">

<DIVID=Out 1 STYLE="width:100%;height:100;overflow:hidden;border-style:dashed;border-width:1 px,1 px,1 px,1px;">

文字<BR>文字<BR>

文字<BR>

文字<BR>

文字

<BR>

<BR>

</DIV>

</TD>

<TDWIDTH="14"VALIGN="TOP"><IMGSRC="photo/up0605.gif"WIDTH="14"HEIGHT="20"onmous eover="scroll(-1)"onmouseout="scroll(0)"onmousedown="scroll(-3)"BORDE R="0"ALT="按下鼠标速度会更快 "></TD>

</TR>

<TR>

<TDWIDTH="14"VALIGN="BOTTOM"><IMGSRC="photo/down0605.gif"onmouseover="scroll(1)"onmouseout="s croll(0)"onmous edown="s croll(3)"BORDE R="0"WIDTH="15"HEIGH T="21"ALT="按下鼠标速度会更快 "></TD>

</TR>

</TABLE>

内框架Iframe的使用

使用Iframe可以在一人表格内调用一个外部文件是非常有用的。本网站在很多页面上都使用了iframe效果。

现在我们学一下Iframe标记的使用。

Iframe标记的使用格式是:

<Iframesrc="URL"width="x"height="x"scrolling="[OPTION]"frameborder="x"name="main"></ifram e>

src文件的路径既可是HT ML文件也可以是文本、ASP等w idth、 heigh t "内部框架"区域的宽与高s crolling:当SRC的指定的HT ML文件在指定的区域不显不完时滚动选项如果设置为NO则不出现滚动条如为Aut o则自动出现滚动条如为Ye s则显示;

FrameBorder区域边框的宽度为了让“内部框架“与邻近的内容相融合常设置为0。name:框架的名字用来进行识别。

比如:

<Iframesrc="http://www.ctvbiz.c om/index.asp"w idth="760"heigh t="600"s crolling="Auto"frameborder="0"name="main"></ifram e>

当你想用父框架控制内部框架时可以使用 target="框架的名字"来控制。

设置边框是不否为3维0=否 1=是

HEI GH T,WI D T H

<IFRAMEHEIG HT="31"WIDTH="88"></IFRAM E>

设质边框的宽度和高度

SCROLLING

<IFRAMESCROLLING="NO"></IFRAM E>

是否有滚动条YES,NO,AUT O)

S RC

<IFRAMESRC="GIRL.GIF"></IFRAME>

指定IFRAME调用的文件或图片(HTML,HTM,GIF,JPEG,JPG,PNG,TXT,*.*)

=================透明背景iframe=================

在嵌入iframe的页面中:

程序代码

<iframesrc="abc.htm"name="iframe"w idth="540"height="400"s crolling="Auto"frameborder="0"id="iframe"style="border:0px"allow transparency="true"></ifram e>

在该iframe被嵌入的页面中:

程序代码

<bodyS TYLE="bac kground-c olor:transparent">

=================iframe任何浏览器下自动伸缩=================

<iframemarginwidth="0"marginheight="0"hspac e="0"vspac e="0"frameborder="0"id="frametb"scrolling="no"src="frame.htm"onlo ad="s tyle.w idth=this.c ontentWindow.do c ument.all.formfra.o ffs etWidth;s tyle.heigh t=this.c ontentWindow.doc ument.all.formfra.offs etHeig ht"></ifram e>fr ame.htm

=====================

<html>

<bodyleftmargin="0"topmargin="0">

<table id=formfrawidth=200border=0bgc olor=green>

<tr><t d>

胡东平在线空间

<p/>sfsfere

</t d></tr>

</table>

</body>

</htm l>

执行mainfr am e.htm就可以看到效果了。

套用修改的时候要注意mainfr am e.htm和fr am e.htm里面定义表格的I D然后记得在fr am e语句中修改相对应的调用文件名称和路径并且注意下面这句

========================onlo ad="s tyle.w idth=this.c ontentWindow.do c ument.all.formfra.o ffs etWidth;s tyle.heigh t=this.c ontentWindow.do cument.all.formfra.offs etHeig ht"

=========================

做相应修改

=========================this.c ontentWindow.doc ument.all.调用页面表格ID.o ffs etWidt hthis.c ontentWindow.doc ument.all.调用页面表格ID.offs etHeig ht

二、 ifram e的用法与注意事项

注意两个事项, ifr是一个以存在的iframe的ID和NAME值:

&#61548; document.getElementById( “ifr” ) ;

&#61548; wi ndow.frames[ “ifr” ] ;

要想使用i f rame内的函数,变量就必须通过第二种方法.因为它取的是一个完整的DOM模型(不知道这样说对不对) .第一种方法只是取出了一个OB JECT而已.

如果只想改变iframe的src或者border , scrolling等attributes(与property不是一个概念,property是不能写在标签内的,比如:scrollHeight, innerHTML等) ,就需要用到第一种方法.如果想取得iframe的页面(不是iframe本身) ,就需要使用第二种方法,因为它取得的是一个完整的DOM模型,比如想得到iframe的document.body的内容,就只能用第二种方法.

还要注意的是,如果在iframe的页面未完全装入的时候,调用iframe的DOM模型,会发生很严重的错误,所以,你要准备一个容错模式.

下面是示例,一个是aa.htm,一个是bb.htm,请先考到本地在运行,原因不用我在说了吧!aa.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w 3.org/TR/xhtml1/DTD/xhtml1-transition al.dtd">

<html xmlns="http://www.w 3.org/1999/xhtml">

<head>

<title>Untitled Page</title>

<style type="text/c s s">

<!--body{margin:0px;

}

-->

</s tyle>

</head>

<body>

<iframe id="ifr"name="ifr"width="100%"height="500" src="bb.htm"></iframe>

</body>

</htm l>

<script language="javascript" type="text/javascript">var aa_value="I'm a variant in Top window!";var ifr_id=doc ument.getElement ById("ifr");var ifr_window=window.frames["ifr"];alert("Alert from Top window:Can't get iframe's variant by ifr_id, it will return:"+ifr_id.bb_var);alert("Alert from Top window:Can't get iframe's DOM model by ifr_id,it will return:"+ifr_id.window);alert("Alert from Top window:Get src from id:"+ifr_id.src);alert("Alert from Top window:Get href from window:"+ifr_window.document.loc ation.href);

//由于bb.htm可能还未装载完成,所以,下冇的可能引发错误

//调用ifr ame内的函数ifr_w indow.bb();

//调用ifr ame内的变量alert("Alert from Top window: "+ifr_window.bb_var);

//alert("Alert from Top Window:"+ifr_window.document.body.innerHT ML);function aa(msg){alert("I'm alerting from Top window,and I received a msg:\n"+msg);

}

</script>bb.htm

<!DOCTYPE htmlPUBLI C "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w 3.org/TR/xhtml1/DTD/xhtml1-transition al.dtd">

<html xmlns="http://www.w 3.org/1999/xhtml">

<head>

<title>sub frame</title>

<style type="text/c s s"><!--html,b o dy{margin:0px;w idth:90%;

}

-->

</s tyle>

</head>

<body>

I'm a sub frame!

<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

.. .<br/>

iHostART:罗马尼亚VPS/无视DMCA抗投诉vps;2核4G/40GB SSD/100M端口月流量2TB,€20/年

ihostart怎么样?ihostart是一家国外新商家,主要提供cPanel主机、KVM VPS、大硬盘存储VPS和独立服务器,数据中心位于罗马尼亚,官方明确说明无视DMCA,对版权内容较为宽松。有需要的可以关注一下。目前,iHostART给出了罗马尼亚vps的优惠信息,罗马尼亚VPS无视DMCA、抗投诉vps/2核4G内存/40GB SSD/100M端口月流量2TB,€20/年。点击直达:ih...

老周互联24小时无理由退款,香港原生IP,28元起

老周互联怎么样?老周互联隶属于老周网络科技部旗下,创立于2019年12月份,是一家具有代表性的国人商家。目前主营的产品有云服务器,裸金属服务器。创办一年多以来,我们一直坚持以口碑至上,服务宗旨为理念,为用户提供7*24小时的轮班服务,目前已有上千多家中小型站长选择我们!服务宗旨:老周互联提供7*24小时轮流值班客服,用户24小时内咨询问题可提交工单,我们会在30分钟内为您快速解答!另免费部署服务器...

MineServer:香港CMI/洛杉矶GIA VPS,2核/2GB内存/20GB NVME/3.5TB流量/200Mbps/KVM,288元/年

mineserver怎么样?mineserver是一家国人商家,主要提供香港CN2 KVM VPS、香港CMI KVM VPS、日本CN2 KVM VPS、洛杉矶cn2 gia端口转发等服务,云服务器网(yuntue.com)介绍过几次,最近比较活跃。现在新推出了3款特价KVM VPS,性价比高,香港CMI/洛杉矶GIA VPS,2核/2GB内存/20GB NVME/3.5TB流量/200Mbps...

iframe用法为你推荐
苏州商标注册苏州商标局在哪里公章制作word里如何制作公章?ios7固件下载ios7发布当天是否有固件下载畅想中国用“心系祖国情,畅想中国梦”为题目的800字作文数据库损坏数据库损坏是怎么回事啊?雅虎天盾我机器上有瑞星杀毒和防火墙 我用雅虎天盾来查杀木马怎样?免费免费建站可以不用钱免费做一个网站吗如何清理ie缓存怎么样清理IE缓存?微信电话本怎么用微信电话本怎么使用呀,我的电话号码是存在手机里面,用这个软件就读取不了电话,我是第一次使用微信怎么看聊天记录什么方法可以知道微信的聊天记录
虚拟主机是什么 虚拟主机服务商 lamp安装 5折 fastdomain 12306抢票攻略 贵州电信宽带测速 xfce 网站被封 一元域名 河南移动邮件系统 vip购优汇 cdn加速原理 免费网页空间 路由跟踪 阿里云邮箱申请 中国电信宽带测速 SmartAXMT800 fatcow ncp 更多