2010-11-27 1 views
3

jQuery UIダイアログを印刷できるようにする必要があります。これまでの私の解決策では、ダイアログの内容で新しいを作成して印刷する「印刷」ボタンを作成しました。javascriptを使用して印刷した後にイベントを発生させることができるクロスブラウザの方法はありますか?

印刷が完了するとすぐにを削除したいと考えています。私はこれを行うことができる方法はありますか? IEでonAfterPrintイベントがあることは知っていますが、これはすべてのブラウザで動作する必要があります。

ありがとうございます!

編集:私はCSSルールを使用してjQueryダイアログを印刷しようとすると、さまざまな問題に遭遇しました。多くのコンテンツと複数のダイアログがあるページでは、オーバーレイやその他の要素の構造によって余分な空白ページが印刷されます。私は{visibility:hidden; }と{display:none; }解決策が見つかりませんでした。

答えて

5

media = "print"属性を持つ特殊なスタイルシートを作ったことがありますか?このスタイルシートを印刷したくないページ上の他のものをすべて非表示にし、必要に応じて書式をリセットします。 (例えば、ボックスの位置を絶対から静的にリセットする)

+1

これは質問された内容には答えませんが、Askerの中核的な問題に対する公正な解決策だと思います。 +1 – Nixuz

+0

OPよりもはるかに現実的なアイデア。 +1 –

+1

私はダイアログを持たない通常のページにこのメソッドを使用しますが、CSSを使用して適切なフォーマットで一番上のダイアログだけを印刷することはできないと思いました。画面上に複数のダイアログがあり、一番上のもの、またはフォーカスのあるものだけが印刷されるべき状況がかなりあります。 –

関連する問題