闸坡美食攻略:如何用1个超链接在2个 frame中显示不同的网页??

来源:百度文库 编辑:高考问答 时间:2024/04/27 20:30:14

基本上有三种方法可以达到这种功能。 第一种方法是制作一个按钮, 让使用者按下后去启动一个能同时将两份文件载入不同frames或新视窗的函式 (function)。 若您曾经看过此份简介文件的其它章节的话, 我相信您可以很轻易写出这种语法:

我们制作了三个 frame, 第一个 frame 中包含了一个按钮。 请注意, 第一个 HTML 档案只是用来打开 frame 和给予每个 frame 一个名字。 若您还不清楚 JavaScript 和frame 的关系, 可以先阅读第三章。 不过在此还是照例让您瞧瞧原始码(不知您是否在很多电脑书籍中遇到一个相同的困扰, 那就是作者常把一些自认很简单的东西忽略不提, 结果那些东西正是读者搞不懂的地方! 所以, 若您对我提的东西已很了解, 请发挥一下您的耐性 :-)

frames2.html
<HTML>
<HEAD>
<title>Frames</title>
</HEAD>
<FRAMESET COLS="295,*">
<FRAMESET ROWS="100%,*">
<FRAME SRC="loadtwo.html" NAME="fr1">
</FRAMESET>
<FRAMESET ROWS="75%,25%">
<FRAME SRC="cell.html" NAME="fr2">
<FRAME SRC="cell.html" NAME="fr3">
</FRAMESET>
</FRAMESET>
</HTML>

第一个 frame 会载入 loadtwo.html 并产生一个按钮:

loadtwo.html
<HTML>
<HEAD>
<script language="JavaScript">
<!-- Hiding
function loadtwo(page2, page3) {
parent.fr2.location.href=page2;
parent.fr3.location.href=page3;
}
// -->
</script>
</HEAD>
<BODY>
<FORM NAME="buttons">
<INPUT TYPE="button" VALUE="同时载入两份文件"
onClick="loadtwo('frtest1.html','frtest2.html')">
</FORM>
</BODY>
</HTML>

按下按钮后, 电脑会传递两个字串给 loadtwo() 并将之启动。 由 loadtwo() 中可以看出, 第一个串是用来定义第二个 frame fr2所载入文件的位址和档案名。 若您想定义另外的按钮来载入不同的文件, 您可以重复使用此函式。 只要将文件的 URLs (addresses) 传给 loadtwo()即可。

接下来谈谈用 hyperlinks 同时载入两页文件的第二种方法。

在 Internet 上您可以发现许多网页使用<a href="yourlink.html" onCLick="yourfunction()">来达到上述提及的功能。 但此语法并不能在所有平台上均正常执行, 因此最好不要用此语法。 现在我告诉您另一种写法: 我们可改用下述JavaScript 语法:

<a href="javascript:myfunction()">My Link</a>

此种方式非常简单而且在所有浏览器中均能正常执行。 您只要写上 javascript: 并加上您想联结的函式名即可。 若此函式名称设为 'loadtwo()' , 那您就可藉由按下此 hyperlink 来达到同时载入两份文件的目的了。

再接着谈谈用 mouse 按一下便可同时载入两页文件的第三种方法,

此方法可以以 hyperlinks 或按钮来执行。 您可先在第二个frame 中载入 一个 HTML 文件:
<a href="getfr2.html" target="fr2">请按这里!</a>
然后在此文件中(getfr2.html)加入 onLoad 这项指令, 用来触发第三个 frame 载入另一份文件。 如此一来便可同时载入两份文件。getfr2.html 档的原始码如下 :

<HTML>
<BODY onLoad="parent.fr3.location.href='getfr3.html'; return true;">
文 件 内 容.....。
</body>
</html>

当然, 您必须在所有会被载入到第二个 frame 的文件中加入 onLoad 这项指令。