JavaScript中window.open控制窗口重开与参数详解
本文详解JavaScript中window.open方法的用法,重点解决指定窗口名导致新内容覆盖旧窗口的问题。通过生成随机窗口名或使用_blank参数,可实现每次打开独立新窗口。同时完整解析URL、窗口名称及参数字符串等关键参数,并提醒注意浏览器兼容性问题。
window.open窗口覆盖问题分析
在开发JSP页面时,有时需要打开一个没有菜单和工具栏的IE浏览器窗口,通常会使用window.open方法。然而,如果之前打开的窗口未关闭,再次调用该方法打开新窗口时,新内容会在原有的未关闭窗口中加载,导致原窗口被替换。经过资料查阅和测试发现,当打开窗口时指定的窗口名称与当前已存在的某个窗口名称相同时,新内容就会在该同名窗口中打开。具体示例如下:
window.open("view_svg.jsp?ukey=<%=ukey%>&itemID=<%=itemID%>&charset=UTF-8","newWindow","height='100%', width='100%',toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=no,status=no"); 这样打开的每一个窗体都是在名为newWindow的窗体中打开。
需要注意,窗口的名称(name)与网页标题(title)是两个不同的概念。
1.window.open(urlStr,'_blank','');
其中,_blank参数表示打开一个新的浏览器窗口。
此外,还可以采用其他方法确保每次打开的窗口都具有不同的名称。
<%
Random rd = new Random();
int i = rd.nextInt(100)+1;
String ranStr = String.valueOf(i);
%>
<script type="text/javascript">
function doclose(){
var currnwin = window.open("view_svg.jsp?ukey=<%=ukey%>&itemID=<%=itemID%>&charset=UTF-8","<%=ranStr%>","height='100%', width='100%',toolbar=no,location=no,directories=no,menubar=no,scrollbars=no,resizable=no,status=no");
window.opener=null;
window.close();
window.focus();
}
</script>
window.open方法语法与参数详解
下面给大家介绍如何使用JavaScript的window.open方法打开新窗口。
open()方法用于查找一个已经存在的浏览器窗口,或者创建一个新的浏览器窗口。
其语法结构如下:
window.open([URL], [窗口名称], [参数字符串])
各参数说明如下:
URL:这是一个可选参数,指在窗口中要显示的网页网址或路径。如果省略此参数,或者其值为空字符串,那么窗口将不显示任何文档内容。
窗口名称:这是一个可选参数,用于指定被打开窗口的名称。
1.该名称由字母、数字和下划线字符组成。 2."_top"、"_blank"、"_selft"具有特殊意义的名称。 _blank:在新窗口显示目标网页 _self:在当前窗口显示目标网页 _top:框架网页中在上部窗口中显示目标网页 3.相同 name 的窗口只能创建一个,要想创建多个窗口则 name 不能相同。 4.name 不能包含有空格。
参数字符串:这是一个可选参数,用于设置窗口的相关属性,各参数之间用逗号隔开。
参数表如下:

例如:打开http://www.baidu.com网站,大小为300px * 200px,无菜单,无工具栏,无状态栏,有滚动条窗口:
<script type="text/javascript"> window.open('http://www.baidu.com','_blank','width=300,height=200,menubar=no,toolbar=no, status=no,scrollbars=yes')
</script>
友情提醒:在此一定注意浏览器的兼容性问题哈。
D3.js 比例尺与坐标轴的配置详解
2026-11-05 16:54:46
JavaScript怎么遍历对象的Symbol键和不可枚举属性
2026-11-05 13:13:39
封装一个健壮的JS字符串判空工具函数
2026-11-05 12:16:14
JavaScript合并数组的三种常用方法:concat、扩展运算符与push
2026-11-05 11:22:29
JavaScript立即执行函数(IIFE)是什么及基本语法
2026-11-05 10:51:19
