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

Hostodo(年付12美元)斯波坎VPS六六折,美国西海岸机房

Hostodo是一家成立于2014年的国外VPS主机商,现在主要提供基于KVM架构的VPS主机,美国三个地区机房:拉斯维加斯、迈阿密和斯波坎,采用NVMe或者SSD磁盘,支持支付宝、PayPal、加密货币等付款方式。商家最近对于上架不久的斯波坎机房SSD硬盘VPS主机提供66折优惠码,适用于1GB或者以上内存套餐年付,最低每年12美元起。下面列出几款套餐配置信息。CPU:1core内存:256MB...

Dynadot COM特价新注册48元

想必我们有一些朋友应该陆续收到国内和国外的域名注册商关于域名即将涨价的信息。大概的意思是说从9月1日开始,.COM域名会涨价一点点,大约需要单个9.99美元左右一个。其实对于大部分用户来说也没多大的影响,毕竟如今什么都涨价,域名涨一点点也不要紧。如果是域名较多的话,确实增加续费成本和注册成本。今天整理看到Dynadot有发布新的八月份域名优惠活动,.COM首年注册依然是仅需48元,本次优惠活动截止...

云如故枣庄高防(49元)大内存2H2G49元8H8G109元

云如故是一家成立于2018年的国内企业IDC服务商,由山东云如故网络科技有限公司运营,IDC ICP ISP CDN VPN IRCS等证件齐全!合法运营销售,主要从事自营高防独立服务器、物理机、VPS、云服务器,虚拟主机等产品销售,适合高防稳定等需求的用户,可用于建站、游戏、商城、steam、APP、小程序、软件、资料存储等等各种个人及企业级用途。机房可封UDP 海外 支持策略定制 双层硬件(傲...

iframe用法为你推荐
打开网页出现错误我打开网页老出现错误是怎么了?二叉树遍历写出二叉树的先序遍历、中序遍历、后序遍历。申请证书求高手教下怎么申请证书iphone越狱后怎么恢复苹果手机越狱后怎么恢复如何建立自己的网站如何建立自己的网站怎么点亮qq空间图标怎样点亮qq空间的图标2012年正月十五农历2012年正月15早上9点多生的!命里缺什么!是什么命相iphone6上市时间iphone6什么时候上市,价格是多少?系统分析员考系统分析员有什么好处?blogcn怎样设置BLOGCN的访问密码
域名购买 怎样注册域名 lamp photonvps 主机测评网 yardvps dreamhost 新世界电讯 evssl证书 创宇云 镇江联通宽带 e蜗 我爱水煮鱼 vip购优汇 web服务器安全 smtp虚拟服务器 百度云加速 服务器维护 lamp是什么意思 深圳域名 更多