浮动帧在网页设计中的应用

1. 帧结构的应用
在说明帧结构的应用之前先举个例子,比如说我们要做这样一些页面:有一个教程,是一节一节地上,每页末尾做一个“上一节“、“下一节“的链接,除了每节教程内容不同之外,页面其它部分内容都是相同的,如果按以往的方法,一页一页地做,不停的拷贝粘贴那些相同的东西,似乎太让人厌烦了,这时我们就可以用上帧结构。
帧结构标记 包括 Frame 标记和 Iframe 标记。对于绝大部分网页设计人员来说,前者大家都知道,也都用过,就是我们平常所说的框架;后者即浮动帧,可能就有许多人很陌生,我们可以这样理解——框架中的框架。
我们通常所说的多帧结构就是在一个浏览器窗口中显示多个 HTML 文件。 帧结构在网站设计中是非常有用的,它允许将屏幕分隔成多个独立的视窗,并把每一个视窗看成一个帧。例如,你有一个叫 top.htm 的页面,它包含到这个站点所有页面的链接。不论用户想要打开哪一页,通常都需要在 top 视图下,以便对站点进行操作。一种方法是通过在站点中对每一页的链接拷贝和粘贴来完成。但这样做既费时又费力,而且每当你增删或修改某个链接时,都会不可避免地将涉及到该链接的所有页面修改一下遍。如果这时使用帧结构,你可以在一个帧中显示 top.htm ,在另一个特别指定的帧中显示它所链接的页面,那么在修改时只需要修改 top.htm 文件中的链接即可。
2. 浮动帧的特征及用法
2.1 浮动帧的特征
浮动帧即 Iframe ,又叫浮动框架,相对于通常的框架来说,应用浮动帧主要有以下两大特征:
一是浮动帧的位置和大小可以随意调整,便于布局整个页面;
二是可以将一个 HTML 文档嵌入在另一个 HTML 中显示,而且嵌入的页面能与原来的页面内容相互融合成一个整体,看起来就像一个页面一样。
因此浮动帧不同于框架最大的特征即它所引用的 HTML 文件不是与另外的 HTML 文件相互独立显示,而是可以直接嵌入在一个 HTML 文件中,与这个 HTML 文件内容相互融合,成为一个整体。
2.2 浮动帧的属性
浮动帧的常用属性:
 
 
src
文件的路径,既可是 HTML 文件,也可以是文本、 ASP 等文档
width
浮动帧区域的宽度
height
浮动帧区域的高度
scrolling
SRC 的指定的文件在指定的区域显示不完全时,是否显示滚动条
FrameBorder
浮动帧区域边框的宽度 ( 为了让区域内的内容与周边的内容相融合,常设置为 0)
marginwidth
浮动帧区域的边距宽度
marginheight
浮动帧区域的边距高度
2.3 浮动帧的使用方法
浮动帧的使用格式是:
<Iframe src=" " width=" " height="" scrolling="" frameborder=" "></iframe>
如: <Iframe src="http://www.yrec.cn/corpnews.asp" width="600" height="960" scrolling="no" frameborder="0" marginheight="0" marginwidth =”0”></iframe>
具体的效果可以参看www.yrec.cn和www.waterpostdoctor.cn等,都应用了浮动帧技术。
3. 父窗体与浮动帧之间的相互控制
在脚本语言与对象层次中,包含浮动帧的窗口我们称之为父窗体,而浮动帧则称为子窗体,弄清这两者的关系很重要,因为要在父子窗体中相互访问,必须清楚对象层次,才能通过脚本来访问并控制窗体。
3.1 在父窗体中访问并控制子窗体中的对象
在父窗体中,浮动帧(即子窗体)是 document 对象的一个子对象,可以直接在脚本中访问子窗体中的对象(每一个子对象都有一个 ID 属性, ID 的值由网页设计者自己指定)。
现在就有一个问题,即,我们怎样在父窗体中来控制这个浮动帧?答案很简单,我们只需要设置一下浮动帧的 ID 属性即可。当我们给这个标记设置了 ID 属性后,就可通过文档对象模型 DOM 对浮动帧所含的 HTML 进行一系列控制。
比如在 example.htm 里嵌入 test.htm 文件,并控制 test.htm 里一些标记对象:
<Iframe src="test.htm" id="test" width="80" height="100" scrolling="no" frameborder="0"></iframe>
test.htm 文件代码为:
<html>
<body>
<h1 id="myText1">Welcome</h1>
</body>
</html>
如我们要改变 ID 号为 myText H1 标记里的文字为 How are you ,则可用:
document. myText.innerText="How are you"( 其中, document 可省 )
example.htm 文件中, Iframe 标记对象所指的子窗体与一般的 DHTML 对象模型一致,对对象访问控制方式一样,就不再赘述。
3.2 在子窗体中访问并控制父窗体中对象
在父窗体中我们可以通过子窗体的 ID 来访问控制子窗体的内容显示。那么在子窗体中能否访问控制父窗体呢?当然可以!其实很简单,和在父创体中访问子窗体的方法一样,只需通过“ Parent.Document ”再加上父窗体中的对象的 ID 就可以了,当然 Document 可以省略。
example.htm
<html>
<body>
<Iframe name="frmTest" src="frametest.htm" width="850" height="105" scrolling="no" frameborder="0"></iframe>
<h1 id="myText2">How are you</h1>
</body>
</html>
如果要在 frametest.htm 中访问 ID 号为 myText2 中的标题文字并将之改为 "Welcome" ,我们就可以这样写: parent.myText2.innerText=" Welcome " 。这里 parent 对象就代表当前窗体 (example.htm 所在窗体 ) ,要在子窗体中访问父窗体中的对象,无一例外都通过 parent 对象来进行。
4. 浮动帧的应用
浮动帧的应用很广,比较突出有两点: 1 、解决表单元素与层之间的冲突; 2 、编写在线网页编辑器。在这里简单介绍一下在线网页编辑器的用法。
应用浮动帧编写一个在线编辑器,首先要具备两个条件:第一、熟悉 Html 文档结构,能熟练应用 Html 文档对象模型;其次还要具备一定的 JavaScript VBScript 脚本语言基础。下面结合 JavaScript 介绍一下在线编辑器的用法,请看下边的代码:
<script language="JavaScript">
document.write ('<iframe src="aa.htm" name="frm1" id="frm1" width="100%" height="100%" align=center></iframe>')
frm1.document.designMode = "On";
</script>
在上边的这段短短数行的代码中,已经包含了实现在线编辑功能的关键语句,即:
frm1.document.designMode = "On";
这行代码。
designMode ”是 Html 文档的一个属性,他表示该文档的设计模式,“ on ”表示编辑模式。‘ frm1.document.designMode = "On"; 表示名称为“ frm1 ”的浮动帧内包含的文档“ aa.htm ”可以在线编辑。如果将上边这段代码加入到某个 Html 文档( index.htm )中的适当地方,经过适当的修改之后,运行 index.htm 就可以看到,在线编辑功能实现了!!!
5 .结束语
浮动帧虽然内嵌在另一个 HTML 文件中,但它保持相对的独立,就像一个“独立王国”。通过应用浮动帧,我们可将那些经常变化的内容以浮动帧来表示,不必重复写相同的内容,类似于程序设计中的过程或函数,不仅减省了许少繁琐的手工劳动,而且令你的网站更加便于维护!在线网页编辑器的功能使得你在编写网站的远程发布系统时,更加方便、实用。有一点要注意, Nestscape 浏览器不支持浮动帧,但在时下 IE 的天下,这似乎也无大碍,广泛采用浮动帧,既为自己 ( 网站 ) 着了想,又为用户节省了时间,何乐而不为?
参考资料:
DominoWeb 开发综述》 第四章 使用帧结构、大纲和其他设计元素
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值