我有以下代码点击按钮
$('#someForm').attr("target", "formresult");
.......
winPop = window.open("", 'formresult', 'allthesettingshereblablah');
.......
$('#someForm').submit();
一切正常,弹出窗口中会显示一个新的pdf。
我想加入一个逻辑,比如如果已经有一个弹出窗口打开,忽略按钮点击。。。如果我不提交,我可以进行winPop.closed检查,它会有正确的引用。
但是,如果我有submit(),引用就会丢失。。。winPop.closed不再工作。
我知道参考号被更改了,因为如果我输入
winPop.onbeforeunload = function() {
alert('i am closing');
};
在pdf显示之前会显示"我正在关闭"警报,这意味着原始的winPop已卸载,我不再有该引用。
我应该怎样做?
基本上,我需要从父窗口点击生成按钮>>提交表单并在子窗口中打开pdf>>如果我再次从父窗口单击生成按钮,它应该在子窗口打开时忽略点击。
如果我理解您要正确执行的操作,您只需在尝试打开新窗口之前检查弹出窗口是否打开即可。这样的东西:
if (winPop ) {
winPop.focus();
}else{
winPop = window.open("", 'formresult', 'allthesettingshereblablah');
}
如果已经有一个打开的,这应该集中在poup窗口上。否则将打开新的。