日期:2011-07-30  浏览次数:21241 次

网页分帧(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"〉

  尽管下帧的网页在各页面间不断的切换,而上面的隐藏帧会保持相对静止,背景音乐也会连续不断地播放。

  三、加速网页的下载

  为了使自己制作的网页能够最快地下载到浏览者的屏幕上,我们网页设计制作人员可没少下过功夫,什么网页“减肥”、手工制作网页等各种办法一应俱全。实际上,网页浏览者在进入一个网站时,他总要在主页上停留一小会儿,先四下打量以下。浏览者观看主页的时候,网页的下载是中断的,如果能利用这段时间下载别的页面,缓存在硬盘里,岂不是可以大大加快网页的整体下载速度了吗?

  隐藏帧这时就派上了用场!我们把一些比较大的图片、资料放在隐藏帧里,让浏览器在背后偷偷下载,等到浏览者要浏览它们时,它们已经在本地硬盘里了,浏览速度自然就快多了。注意,这样应用隐藏帧时,请将隐藏帧放在网页的下部,不要影响正常的网页下载。