使用框架的不利和有利之处

在详细介绍怎样建立框架之前，你应该知道某些人是很讨厌框架的。这并不是夸张，要了解对这个HTML标识符的强烈的心理反应，你需要了解一些框架的不利之处：

> > 框架小偷

> > 。缺省情况下，框架是有边框的，这些边框占据了屏幕上可用作别的目的的一些空间，特别是在低分辨率的显示器上，框架可以占用很多的空间，用户对此很不满。

> > 框架侵犯

> > 。一个设计糟糕的框架可以侵犯别的网点的网页，一旦一个框架显示在网络浏览器的窗口之上时，就可能很难将它清除。这个框架可能一直显示在屏幕上，甚至在你离开了创建这个框架的网点之后。从这一方面来说，一个设计糟糕的框架就和一个粗鲁的拜访者一样令人讨厌。

> > 框架与糟糕的公司有关

> > 。当第一个引入框架时，它们主要用来显示广告牌，这就在网络大众的头脑里建立了一种框架与广告牌的联系。由于人们一般并不喜欢广告，框架也由于这种联系而令人讨厌了。

> > 框架是不值得信任的

> > 。最初Netscape以其特有的HTML扩展引入了框架，Microsoft不久也提供了他们自己的框架工具。框架标识符的属性还在讨论之中，这使得在不同的浏览器上浏览时会造成不一致的框架行为，而且在许多浏览器上，框架根本就不起作用。

> > 框架中的页很难被标识

> > 。对于显示在框架中的网页，你不能放置书签，如果你这样做，你将不能为其它的网页放置书签（设置框架的网页），这使得浏览网站上使用框架的某一特定的页变得很困难。

> > 使用框架的网点会很慢

> > 。任何事都是公平的，浏览器读入两个HTML文件总是比一个要慢，因为框架允许你在同一个浏览器窗口里显示多个HTML文件，因此要完全显示出这一页要花费较长的时间。

因此，看上去使用框架似乎是很糟糕的，但实际上，大部分的Internet网站设计者都应该因不正确地使用框架而受到批评。通常框架是不必要的，你可以使用表格来代替它。

正如第六章“中级HTML”中所讨论的，你可以使用表格将一个网页分割成几个子页。表格不具有框架的那些缺点，因而表格框架模拟框架的大部分效果。当你要使用框架时，你应当考虑用表格来代替它们。

例如，考虑图7.4和7.5中所示的网页，这两个网页看上去几乎相同，只是图7.4所示的网页是用表格创建的，而图7.5是用框架的。由于使用表格创建的网页读起来会快些，你应当用表格来创建这一页。

图7.4 使用表格创建

图7.5 使用框架创建

因为有上述的种种缺陷，你可能认为我会建议你再也不要使用框架，不是的。

事实上，框架有一些独特的特性，通常在三种特殊情况下，你应当使用框架而不是表格。

首先，当你需要滚动条时，你必须使用框架。当你滚动一个表格中的目录时，实际上你必须滚动整个网页，但在框架中你就可以仅仅滚动目录。

考虑一个包含一本书的网点的例子，通过使用框架，你可以在同一时间显示目录和特定章节的内容（见图7.6）。因为你可以滚动目录框架，因此即使你在阅读一段很长的章节时，目录表也可以保留在屏幕上。在这种情况下使用框架，你可以在同样大小的屏幕空间中比通常情况下显示更多的目录。

图7.6 具有滚动条的框架

第二，如果你想让窗口的一部分保持不变，而另一部分改变的话，你也要使用框架。例如，假定你想让一幅广告在任何时刻都显示在浏览器窗口中（见图7.7），你不想让用户滚动网页内容时把广告也滚出屏幕，要想让浏览器窗口上的一部分总是显示在屏幕上，你就得使用框架。

最后，你想显示另一个网点的网页时，你必须使用框架。有时你想与别的网站链接，让更多的人来参观自己的网点一直是网站管理者最大的心愿，一旦有人来参观你的网点，你一定不想让他离开，然而你要在你的网页中加入与其它网点的超链接，因此怎样才能让人们可以浏览其它的网点而不离开你的网点呢？可以将别的网点的网页显示在一个窗口或是一个框架中（见图7.8）。

因此，这些情况下框架是很有用甚至是必需的。但是，要照顾到那些憎恨框架的人，你应当提供一个网点的无框架的版本，你会发现在任何情况下这都是必须的，因为并不是所有的浏览器都支持框架。

图7.7 使用框架显示固定的广告

图7.8 在自己的网页中显示别的网页