1.window.open的4个参数
window.open(pageURL,name,parameters,bReplace)
其中:
pageURL 为子窗口路径 ,写的时候要注意绝对路径要加http://,相对路径要加../
name 为子窗口句柄 (这是实现关闭的关键,详细看之后)
parameters 为窗口参数(各参数用逗号分隔) :
alwaysLowered | yes/no | 指定窗口隐藏在所有窗口之后
alwaysRaised | yes/no | 指定窗口悬浮在所有窗口之上
depended | yes/no | 是否和父窗口同时关闭
directories | yes/no | Nav2和3的目录栏是否可见
height | pixel value | 窗口高度
hotkeys | yes/no | 在没菜单栏的窗口中设安全退出热键
innerHeight | pixel value | 窗口中文档的像素高度
innerWidth | pixel value | 窗口中文档的像素宽度
location | yes/no | 位置栏是否可见
menubar | yes/no | 菜单栏是否可见
outerHeight | pixel value | 设定窗口(包括装饰边框)的像素高度
outerWidth | pixel value | 设定窗口(包括装饰边框)的像素宽度
resizable | yes/no | 窗口大小是否可调整
screenX | pixel value | 窗口距屏幕左边界的像素长度
screenY | pixel value | 窗口距屏幕上边界的像素长度
scrollbars | yes/no | 窗口是否可有滚动栏
titlebar | yes/no | 窗口题目栏是否可见
toolbar | yes/no | 窗口工具栏是否可见
Width | pixel value | 窗口的像素宽度
z-look | yes/no | 窗口被激活后是否浮在其它窗口之上
补充:top:为距离窗体上方的距离
left:为距离窗体左侧的距离
location:当用IE9或IE8的时候新打开一个窗体要用location=no,这样会新弹出一个窗口而不是在标签里。
bReplace 是true/false,用来指定是否在替换当前浏览器历史中的地址。
2. window.open实现关闭其它窗口的用法
关键:name ,location
原理:利用已经打开的窗体的窗口句柄,在新打开的窗体将其窗体句柄与已经打开的一致,从而冲掉旧窗体,实现关闭。
例子:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function openBaidu() {
// 打开百度
window.open("http://www.baidu.com", "baidu", "location=no", false);
}
function closeBaidu() {
// 关闭百度
var obj = window.open("about:blank", "baidu", "location=no,top=10000;left=10000",false);
obj.close();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="open" οnclick="openBaidu();" />
<input type="button" value="close" οnclick="closeBaidu();" />
</div>
</form>
</body>
</html>
说明:
1.当点击open按钮时会打开百度,其窗口句柄名为baidu
2.点击close按钮的时候会新打开一个窗体,窗口句柄名字仍为baidu
3.在IE8,9下需设置localtion,top和left为让第二次打开的窗体不被看到,可以没有
4.obj.close(); 可以让新打开的窗体关闭,从而两个画面全关闭。可以没有。
5.在试验前需设置 Internet选项->安全->受信任的站点->自定义级别->允许脚本初始化的窗口不受位置和大小限制
6.设置 Internet选项->高级->允许脚本调试
7.当打开别的服务器的窗体,再在本地实现关闭的时候,虽然采用同样的句柄名,但无法实现关闭,而且会报脚本错,这个自己仍在调查.....。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function openBaidu() {
// 打开百度
window.open("http://www.baidu.com", "baidu", "location=no", false);
}
function closeBaidu() {
// 关闭百度
var obj = window.open("about:blank", "baidu", "location=no,top=10000;left=10000",false);
obj.close();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="open" οnclick="openBaidu();" />
<input type="button" value="close" οnclick="closeBaidu();" />
</div>
</form>
</body>
</html><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function openBaidu() {
// 打开百度
window.open("http://www.baidu.com", "baidu", "location=no", false);
}
function closeBaidu() {
// 关闭百度
var obj = window.open("about:blank", "baidu", "location=no,top=10000;left=10000",false);
obj.close();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="open" οnclick="openBaidu();" />
<input type="button" value="close" οnclick="closeBaidu();" />
</div>
</form>
</body>
</html><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function openBaidu() {
// 打开百度
window.open("http://www.baidu.com", "baidu", "location=no", false);
}
function closeBaidu() {
// 关闭百度
var obj = window.open("about:blank", "baidu", "location=no,top=10000;left=10000",false);
obj.close();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="open" οnclick="openBaidu();" />
<input type="button" value="close" οnclick="closeBaidu();" />
</div>
</form>
</body>
</html><html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script type="text/javascript">
function openBaidu() {
// 打开百度
window.open("http://www.baidu.com", "baidu", "location=no", false);
}
function closeBaidu() {
// 关闭百度
var obj = window.open("about:blank", "baidu", "location=no,top=10000;left=10000",false);
obj.close();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input type="button" value="open" οnclick="openBaidu();" />
<input type="button" value="close" οnclick="closeBaidu();" />
</div>
</form>
</body>
</html>