分享
 
 
 

JavaScript窗口功能指南之命名窗口和框架

王朝html/css/js·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

JavaScript窗口功能指南之命名窗口和框架

(作者:听风编译2001年01月19日 11:35)

当你创建一个框架结构的文档时,<FRAME>标记的NAME属性定义了每一个框架的名字,如下:

<FRAMESET>

<FRAME NAME="left" SRC="toolbar.html">

<FRAME NAME="right" SRC="index.html">

</FRAMESET>

在例子中,文档包含2个框架:left和right。在文档toolbar.html中,链接代码就象下面的一样:

<A HREF="about.html" TARGET="right">About Us</A>

<A HREF="feedback.html" TARGET="right">Feedback</A>

注意, <FORM>标记同样支持TARGET属性,它定义了响应表单的目标窗口。而<BAEE>标记则指明了文档中所有链接的通用默认目标窗口:

<BASE TARGET="right">

上面的标记定义了页面中所有元素的目标位置。以下的HTML元素支持target属性:<A>、<AREA>、<FORM>。

在实际应用中,<BASE>元素必须出现在文档的HEAD标记间,要先于任何指向外部资源的元素前。如果在文档中指定了<BASE>标记,那么链接将不再遵循默认的target位置,而是被明确地指向另外一个不同的target位置:

<HEAD>

<BASE TARGET="right">

</HEAD>

<BODY>

<A HREF="table.html" TARGET="_self">Table of Contents</A>

<A HREF="about.html">About Us</A>

<A HREF="feedback.html">Feedback</A>

</BODY>

如上所见,第1个链接的target是 "_self" (带有一个下划线),这表示当点击这个链接时,新文档会在当前活动的窗口中打开。下表列举了HTML中一些特殊的target位置标识:

Target

含义

_blank

在一个新的空窗口中装载文档,新窗口没有命名。

_parent

在链接所在窗口的直接父窗口中装载文档。

_search

在浏览器的搜索区装载文档,注意,这个功能只在Internet Explorer 5 或者更高版本中适用。

_self

在链接所在的窗口中装载文档。

_top

在最上层窗口中装载文档。

现在我们了解了框架名字,下面将它们与窗口一起工作。当定义target为 "_blank"时,a一个新窗口就会弹出来。比如,如果想让一个链接在新窗口中打开,请使用下面的代码:

<A HREF="newpage.html" TARGET="_blank">A New Page</A>

新窗口没有命名,换言之,它不能被其他元素的 TARGET 属性所引用。但是当我们使用一个标准的target名字时,会发生什么呢?请看下面的定义:

<A HREF="newtip.html" TARGET="tip">A New Tip</A>

在这种情况下,我们为新窗口提供了一个特殊的名字。 新窗口的名字为 "tip", 因此任何链接或者表单,只要定义了 TARGET="tip", 就会在同一窗口中装载页面。如果没有框架或者窗口匹配指定的target,那么点击链接后将在新窗口中打开。看看下面的例子:

<A HREF="http://www.ccidnet.com/" TARGET="_blank">CCIDNET</A>

<A HREF="http://www.ccidnet.com/tech/" TARGET="_blank">技术天地</A>

看看产生的效果:

CCIDNET技术天地

点击第一个链接,将在新窗口中打开文档。点击第二个链接,也将产生一个新窗口。如果再次点击链接,新窗口仍将打开。如你所见,链接每一次被点击都会产生一个新窗口。让我们再试一试下面的例子:

<A HREF="http://www.ccidnet.com/" TARGET="main">CCIDNET</A>

<A HREF="http://www.ccidnet.com/tech/" TARGET="main">技术天地</A>

效果如下:

CCIDNET技术天地

点击第一个链接时,产生一个新窗口。接着点击第二个链接,新文档将出现在刚刚打开的窗口中。新窗口定义了明确的名字,叫做 "main", 所以任何指定了 TARGET="main" 的链接或者表单都会在那个窗口被装载。

名字的属性

借助JavaScript,我们能够通过窗口的名字属性发现窗口的名字(适用于IE3+, N2+)。同样,我们能够设置一个框架或者窗口的名字属性(适用于IE3+, N3+)。来看看下面的HTML文档(showname.html):

<HTML>

<HEAD><TITLE>Display Name</TITLE></HEAD>

<BODY>

<SCRIPT LANGUAGE="JavaScript">

<!--

alert('The name of this window is: "' + window.name + '"');

// -->

</SCRIPT>

</BODY>

</HTML>

再看看下面的链接:

<A HREF="showname.html" TARGET="_blank">A New Window</A>

<A HREF="showname.html" TARGET="first">First Window</A>

<A HREF="showname.html" TARGET="second">Second Window</A>

<A HREF="showname.html" TARGET="third">Third Window</A>

文档showname.html包含了一个脚本程序,它负责在一个alert对话框中显示窗口的名字。

name 属性属于 window 对象。它可以被任何window对象使用,包括框架。例如,下面的语句设置了一个框架窗口的名字:

parent.frames[1].name = "right";

当操作框架时, 访问不同层窗口是很简单的。如果想参阅更多细节,请访问 Window References 。

HTML不能给当前窗口指派名字。就是说,在当前页面不可能通过HTML代码来设置当前窗口的名字。要实现这个目的,只有一个方法,就是给 window.name 属性分配值。下面来试一试,看看如下的代码,它创建了一个简单按钮,点击后设置当前窗口的名字:

<FORM>

<INPUT TYPE="button" VALUE="Set Name to myWin" onClick="window.name = 'myWin'">

</FORM>

点击按钮后,当前窗口的名字就改变为 "myWin", 除非指派其他的值,它会一直保持。 我们可以在其他窗口中包含一些链接,并定义他们的target位置为myWin,就是 TARGET="myWin" 。

如果前面你已经设置了当前窗口的名字为myWin,那么链接将在当前窗口打开。下面是新窗口中的代码:

<A HREF="http://www.docjs.com/" TARGET="myWin">Home</A>

<A HREF="http://www.docjs.com/tips/" TARGET="myWin">Recent Tips</A>

方便起见,我们给出能将当前窗口的名字设置为空""的按钮的源码:

<form>

<input onClick="window.name = ''" type=button value="Reset Name" name="button2">

</form>

你要注意,不要给2个不同的窗口分配同一个名字。如果2个窗口被分配了同一个名字,那么只有一个窗口被关联,另外一个就将被忽视。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有