window.open
一、 简介
window.open(url, name, features, replace)
1、 Arguments - - 参数
A、 url:可选字符串参数,指向要在新窗口中显示的文档的URL。如果省略该参数,或者参数为空字符串,新窗口不会显示文档。
B、 name:
可选字符串参数,该参数可以设置新窗口的名称。
相同name的窗口只能创建一个,要想创建多个窗口则name不能相同。
window.open()的第二个参数还可以为:
_self:在当前窗口打开
_top:如果页面上有framesets,则url会取代framesets的最顶层,即如果没有framesets,则效果等同于_self
_parent:url所指向的页面加载到当前frame的父亲,如果没有则效果等同于_self
_media:url所指向的页面加载到Media Bar所包含的HTML代码区域中,如果没有Media Bar则加到本身
C、 features:可选字符串参数,该参数用于设定新窗口的功能。因为该参数是可选的,如果没有指定该参数,新窗口有所有的标准功能。详细说明请见三、Window Features - - 窗口特性
D、 Replace:可选布尔参数,设置新窗口中的操作历史的保存方式。
true - - 创建新历史记录
false - - 替换旧的历史记录
2、 Returns - - 返回值
一个根据name参数对新创建的或已存在的窗口对象的引用。
二、 Description - - 描述
open()方法可以查找一个已经存在的或者新建的浏览器窗口。如果name参数指定了一个已经存在的浏览器窗口,则返回对该窗口的引用。返回的窗口中将显示URL中指定的文档,但是features参数会被忽略。open()方法是JavaScript中唯一通过名称获得浏览器窗口引用的途径。
如果没有指定name参数,或者不存在name参数指定的名称的窗口,open()方将创建一个新的浏览器窗口。
name参数用于指定新窗口的名称,该名称必须由字母、数字和下划线字符组成。它可以被HTML文档中的<a>标记或<form>标记指向。
当你使用window.open()方法加载一个新的文档到一个已经存在了命名的窗口中时,你可以通过replace参数设置历史记录的保存方式。如果该参数是true,新文档的历史记录将取代旧文档的历史记录。如果该参数为false或者没有指定该参数,新的文件在窗口的浏览历史记录中将建立自己的条目。该参数提供了location.replace()相同功能的方式。
不要把”window.open()”和”document.open()”混淆;这是两个完全不一样的方法。为了让代码更明晰,你可以用”window.open()”代替”open()”。作为HTML属性定义事件处理程序时,”open()”一般被解释为”document.open()”,所以在这种情况下,你必须使用”window.open()”。
三、 Window Features - - 窗口特性
feature参数是一个用逗号分隔的功能列表。如果该参数为空或者没有指定该参数,新的窗口将拥有所有的功能。另一方面,如果feature参数只指定了某一项或某几项功能,那么其他没有被指定的功能将不会出现在新的窗口中。该字符串不能包含任何空格或其它空字符串。
列表中的每个元素的格式:功能[=值]
对于绝大多数的功能来说,它们的值一般都是yes或no。对这些功能,等号和值都可以省略不写。对于width和height特性,必须给它们指定一个以像素为单位的值。
height:设定窗口显示区域的像素高度
left:浏览器窗口距离屏幕左边的距离
location:指明地址栏在新窗口中是否可见
menubar:指明菜单栏在新窗口中是否可见
resizable:指明新窗口是否可以调整大小
scrollbars:指明滚动栏在新窗口中是否可见
status:指明状态栏在新窗口中是否可见
toolbar:指明工具栏在新窗口中是否可见
top:设定新窗口距离屏幕上方的距离
width:设定窗口显示区域的像素宽度
alwaysLowered:指定窗口隐藏在所有窗口之下
alwaysRaised:指定窗口浮在所有窗口之上
dependent:指定打开的窗口为父窗口的一个子窗口。并随父窗口的关闭而关闭
directions:指定Navigator 2和3的目录栏是否在新窗口中可见
hotkeys:在没有菜单栏的新窗口设置安全退出热键
innerHeight:设置新窗口中文档的像素高度
innerWidth:设置新窗口中文档的像素宽度
outerHeight:设定窗口(包括装饰边框)的像素高度
outerWidth:设定窗口(包括装饰边框)的像素宽度
screenX:设定新窗口离屏幕边界的像素长度
screenY:设定新窗口离屏幕上边界的像素长度
titlebar:指明菜单题目栏在新窗口是否可见
z-look:在文档中包含各个<pplet>标签的数组
fullscreen:打开的窗体是否进行全屏显示
四、 实例:
<html> <head> <title>Test</title> <script language="javascript"> <!-- function testWindowOpen(ln) { if (ln == 1) { window.open('http://blog.csdn.net/xiaomianao2010', 'test1', 'height=460,width=690,left=200,top=100,resizable=yes,toolbar=yes', 'true'); } else if (ln == 2) { window.open('http://blog.csdn.net/xiaomianao2010', 'test2', 'height=460,width=690,left=200,top=100,resizable=no,scrollbars=yes', 'false'); } } --> </script> </head> <body> <a href="#" onclick="testWindowOpen(1);">点击</a> <a href="#" onclick="testWindowOpen(2);">点击</a> </body> </html> |