* 仕様書 [REFS[ - [12] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-04-03 03:44:44 +09:00]] 版) - [15] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-04-03 03:44:44 +09:00]] 版) - [17] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-04-03 03:44:44 +09:00]] 版) ]REFS] * 物理形 [13] [[利用者エージェント]]は[[利用者]]に対して[DFN[[RUBYB[[[物理形を得る]]]@en[obtain a physical form]]]] (または物理形の[RUBYB[表現]@en[representation]]を得る) 機会を要求できるようにすることが[[期待されています]] [SRC[>>12]]。 ここで物理形を得るとは例えば[[印刷]]のことを、物理形の表現を得るとは例えば [[PDF]] への変換のことをいいます [SRC[>>15]]。 [19] [[利用者]]が[[物理形を得る]] (または表現を得る) 機会を要求した時には、 [[printing steps]] を走らせる[['''べきです''']] [SRC[>>15]]。 ;; [30] 「物理形を得る」が >>19 と >>26 で異なる意味で使われているように見えます。 [14] 実際に[[物理形を得る]] (または表現を得る) 際には、当該 [CODE(DOMi)@en[[[Document]]]] の[[印刷]][[媒体]]用の新しい[[レンダリング]]を作成することが[[期待されています]] [SRC[>>12]]。 * [CODE(JS)@en[window.print]] (DOM) [16] [CODE(DOMi)@en[[[Window]]]] [[インターフェイス]]の [DFN[[CODE(DOMm)@en[[[print]]]]]] は、[[引数]]なし、[[返り値]]なしの[[メソッド]]です [SRC[>>15]]。 [18] [CODE(DOMi)@en[[[Document]]]] が [[ready for post-load tasks]] 状態なら、 同期的に [[printing steps]] を実行します。そうでないなら、 [DFN[[[print when loaded]]]] フラグを設定します。 [SRC[>>15]] * printing steps [20] [DFN[[[printing steps]]]] とは、次の手順です [SRC[>>15]]。 [FIG[ = [21] [[利用者]]にメッセージを表示するか、ここで終わるか、あるいはその両方を実行して構いません。 =- [22] 例えば[[キオスクモード]]では黙って無視して構いません。 =- [23] 例えば[[モバイル機器]]の[[ブラウザー]]で印刷機がないときはメッセージを出してから「[[PDF]] で保存」 オプションを提示しても構いません。 = [24] 印刷される[[文書]]とその[[入れ子閲覧文脈]]の [CODE(DOMi)@en[[[Window]]]] で [CODE(DOMe)@en[[[beforeprint]]]] [[単純イベントを発火]]します。 = [25] [[ストレージミューテックスを開放]]します。 = [26] [[物理形を得る]] (または表現を得る) 機会を提供する[['''べきです''']]。 =- [27] [[利用者]]がこれを受け付けるか断るかするまで待って[['''構いません''']]。待つ場合は [[pause]] しなければ[['''なりません''']]。 =- [28] 待たない場合であっても、この時点での[[文書]]の状態を使わなければ[['''なりません''']]。 = [29] 印刷される[[文書]]とその[[入れ子閲覧文脈]]の [CODE(DOMi)@en[[[Window]]]] で [CODE(DOMe)@en[[[afterprint]]]] [[単純イベントを発火]]します。 ]FIG] * 歴史 [1] [CITE[Printing the Web: Solutions and Techniques | Smashing Magazine]] ([CODE[2007-02-24 00:44:42 +09:00]] 版) ([[名無しさん]] [WEAK[2007-02-23 16:09:40 +00:00]]) [2] [CITE[TRANS - 印刷用CSSをもっとよくするための4つのTips。]] ([CODE[2007-04-22 03:28:49 +09:00]] 版) ([[名無しさん]] [WEAK[2007-04-23 01:23:19 +00:00]]) [4] [CITE@de[W3C Print Symposium 2006]] ([CODE[2006-10-23 20:51:46 +09:00]] 版) [5] [CITE[CSS Print Profile]] ( ([TIME[2013-03-14 20:50:03 +09:00]] 版)) [6] [CITE@en[The New Publishing - A W3C Workshop on the Open Web Platform and the Traditional Print Publishing Industry]] ( ([TIME[2013-10-04 08:21:37 +09:00]] 版)) [7] [CITE['''['''whatwg''']''' window.print() when printing is not supported]] ([TIME[2010-03-23 11:24:14 +09:00]] 版) [8] [CODE(HTMLa)@en[[[onload]]]] で [CODE(JS)@en[[[window]].[[print]]()]] する頁がありました。うざいですね。 [CODE(JS)@en[[[window]].[[open]]()]] と同じで制限するべきではないでしょうか。 ([[名無しさん]] [WEAK[2007-07-01 12:42:56 +00:00]]) [REFS[ - [9] [CITE[Bug 43658 – Calling window.print() before the page is loaded results in a blank printed page]] ( ([TIME[2011-01-22 02:20:14 +09:00]] 版)) - [10] [CITE[''''''[''''''whatwg'''''']'''''' Browsers delay window.print() action until page load finishes]] ( ([TIME[2011-08-03 08:57:12 +09:00]] 版)) ]REFS] - [11] [CITE@ja[はてなブックマーク - コメントなし - 2009年12月24日]] ([TIME[2010-01-01 12:19:17 +09:00]] 版)