たとえば、たくさんのテキストと表が載っているページがあります。
ユーザーが「このテーブルを印刷する」javascriptリンクを使用してテーブルだけを印刷できるようにしたいのですが、それでもページの残りの部分を通常のブラウザの印刷方法で印刷できるようにしたいです。
まず、print.cssスタイルシートを以下のように含めます。
<link type="text/css" rel="stylesheet" href="style/print.css" media="print">
print.cssには、クラス'.noPrint'が表示されるように設定されています:none。
解決策は、divのテーブルではないコンテンツを「tempNoPrint」クラスでラップし、「print this table」をクリックすると、javascriptで「tempNoPrint」を使用してすべてのdivに「noPrint」を追加することです。したがって、プリンタバージョンでそれらを非表示にします。
それは問題ありません、そして私はきっとうまくいくでしょう。
ただし、テーブルのみの印刷が完了した後、すべての「tempNoPrint」divから「noPrint」クラスを削除するにはどうすればよいですか?印刷ダイアログから送信されるJavaScriptコールバックはありますか?私はタイマーを使うことができましたが、それは非常に信頼できないようです。