| | | 快速精通FRAME(下) | | 2001-03-14·
·听风编译··yesky
| 上一页 1 2 3 4 5 下一页 FRAME间的脚本控制
使用JavaScript,我们既可以从创建窗口的页面访问那个窗口,也可以从这个窗口创建的窗口访问它。另一方面,FRAMESET中的文档(包括FRAMESET本身)总是可以访问和操纵其中每个的JavaScript函数和变量。比如说,第三个FRAME中有函数sayGobble(vol),那么在其他FRAME中就可以使用parent.FRAMEs[2].sayGobble(vol)来引用它。同样,FRAMESET页面中的变量myName可以被任何FRAME以parent.myName="Imelda"的命令进行设置。
不管在其他FRAME中的内容如何,在静态FRAME或者FRAMESET中的函数和变量始终保持可用。这个特征非常有价值,不仅可以将通用函数保存在其中从而压缩代码,而且,还可以实现页面间转换时的状态保持。
下面的FRAMESET页面只有一个FRAME叫做query.htm,并且定义了一个JavaScript变量myWord:
<HTML><HEAD> <TITLE>Passing data</TITLE> <SCRIPT LANGUAGE="JavaScript"><!-- myWord=""; //--></SCRIPT> </HEAD> <FRAMESET rows="*,1" FRAMEBORDER=no> <FRAME name="active" src="query.htm"> <FRAME name="dummy"> </FRAMESET> </HTML> |
页面query.htm有一个文本输入框以及一个到result.htm的链接,链接的onClick事件将设置FRAMESET页面的myWord变量为文本输入框的内容。代码如下:
<HTML><HEAD></HEAD> <BODY> <FORM name="myForm"> <INPUT type=text size=12 name="myText"> <P> <A onClick="parent.myWord=myText.value" href="result.htm">See it in yellow on blue!</A> </FORM> </BODY></HTML> |
页面result.htm取回并打印出myWord的数值,代码是:
<HTML> <HEAD></HEAD> <BODY bgcolor=#0000cc vlink=#99ffff> <FONT size=+3 color=#ffff00> <SCRIPT language="JavaScript"><!-- document.write(parent.myWord); //--></SCRIPT> </FONT><P> <A href="query.htm">Do it again</a> </BODY></HTML>
点击这里看看实际效果 |
这个例子很有实用价值。比如说,你可以设定访问者按一定的次序打开页面,收集用户信息,最后定制出用户特制的显示内容。
谈到状态维护功能,这个方法不会比使用cookie或CGI更好,因为当FRAMESET重载或者退出时,变量值就丢失了。但是,它不要求服务器端响应,也不存在安全问题,因此还是可以小试一把的。
下一页:用脚本控制浮动FRAME
上一页 1 2 3 4 5 下一页 | | | 感谢
访问天极网,如果您觉得该文章涉及版权问题,请看这里!
|
|