0

ボタンの次のコード onClick があります

$('#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 が表示される直前に I am close アラートが表示されます。これは、元の winPop がアンロードされ、その参照がなくなったことを意味します。

これを行うべき適切なフロー/方法は何ですか?

基本的に、親ウィンドウから生成ボタンをクリックする必要があります>>フォームを送信し、子ウィンドウでpdfを開きます>>親ウィンドウから生成ボタンを再度クリックすると、子ウィンドウが開いているときにクリックを無視する必要があります。

4

1 に答える 1

0

あなたが何をしようとしているのかを正しく理解している場合は、新しいウィンドウを開こうとする前に、ポップアップ ウィンドウが開いているかどうかを確認するだけです。だから、このようなもの:

if (winPop ) {
winPop.focus();
    }else{
 winPop = window.open("", 'formresult', 'allthesettingshereblablah');
}

すでに開いているポップアップ ウィンドウがある場合、これはポップアップ ウィンドウに焦点を当てる必要があります。それ以外の場合は、新しいものが開かれます。

于 2011-06-20T18:48:36.873 に答える