0

私は2つのポップアップウィンドウを開く必要があり、最初のウィンドウにはpdfを開くために使用する2番目に開くボタンが含まれています。ここで、ボタンをクリックして2番目に開くときに値(テキストボックスを含む)を少し変更すると、2番目がリロードされます。ただし、フォーカスは 2 番目のウィンドウに移動しません

ここに古い投稿を添付してみますが、それでも同じ問題があります。

最初にウィンドウを閉じる必要のない、より良い解決策があると思います。問題は、空の URL (つまり '') で再度ウィンドウを開こうとすると、IE がウィンドウ (PDF など) をオーバーライドしないことです。ただし、空でない URL で PDF をオーバーライドします。それはファイルかもしれませんが、about:blank はさらにうまく機能します (これは通常、空の URL が行うことです)。

コードの書き方によっては、まだ try/catch が必要な場合がありますが、これにより必要がなくなります。

windowHandle = window.open('about:blank',name,attributes);
windowHandle.document.location.href = url;
windowHandle.focus();

about:blank は、PDF を強制的に子ウィンドウから外し、必要なことを実行できるようにします。URL と focus() の設定を windowHandle.onload() ハンドラーに配置することは悪い考えではないかもしれないので、PDF を破棄するタイミングの問題はありません。すなわち:

windowHandle.onload=function(){
    windowHandle.document.location.href = url;
    windowHandle.focus();
};

ありがとう

私の主な問題は、windowHandle.focus(); を呼び出すことです。pdfでエラーを生成します。

4

0 に答える 0