父子窗口通信与window.open详解

需积分: 10 1 下载量 79 浏览量 更新于2024-09-13 收藏 29KB DOC 举报
本文将详细介绍window.showModalDialog和window.open这两个在JavaScript中用于创建和操作窗口的重要函数。首先,让我们了解window.open的基本概念和支持环境。window.open函数自JavaScript 1.0版本起就被广泛支持,包括JScript 1.0、Nav2、IE3和Opera 3等浏览器。这个函数的核心功能是打开一个新的窗口,提供了一个包含页面URL、窗口名称和可选参数的语法。 1. window.opener的使用:window.opener属性是一个指向创建当前窗口的父窗口的引用。例如,在一个链接触发的窗口打开过程中,window.opener可以用来访问和修改父窗口的元素。通过window.opener,我们可以在子窗口(如b.htm)中获取并设置父窗口(如a.htm)的元素属性,如`window.opener.document.getElementById("name").value = "输入的数据";`,实现父子窗口之间的数据传递。 2. 主窗口的刷新:如果需要刷新主窗口,可以使用`window.opener.location.reload()`,这会重新加载父窗口的内容。 接下来是window.open的常用语法,它接受三个参数: - pageURL:子窗口要打开的网页路径。 - name:子窗口的名称或句柄,用于引用这个新窗口。 - parameters:一系列用逗号分隔的窗口特性参数,包括但不限于位置、尺寸、可见性、工具栏、菜单、滚动条等。 文章提供了一个具体的代码示例,展示了如何创建一个全屏且没有额外功能的新窗口,以及列出了一些常用参数及其含义: - alwaysLowered:控制窗口是否始终位于所有窗口之下,默认是no。 - alwaysRaised:使窗口始终保持浮动状态,no表示跟随其他窗口。 - depended:窗口是否依赖于父窗口,如果是yes,那么当父窗口关闭时子窗口也会关闭。 - directories:在Nav2和3中是否显示目录栏,yes/no。 - height:窗口的高度,单位为像素。 - hotkeys:是否允许用户通过快捷键操作,yes/no。 除了上述提到的参数外,window.open还支持其他高级参数,如screenX和screenY,用于指定窗口在屏幕上的初始位置,以及width和height的具体数值。这些参数的选择取决于开发者的具体需求和浏览器兼容性。 window.showModalDialog和window.open函数是Web开发者必备的技能,掌握它们可以帮助构建动态交互的网页应用,实现窗口的打开、数据传递和窗口管理。理解并灵活运用这些功能,可以提高网站的用户体验和功能完整性。