[JavaScript] Webページに印刷ボタンをつける

Posted by
ぴろり
Posted at
2007/07/04 01:48
Trackbacks
関連記事 (0)
Comments
コメント (2)
Post Comment
コメントできます
Category
開発メモ カテゴリ

 ページに"このページを印刷する"ボタンを置いて,ユーザがクリックすると印刷ダイアログを出すための

この記事をはてなブックマークに追加する この記事のはてなブックマーク数 | この記事をlivedoorクリップに追加する この記事のlivedoorクリップ数 | この記事をYahooブックマークに追加する この記事のYahoo!ブックマーク数 | この記事をdel.icio.usに追加する
プリンタのアイコンこのページを印刷する

 window オブジェクトの print メソッドを呼び出すだけです。の印刷ダイアログを表示するところまでで,実際に印刷が実行されるわけではありません。上のサンプルで使用しているアイコンは Tango Icon Gallery から頂きました。

GMail での実装を見るとwindow.print(); の直前に document.body.offsetHeight;と書かれていますがこの部分の意図は不明。何かのhack?

ところで

 制作者にはの画面上での見栄えだけでなく,印刷された時の見栄えも気にして欲しいですね。印刷するとサイドバーやだけで1ページもって行かれたり,記事本文がページ末端でブチ切れて肝心の部分が見えなかったりと悲惨なページに遭遇することがあります。記事以外の広告やパーツ,最近の一覧などのユーザの印刷物にとって不要な部分には display:none; を指定した印刷用の CSS を用意するだけでとりあえずは十分です。自分のサイトをお持ちの方は一度,印刷プでどのように見えるかチェックしてみるとよいかもしれません。
 加えてヘッダの直後やテーブル組みの途中での改ページを制御すれば完璧でしょう。このサイトでもテーブルの途中で改ページされたりする記事があるので後で対応しようと思います。


この記事を読んだ人はこんな記事も読んでいます 記事リコメンデーションについて

その他の関連する記事


関連記事/トラックバック

関連記事/トラックバックはまだありません

この記事にトラックバックを送るには?

寄せられたコメント (全 2 件中、最新 5 件まで表示しています)

Posted by
ぴろり ◆OLEEi.VOX.
at
2008/12/18 22:35
ID
M88UgPi2

こんにちは。
指定した任意のIFRAME内のページだけを印刷,というのは現状では無理ではないかと思います。
もしかすると何か方法があるのかもしれませんが私も知りません。

Posted by
修行者
at
2008/12/16 10:33
ID
KU32IYcU

こんにちは、はじめまして
勉強中のものです。
TOPページにINFRAMEで表示している別ページのみ印刷できるように
したいのですが、勉強不足でわかりません。
ご教授頂けると助かります。
どうぞよろしくお願い致します。

コメントを投稿する

 
 (匿名可/必須/公開)
 (匿名可/必須/非公開)
 (必須)
コメントスパム防止のため投稿前に ランダムな数字 CAPTCHAについて を入力してから投稿してください。お手数ですがご協力のほど宜しくお願いいたします。