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

FlashFXP FTP工具无法连接主机常见原因及解决办法

目前,我们都在用哪个FTP软件?喜欢用的是WinSCP,是一款免费的FTP/SFTP软件。今天在帮助一个网友远程解决问题的时候看到他用的是FlashFXP FTP工具,这个工具以前我也用过,不过正版是需要付费的,但是网上有很多的绿色版本和破解版本。考虑到安全的问题,个人不建议选择破解版。但是这款软件还是比较好用的。今天主要是遇到他的虚拟主机无法通过FTP连接主机,这里我就帮忙看看到底是什么问题。一...

Gcorelabs:美国GPU服务器,8路RTX2080Ti;2*Silver-4214/256G内存/1T SSD,1815欧/月

gcorelabs怎么样?gcorelabs是创建于2011年的俄罗斯一家IDC服务商,Gcorelabs提供优质的托管服务和VPS主机服务,Gcorelabs有一支强大的技术队伍,对主机的性能和稳定性要求非常高。Gcorelabs在 2017年收购了SkyparkCDN并提供全球CDN服务,目标是进入全球前五的网络服务商。G-Core Labs总部位于卢森堡,在莫斯科,明斯克和彼尔姆设有办事处。...

爱用云互联租用服务器租美国、日本、美国、日本、购买2天内不满意可以退换,IP可免费更换!

爱用云互联怎么样?爱用云是一家成立于2018年的老牌商家旗下的服务器销售品牌,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点。专注为个人开发者用户,中小型,大型企业用户提供一站式核心网络云端服务部署,促使用户云端...

iframe用法为你推荐
万维读者网万维书刊投稿有稿费么,有的话怎么算?郭吉军一个新的品牌,要怎么做网络推广暴风影音怎么截图怎么截取暴风影音图片天天酷跑刷积分教程天天酷跑积分怎么获得 天天酷跑刷积分方法吴晓波频道买粉看吴晓波频道的心得伪静态什么是伪静态畅想中国用“心系祖国情,畅想中国梦”为题目的800字作文创维云电视功能创维电视怎么用,我买了个创维云电视,现在不知道怎么用手机往电视上传照片,谁能解答以下,网页打开很慢为什么我打开网页很慢云挂机快手极速版后台云挂机辅?助各位用了吗?在哪找的?
cn域名个人注册 idc评测 raksmart 搬瓦工官网 rackspace 美国主机代购 老左博客 免费名片模板 debian7 促正网秒杀 日本bb瘦 免费邮件服务器 免费的asp空间 阿里云免费邮箱 net空间 永久免费空间 atom处理器 实惠 登陆qq空间 supercache 更多