早前一直没有系统的研究过FRAMESET这个东西。主要是对HTML不重视,觉得服务器语言才是最重要的,对软件工程,代码质量,设计模式之类的东西研究的比较多,后来在实践中发现耗费时间最多的还是一些最基础的东西,往往这些东西成为瓶颈所在,实在是不应该。
言归正传,frameset的作用是将一个页面切分成多个框架,每个框架有name和其他一些属性例如:
<frameset border="0" frameSpacing="0" rows="*" frameBorder="no" cols="300,*">
<frame name="LeftTree" src="tree.html" noResize scrolling="no" />
<frame name="MainFrame" src="main.html" noResize scrolling="auto" />
</frameset>
上面的例子是将页面切分成左右两个框架。典型的用于在左侧做一个树形菜单,点击树形菜单每项的链接,将在左侧出现新的网页
注意:1.写框架的页面不能有body属性
2.要达到点击左侧的树菜得链接在右边的框架显示,需要为右侧的初始化页面增加window.name属性(上面的例子中右侧的初始化页面为main.html页面)
main.html页面中需要添加<script type="type/javascript">window.name="main";</script>代码
在左侧的树菜中每个链接需要加上"target=main",例如<a href="xxx.html" target="main">test</a>,这样一来,点击"test",将在右侧显示xxx.html页面
另外需要注意的是左右两个框架页面的父级都是top,在某个框架内部的window是指向所在框架的,而不是父级top