框架和链接

假设你想建立一个网点包含一本书的全部内容，你建立了两个框架，在左边框架中，你建立了一个指向书中章节的超链接列表；在右边框架中，你显示特定章节的内容。你可以使用表7.1和7.2所示的两个HTML文件来建立frameset文件和目录表文件。

表7.1 frameset文件

<HTML>

<HEAD>

<TITLE> A Great Book On Active Server Pages </TITLE>

</HEAD>

<FRAMESET ROWS=“100%” COLS=“50%,50%”>

<FRAME SRC=“toc.cfm”>

<FRAME SRC=“chapter1.cfm”>

</FRAMESET>

</HTML>

表7.2 目录表文件

<HTML>

<HEAD>

<TITLE> Table Of Contents </TITLE>

</HEAD>

<BODY>

<UL>

<LI> <A HREF=“chapter1.cfm”> Chapter 1: </A>

Everything You Need To Know About Active Server Pages

<LI> <A HREF=“chapter2.cfm”> Chapter 2: </A>

Even More Information On About Active Server Pages

</UL>

</BODY>

</HTML>

当这个frameset文件在浏览器中显示时，你可看到如图7.16所示，效果看起来还不错，目录表和章节内容都显示在它们应该呆的地方。然而，如果你点击到第二章的链接，你不会得到正确的结果，问题在于第二章的网页被读进了错误的框架（见图7.17）。

图7.16 看上去似乎正确

缺省情况下，当你在一个框架中点击一个超链接时，新的网页会读进同一个框架中，有时这是你所希望的，但更多情况下，你希望网页被读进另一个框架中。在这个例子中，你希望章节内容被读进右边的框架中，而不是左边的，这可通过指定特定的框架名来实现这一点。

图7.17 链接将文件读入到错误的框架中

与窗口类似，框架也可以有名字，显然你可以用<FRAME>的NAME属性来为一个框架起名，一旦你为框架起了名字，你可以用<A>的TARGET属性来指定它，表7.3和7.4中的两个文件是修改后正确的文件。

表7.3 新的frameset文件

<HTML>

<HEAD>

<TITLE> A Great Book On Active Server Pages </TITLE>

</HEAD>

<FRAMESET ROWS=“100%” COLS=“50%,50%”>

<FRAME SRC=“toc.cfm” NAME=“TOC”>

<FRAME SRC=“chapter1.cfm” NAME=“CHAPTER”>

</FRAMESET>

</HTML>

表7.2 新的目录表文件

<HTML>

<HEAD>

<TITLE> Table Of Contents </TITLE>

</HEAD>

<BODY>

<UL>

<LI> <A HREF=“chapter1.cfm”> Chapter 1: </A>

Everything You Need To Know About Active Server Pages

<LI> <A HREF=“chapter2.cfm”> Chapter 2: </A>

Even More Information On About Active Server Pages

</UL>

</BODY>

</HTML>

NAME和TARGET属性强制超链接和网页正确工作，当用户在名为TOC的框架中点击一个超链接时，相应章节的内容就会读入名为CHAPTER的框架中。<A>的TARGET属性使超链接定位于正确的框架。