使用 window.open() 的多个窗口

IT技术 javascript asp.net
2021-03-01 19:40:16

众所周知,如果您单击嵌入其中的提交按钮,则会onClick(windown.open(...))打开一个新窗口,其中包含您指定的所有可爱属性。但是,如果然后继续单击父窗口并再次单击“提交”按钮而不关闭上一个弹出窗口,则该窗口将被新数据覆盖。

现在我需要一种方法让该window.open()脚本在每次单击时创建新窗口。所以理论上我可以连续点击父级“提交”按钮 2 次并显示 2 个不同的子窗口。

我确定这很简单,但我似乎找不到任何东西。

5个回答

给每个窗口一个新的窗口名称

window.open(url, WindowName)
你给每个人都起了一个独特的名字吗?AKA,用计数器增加它。
2021-04-21 19:40:16
使用“_blank”作为它WindowName,它总是会打开一个新窗口。
2021-04-29 19:40:16
谢谢,但它不起作用。使用它我只能打开一个窗口
2021-05-12 19:40:16
您似乎也可以使用空字符串。在我的 Firefox 上,它每次都会创建一个新窗口。
2021-05-13 19:40:16

试试这个,它会创建新的孩子,小提琴

var randomnumber = Math.floor((Math.random()*100)+1); 
 window.open(yoururl,"_blank",'PopUp',randomnumber,'scrollbars=1,menubar=0,resizable=1,width=850,height=500');
这个答案在 wazoo 中被窃听了,只能巧合: 1. window.open() 最多接受 4 个参数:url、name、options、replace。您错误地调用了它,参数太多且参数未对齐。2. 随机数名称和窗口选项都没有按预期工作。3. “_blank”本身的意思是“在新窗口中打开” 4. 1 到 100 之间的随机数的唯一性是不可靠的(尽管在您的回答中由于错误 #1 和 #2,它没有被用于无论如何)。
2021-04-17 19:40:16
它在 javascript 中工作,但我正在创建 asp.net 应用程序。随机数已生成,但在 window.open 函数中传递值时,它不起作用。
2021-04-30 19:40:16
而不是使用随机数,您应该只使用计数器,然后可以保证名称是唯一的。它也是一种更简单的算法,也更有效:window.open(yoururl,"_blank",'PopUp'+ ++counter +'…').
2021-05-01 19:40:16

检查这可能会帮助您每次打开新窗口。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>jQuery demo</title>
  <script src="jquery-1.9.1.js"></script>
</head>
<body>

<script>
$(document).on("click", "#btn", function(event) {
    window.open("http://www.google.com", '_blank');
});

</script>
<input type=button name="btn" id="btn">
</body>
</html>
来自 Mozilla 文档:要在每次调用 window.open() 时打开一个新窗口,请为 strWindowName 使用特殊值 _blank。developer.mozilla.org/en-US/docs/Web/API/Window/open
2021-04-25 19:40:16
请参阅您的权利,该代码确实打开了一个窗口,但是如果您保持该子窗口打开,并重新单击父窗口上的按钮,则不会生成一个新的子窗口。它只是刷新同一个子窗口。我需要能够创建多个同时运行的子窗口。
2021-04-26 19:40:16
是的,它正在打开新页面。我必须多次打开一个新窗口才能多次点击。
2021-05-11 19:40:16
@Percia Nancy:-不,我在 chrome 和 firefox 浏览器中尝试过它正在打开一个新页面。
2021-05-16 19:40:16

window.open(url, '', 'width=1000, height=500')

然后,你每次点击弹出按钮都会得到新的弹出窗口。

您需要禁用仅打开一个窗口的跟踪出站链接。将以下 javascript 代码添加到 index.html 文件:

<script type="text/javascript">
  var clicky_custom = clicky_custom || {};
  clicky_custom.outbound_disable = 1;
</script>
这个答案似乎与问题无关,它与“Clicky 网络分析”产品有关。
2021-04-28 19:40:16