简介
用 JavaScript 很容易用一个窗口来控制另一个窗口中的内容。唯一的要求 是这两个窗口必须有父子关系。也就是说,一个窗口必须是由另外一个窗口
来打开的。 通过这一课,你将会
打开一个窗口
连接主窗口和子窗口
用主窗口来控制子窗口
用子窗口来控制主窗口
打开一个新窗口
你可以 JavaScript 的函数 ( ) 来打开一个窗口, 比如
("adv04_win2.htm", "newWin1");
其中第一个参数是子窗口里的网址。第二个参数是子窗口的名字。另外你还 可以用第三个参数来定义子窗口的性质。 比如
("adv04_win2.htm", "newWin1", "toolbar=no,width=700,height=500");
上面一句是打开一个宽 700 高 500 没有工具条的子窗口。
连接主窗口和子窗口
虽然你已经让主窗口打开了一个子窗口,可是它们之间谁也不认识谁。当然 也无法互相控制了。 幸运的是我们可以用 JavaScript
的变量来记住对方或 是说用变量来明确它们之间的父子关系。
现在假定我们主窗口的文件名字叫 adv04_win1.htm, 子窗口的文件名字叫 adv04_win2.htm。 在主窗口里,在打开子窗口的时候,我们用于个变量,比
如 childWin 来记住子窗口
childWin = ("adv04_win2.htm", "childWin");
这样, childWin 就代表子窗口了。紧接着这一行,我们用子窗口 childWin 的一个变量, 比如 parentWin
来记住主窗口
childWin.parentWin = this;
这里的 this 是一个很有意思的特殊变量 ,它代表当前的窗口或框架。现在 主窗口和子窗口都已经知道了对方。下面我们就告诉你如何来控制对方。
用子窗口来控制主窗口
在子窗口里,我们可以用变量 parentWin 来控制主窗口。这里我们简单的介 绍一下如何变换主窗口里面的网页。当然你可以控制主窗口里面的其他物体
就象你在主窗口里控制它们一样 ,区别是要加上 parentWin. 在物体和元素 的前面。
如果你想要更换主窗口里面的网页,用下面的语句就可达到
parentWin.location = "new.htm";
更具体一些, 在子窗口里写一个如下的连接
<A href="#" onClick="javascript:parentWin.location='new.htm'">新页</A>
用主窗口来控制子窗口
同样道理 ,你也可以用主窗口里面的子窗口变量来控制子窗口。 比如你想 要更换子窗口里面的网页,用下面的语句就可达到
childWin.location = "new.htm";
更具体一些, 在主窗口里写一个如下的连接
<A href="#" onClick="javascript:childWin.location='new.htm'">新页</A>
《DHTML
Builder》 Jie/文