网页分帧(Frame)通常用来进行主页版面的组织和编排。实际上,巧妙应用分帧技术,还可以完成一些重要的功能。本文介绍利用隐藏帧来实现三个应用。
怎样把帧隐藏起来呢?笔者是通过把帧的高度(对于上、下分帧)设为 0 的办法来把帧隐藏起来的。隐藏以后的帧里面照样可以放置 html 文件,但在网页的整体版面上并不显示出来。本例中,笔者构造隐藏帧的 html 代码如下:
〈frameset frameborder="0" rows="0,*"〉
〈frame name="hideframe" src="hidefile.htm" scrolling="no" noresize frameborder="0"〉
〈frame name="mainframe" src="main.htm" scrolling="yes"〉
〈noframes〉
〈body〉〈p〉Please browse the web pages with IE4.x/5.x up browser.〈/p〉〈/body〉
〈/noframes〉
〈/frameset〉
其中,上部的隐藏帧命名为 hideframe,放置 hidefile.htm 文件。下部的帧放置网页的主文件。
一、保持内存变量的值
在网页编程中,有一些变量的值,比如用户的注册名和 ID 号,在本次登录周期内是始终不变的,为了在网页文件的切换过程中始终保持这些变量的值,有人采用 ASP 的 session 变量,但有时 session 会莫名其妙的丢失。其实我们只要把变量的值保存在隐藏帧中,使用时调用它们就可以了。比如隐藏帧中的 hidefile.htm 文件的内容如下:
〈form name="vars"〉
〈input type=text user_name=""〉
〈input type=text user_id=""〉
〈/form〉
从别的帧向隐藏帧保存变量值的语句如下:
〈Script Language="JavaScript"〉
parent.hideframe.vars.user_name="用户名"
parent.hideframe.vars.user_id="用户ID"
〈/Script>
从隐藏帧取变量值的语句如下:
〈Script Language="JavaScript"〉
the_user_name=parent.hideframe.vars.user_name
the_user_id=parent.hideframe.vars.user_id
〈/Script>
二、制作连续的背景音乐
在主页中设置过背景音乐的朋友都知道,正当背景音乐流畅地播放时,一旦你点按某个链接进入别的页面,背景音乐就中断了,让人感到非常遗憾。为了使主页的背景音乐保持连续,只要巧妙应用隐藏帧技术,问题就会完美地解决。其实方法也非常的简单:将设置背景音乐的语句放置在隐藏帧中:
〈embed src="背景音乐.mid" hidden="true" autostart="true" loop="0"〉
尽管下帧的网页在各页面间不断的切换,而上面的隐藏帧会保持相对静止,背景音乐也会连续不断地播放。
三、加速网页的下载
为了使自己制作的网页能够最快地下载到浏览者的屏幕上,我们网页设计制作人员可没少下过功夫,什么网页“减肥”、手工制作网页等各种办法一应俱全。实际上,网页浏览者在进入一个网站时,他总要在主页上停留一小会儿,先四下打量以下。浏览者观看主页的时候,网页的下载是中断的,如果能利用这段时间下载别的页面,缓存在硬盘里,岂不是可以大大加快网页的整体下载速度了吗?
隐藏帧这时就派上了用场!我们把一些比较大的图片、资料放在隐藏帧里,让浏览器在背后偷偷下载,等到浏览者要浏览它们时,它们已经在本地硬盘里了,浏览速度自然就快多了。注意,这样应用隐藏帧时,请将隐藏帧放在网页的下部,不要影响正常的网页下载。
张庆 http://soft.why100000.com 2003.9.22