我有以下代码点击按钮
$('#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>>如果我再次从父窗口单击“生成”按钮,则应在子窗口打开时忽略该单击。
答案 0 :(得分:0)
如果我理解你正在尝试做什么,你可以在尝试打开一个新窗口之前检查弹出窗口是否打开。 所以像这样:
if (winPop ) {
winPop.focus();
}else{
winPop = window.open("", 'formresult', 'allthesettingshereblablah');
}
如果已经打开一个窗口,那么应该关注poup窗口。否则会打开新的。