1

ページがバイナリデータ(PDF)をブラウザに書き込んだ後、ポップアップウィンドウを閉じる方法はありますか?

詳細は次のとおりです。

Webアプリケーションを印刷する必要があるときはいつでも、いくつかのパラメーターがポップアップウィンドウに渡され、ポップアップウィンドウに印刷オプションが表示されます。ユーザーが[印刷]ボタンをクリックすると、印刷を行うページを呼び出すiframeのsrcが設定されます。

URL/HTMLをPDFファイルに変換するPDFConverterがあります。変換の最後に、バイナリがブラウザに書き込まれます。ここにいくつかのコードがあります:

response.AddHeader("Content-Type", "binary/octet-stream");
response.AddHeader("Content-Disposition",
"inline; filename=" + fileName + ".pdf; size=" + pdfBytes.Length.ToString());
response.Flush();
response.BinaryWrite(pdfBytes);
response.Flush();

これが完了したら、ポップアップウィンドウを閉じる必要があります。ただし、応答がフラッシュされた後は何もできないようです。何か案は?

前もって感謝します!

アンジェラ

4

2 に答える 2

0

ポップアップウィンドウで作成する代わりにiframe、親ウィンドウで作成することもできます。このように、ユーザーがprintボタンをクリックすると、印刷プロセスを中断することなく、ポップアップを安全に閉じることができます。ただし、一部のブラウザでブロックされる可能性のある新しいポップアップウィンドウを作成するという面倒な作業をすべて行う代わりに、ユーザーが印刷オプションを選択してドキュメントを印刷できるように、メインページにプレースホルダーを作成するだけです。

于 2009-12-04T18:20:01.227 に答える
0

他の誰かが同じ問題を抱えている場合に備えて。これは私にとってうまくいくように見える解決策です。

jQuerySimpleModalを使用してオプションリストページを表示します。このページでは、1秒ごとにウィンドウタイマーを実行して、印刷ジョブが完了したかどうかをサーバーと照合します。そのためにajaxを使用します。ジョブが完了したら、セッション変数を更新します。サーバーへのajax呼び出しにより、セッション値が取得され、ポップアップウィンドウが閉じます。

于 2009-12-04T21:28:35.177 に答える