作者eecir (小君你最可爱了)
看板Web_Design
标题Re: 同时连结至两个网页
时间Sun Jun 25 02:18:44 2006
※ 引述《Laird (taiwan No.ONE!!!!)》之铭言:
: 我使用frame, 想用一个hyperlink指向两个不同的frame.
: 请问使用<a herf...>AAA</a>的语法,有办法让他同时指向两个不同的网页吗?
: 如果没有,请问有没有别的方法可以完成这件事情?
: 十分感谢
<FRAMESET rows=85%,15%>
<FRAME src="FrameChangeMain.html" NAME="A">
<FRAMESET cols=33%,33%,33%>
<FRAME src="FrameChangeA1.html" NAME="B">
<FRAME src="FrameChangeB1.html" NAME="C">
<FRAME src="FrameChangeC1.html" NAME="D">
</FRAMESET>
</FRAMESET>
如果这段语法对你像是甲骨文,那你应该回到 基本框架旗标 多下点功夫。言归正传,我为四个框格分别取名为A、B、C、D,以便於日後我需要使用连结旗标的TARGET属性来控制框格内容的变换。
当然这时候你已经知道NAME和TARGET属性了,你也会为框格取名,可是你八成不知道,在你为框格取名之前,浏览程式已经把它们编号了。
框格编号
浏览程式会依框格出现在原始码中的顺序为它们编号。
但是
它是由0开始的,所以三个框格由左向右为:frames[1]、frames[2]和frames[3]。那麽frames[0]在那儿呢?你回头看一下原始码,应该不难猜出:
<FRAMESET rows=85%,15%>
<FRAME src="FrameChangeMain.html" NAME="A"> 这是frames[0]
<FRAMESET cols=33%,33%,33%>
<FRAME src="FrameChangeA1.html" NAME="B"> 这是frames[1]
<FRAME src="FrameChangeB1.html" NAME="C"> 这是frames[2]
<FRAME src="FrameChangeC1.html" NAME="D"> 这是frames[3]
</FRAMESET>
</FRAMESET>
注意:frames[--]的英文是框架的复数(加上s),在爪哇语法中如果拼成frame[--]就错了。
爪哇语法
以下是将三个框格内容更换为C/NET连结图案的原始码:
<FORM>
<INPUT > parent.frames[2].location='FrameChangeB2.html';
parent.frames[3].location='FrameChangeC2.html';"
type=button value="同时更新三个框架">
</FORM>
原始码分析:
如果你不太熟悉表单旗标(FORM)爪哇语法(JavaScript),没有关系,请容我另文介绍。我先介绍我们在这儿所用到的HTML及JavaScript:
FORM 表单的开始旗标。
INPUT TYPE="button" 宣告将使用按钮(Button)。
VALUE= 宣告按钮上的文字。
onClick= 宣告当点选按钮时要求浏览程式所要完成的工作。注意:除了字母C以外,其它字母皆为小写。
parent.frames[1].location='FrameChangeA2.html'; 这儿就是爪哇语法(JavaScript)了:
"Parent" 在英文中是指父母亲,在这儿指的是母框(整个视窗)。
"frames[1]" 依指令动作而将变动(更新内容)的框格。
"location=______" 变动(更新内容)网页的连结地址,在这儿是FrameChangeA2.html。
注意:不可遗漏行末的分号(;)。
/FORM 表单的结束旗标。
再看看将三个框格内容换回来的原始码:
<FORM>
<INPUT > parent.frames[2].location='FrameChangeB1.html';
parent.frames[3].location='FrameChangeC1.html';"
type=button value="嗯!可以换回来了">
</FORM>
明白了吗?随你高兴,你可以同时更新许多框格内容。你只需使用 onClick= 指令,为需要更新的每一个框格加上 parent.frames[#].location='______'; 即可。
此外,你注意到没有? onClick= 指令後面接的是双引号("),parent.frames[#].location='______'; 指令後面接的是单引号('),不能搞错哦!
结语
你当然可以使用许多框格,然後点选按钮一次就更新全部。但有一件事请常记在心,每更新一个框格就需要重新下载一篇网页,更新十个框格就需要重新下载十篇网页,更新愈多框格则下载速度愈慢。如果真的是需要同时更新许多框格,其内容愈简洁愈好(少图少字),以缩短下载时间。
资料来源:
http://www.geocities.com/alfredcave/FrameChangeMain.html
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.64.169.196