我试图同时打开多个弹出窗口。我尝试使用循环,但它没有工作。我不明白为什么这不起作用。有一个更好的方法吗?我的代码:
JS:
function myFunction() {
for (var i = 0; i < 5; i++) {
window.open("", "MsgWindow", "width=400, height=200");
}
}
HTML:
<button onclick="myFunction()">Try</button>
答案 0 :(得分:4)
window.open()
的第二个参数必须是唯一的才能打开新窗口或必须设置为"_blank"
。
来自window.open()
的{{3}}:
var windowObjectReference = window.open(strUrl, strWindowName, [strWindowFeatures]);
如果已存在名称为
strWindowName
的窗口,则strUrl
为 加载到现有窗口中。在这种情况下的返回值 method是现有窗口,strWindowFeatures
被忽略。 为strUrl
提供空字符串是获取对引用的一种方法 按名称打开窗口而不更改窗口的位置。至 在window.open()
的每次通话中打开一个新窗口,使用特殊功能"_blank"
的值strWindowName
。
注意:现在大多数浏览器都内置了弹出窗口阻止程序。这些弹出窗口阻止程序通常会允许在鼠标单击的直接结果时打开一个新窗口,但如果代码尝试打开,它们可能会施加限制很多窗户。此弹出窗口阻止程序行为不符合某些规范,因此从浏览器到浏览器的详细实现可能会有所不同。