窗体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/>

Megalayer新加坡服务器国际带宽线路测评

前几天有关注到Megalayer云服务器提供商有打算在月底的时候新增新加坡机房,这个是继美国、中国香港、菲律宾之外的第四个机房。也有工单询问到官方,新加坡机房有包括CN2国内优化线路和国际带宽,CN2优化线路应该是和菲律宾差不多的。如果我们追求速度和稳定性的中文业务,建议还是选择CN2优化带宽的香港服务器。这里有要到Megalayer新加坡服务器国际带宽的测试服务器,E3-1230配置20M国际带...

ParkInHost - 俄罗斯VPS主机 抗投诉 55折,月付2.75欧元起

ParkInHost主机商是首次介绍到的主机商,这个商家是2013年的印度主机商,隶属于印度DiggDigital公司,主营业务有俄罗斯、荷兰、德国等机房的抗投诉虚拟主机、VPS主机和独立服务器。也看到商家的数据中心还有中国香港和美国、法国等,不过香港机房肯定不是直连的。根据曾经对于抗投诉外贸主机的了解,虽然ParkInHost以无视DMCA的抗投诉VPS和抗投诉服务器,但是,我们还是要做好数据备...

LOCVPS新上韩国KVM,全场8折,2G内存套餐月付44元起_网络传真服务器

LOCVPS(全球云)发布了新上韩国机房KVM架构主机信息,提供流量和带宽方式,适用全场8折优惠码,优惠码最低2G内存套餐月付仅44元起。这是一家成立较早的国人VPS服务商,目前提供洛杉矶MC、洛杉矶C3、和香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡、德国和荷兰等机房VPS主机,基于KVM或者XEN架构。下面分别列出几款韩国机房KVM主机配置信息。韩国KVM流量型套餐:KR-Pl...

iframe用法为你推荐
迅雷不能登录迅雷帐号无法登陆怎么解决?ghostxp3ghost xp sp3 和 windows xp3有啥区别arm开发板开发板是什么?如ARM开发板,DSP开发板等。。它和最终目标板有何区别?今日热点怎么删除“今日热点”到底要怎样才能取消弹窗,每次开机都会如何建立一个网站怎样能创建一个网站奇虎论坛奇虎论坛最新推荐歌曲列表·安全漏洞如何发现系统安全漏洞小米手柄手机用小米手柄能玩什么游戏发邮件怎么发发邮件怎么发?网络虚拟机虚拟机的网络怎么弄?
东莞服务器租用 国外vps主机 花生壳免费域名 堪萨斯服务器 百度云100as 外贸主机 163网 好看的留言 seovip 云主机51web 一点优惠网 上海服务器 域名dns 主机管理系统 免费个人主页 工信部icp备案查询 广州服务器托管 香港ip 标准机柜 qq空间打开很慢 更多