このページを印刷する
window オブジェクトの print メソッドを呼び出すだけです。ブラウザの印刷ダイアログを表示するところまでで,実際に印刷が実行されるわけではありません。上のサンプルで使用しているアイコンは Tango Icon Gallery から頂きました。
GMail での実装を見るとwindow.print(); の直前に document.body.offsetHeight;と書かれていますがこの部分の意図は不明。何かのhack?
Web制作者にはCSSの画面上での見栄えだけでなく,印刷された時の見栄えも気にして欲しいですね。印刷するとサイドバーやAdSenseだけで1ページもって行かれたり,記事本文がページ末端でブチ切れて肝心の部分が見えなかったりと悲惨なページに遭遇することがあります。記事以外の広告やブログパーツ,最近のコメント一覧などのユーザの印刷物にとって不要な部分には display:none; を指定した印刷用の CSS を用意するだけでとりあえずは十分です。自分のサイトをお持ちの方は一度,印刷プレビューでどのように見えるかチェックしてみるとよいかもしれません。
加えてヘッダの直後やテーブル組みの途中での改ページを制御すれば完璧でしょう。このサイトでもテーブルの途中で改ページされたりする記事があるので後で対応しようと思います。
寄せられたコメント (全 2 件中、最新 5 件まで表示しています)
こんにちは。
指定した任意のIFRAME内のページだけを印刷,というのは現状では無理ではないかと思います。
もしかすると何か方法があるのかもしれませんが私も知りません。
こんにちは、はじめまして
勉強中のものです。
TOPページにINFRAMEで表示している別ページのみ印刷できるように
したいのですが、勉強不足でわかりません。
ご教授頂けると助かります。
どうぞよろしくお願い致します。