JavaScript 创建和管理新窗口

Window 对象提供完整的方法用于创建新窗口并在父窗口与字窗口之间进行通信。

一般来说,主要使用其open()方法创建新浏览器窗口,新窗口可以包含已存在的HTML 文档或者完全由该方法创建的新文档,其语法如下:var newWindow=window.open(targetURL,pageName, options,repalce); var newWindow=open(targetURL,pageName, options,repalce);其中参数:
targetURL:指定要打开的目标文档地址;

pageName:设定该页面的引用名称;

options:指定该窗口的属性,如页面大小、有否工具条等。

其中 options 包含一组用逗号隔开的可选属性对,用以指明该窗口所具备的各种属性,其属性及对应的取值如表所示。

注意:left、height、top、width 属性的取值为整数,为像素值。其余取值为yes/no,分别表示目标具有或不具有某种属性。在当前浏览器版本中,可用1 代替yes,用0 代替no。

窗口建立后,可通过新窗口的 document 对象的write()方法往该窗口写入内容,可以是纯粹的字符串,也可是HTML 格式的字符串,后者将被浏览器解释之后再显示。

操作完成后,可通过Window 对象的close()方法来关闭该窗口,close()方法的语法如下:windowName.close();使用close()方法关闭某窗口之前,一定要核实该窗口是否已经定义、是否已经定义,如果目标窗口未定义或已经被关闭,则close()方法返回错误信息。

考察如下的综合实例,该实例演示了如何新建浏览器窗口及往该窗口写入内容的方法:[code]

Sample Page! 设置新窗口属性,然后单击“确定”按钮产生新窗口!
窗口地址 :
窗口名称 :
窗口高度 :
窗口宽度 :
左边距离 :
顶端距离 :
窗口内容 : Contents Write to the new blank window!
滚动条:
大小改变 :
目录按钮 :
地址栏 :
菜单栏 :

[/code]![](https://cdn.isharkfly.com/com-ossez-www/data/attachment/forum/201210/24/0826159bujbryrernw52e2.png)

在原始页面选中五个 checkbox 单选框,在原始页面单击“写内容进空白页面”按钮,浏览器将按照表单中设定的属性生成新浏览器窗口,并将文本域“MyContents”的内容“Contents Write to the new blank window!”写进该页面。

该新建的 HTML 页面拥有写入的字符串,不包含任何格式信息。查看源文件,仅包含“Contents Write to the new blank window!”字符串。

当然,往新建的 HTML 窗口动态写入HTML 语句也是可行的。查看如下代码:var embedHtml="<html><head><title>Sample Page!</title></head>"; embedHtml+="<body>Contents Write to the new blank window!</body></html>"; NewWindow.document.write(embedHtml);将上述代码替换源程序中的下列语句:NewWindow.document.write(document.MyForm.MyContents.value);通过上述实例,读者可以适当扩展,按照需要给新窗口适当的属性值,然后根据新窗口的引用名称动态写入HTML 语句生成交互性较强的页面。