あなたが印刷したいページがreport.htmlであるとします。 GETのパラメタとしてメディアの議論を受け入れるような方法でページを開発する。すなわちyoursite.com/report.html?media=X
のようなもの - この値に応じて、 - Xは'screen'
することができ、'print'
などXが空の場合、それは「画面」のデフォルト値
書き込み2つのCSSファイル、すなわちscreen.cssとprint.cssを使用することができますメディア引数(X)のうち、screen.cssまたはprint.cssをページにインポートします。
screen.cssでは、 '@media画面' の内側あなたのスタイルのDEFSを書くブロックのように:print.cssで
@media screen {
body {
... screen style here ...
}
}
は、 '@media画面、印刷' ブロックのように内部のあなたのスタイルDEFSを書きます:あなたのreport.htmlをで
@media screen, print {
body {
... print style here ...
}
}
は、window.open('report.html?media=print', ...)
を呼び出し、そのonclick
に、あなたは印刷ボタンがあるとします。 Ctrl + Pを受け取ると、ドキュメントオブジェクトに添付されているキーダウンハンドラからも同じことをします。あなたのページのonload
でも
、メディアの引数は「印刷」し、その後のようなもの、すなわち、(500ミリ秒を言う)短い遅延の後にwindow.print()
をコールされた場合であるかどうかを確認:まさにあなたは何
if(window.location.href.indexOf('media=print')!=-1) {
setTimeout(function() { window.print(); }, 500);
}
質問?あなたはあなた自身の質問に答えました。 – Blender
彼は例を求めています... "任意の例をお願いします"それを暗示していたはずです:) – ChrisR
@Blender window.printを追加すると、印刷オプションがロードされます。
しかし、まず印刷プレビューは表示されません。どうしたらいいですか? –