使用window.open()的多个Windows

Per*_*ncy 19 javascript asp.net

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

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

我确定这是微不足道的,但我似乎找不到任何东西.

epa*_*llo 18

为每个窗口指定一个新窗口名称.

window.open(url, WindowName)
Run Code Online (Sandbox Code Playgroud)

  • 谢谢,但它不起作用。使用它我只能打开一个窗口 (2认同)

Sha*_*dow 10

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

var randomnumber = Math.floor((Math.random()*100)+1); 
 window.open(yoururl,"_blank",'PopUp',randomnumber,'scrollbars=1,menubar=0,resizable=1,width=850,height=500');
Run Code Online (Sandbox Code Playgroud)

  • 您应该使用计数器,而不是使用随机数,然后可以保证名称是唯一的.它也是一个更简单的算法,效率更高:`window.open(yoururl,"_ blank","PopUp"+ ++ counter +'...')`. (6认同)
  • 这个答案被错过了wazoo,只能巧合:1.window.open()最多需要4个参数:url,name,options,replace.你错误地调用了它,参数太多,参数错位.2.随机数名称和窗口选项都没有按预期工作.3."_ blank"本身意味着"在新窗口中打开"4.一个介于1和100之间的随机数对于唯一性是不可靠的(尽管在你的答案中由于错误#1和#2它不会被用于无论如何). (4认同)