1 |
wakaba |
1.7 |
* 仕様書
|
2 |
|
|
|
3 |
|
|
[REFS[
|
4 |
wakaba |
1.10 |
- [12] '''[CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-04-03 03:44:44 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#print-media>'''
|
5 |
|
|
- [15] '''[CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-04-03 03:44:44 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#printing>'''
|
6 |
wakaba |
1.8 |
- [17] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-04-03 03:44:44 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#window>
|
7 |
wakaba |
1.9 |
- [31] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-04-03 03:44:44 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#event-handlers-on-elements,-document-objects,-and-window-objects>
|
8 |
wakaba |
1.10 |
- [34] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-04-03 03:44:44 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#the-end>
|
9 |
wakaba |
1.7 |
]REFS]
|
10 |
|
|
|
11 |
|
|
* 物理形
|
12 |
|
|
|
13 |
wakaba |
1.8 |
[13] [[利用者エージェント]]は[[利用者]]に対して[DFN[[RUBYB[[[物理形を得る]]]@en[obtain a physical form]]]]
|
14 |
|
|
(または物理形の[RUBYB[表現]@en[representation]]を得る) 機会を要求できるようにすることが[[期待されています]] [SRC[>>12]]。
|
15 |
|
|
ここで物理形を得るとは例えば[[印刷]]のことを、物理形の表現を得るとは例えば [[PDF]] への変換のことをいいます
|
16 |
|
|
[SRC[>>15]]。
|
17 |
|
|
|
18 |
|
|
[19] [[利用者]]が[[物理形を得る]] (または表現を得る) 機会を要求した時には、 [[printing steps]]
|
19 |
|
|
を走らせる[['''べきです''']] [SRC[>>15]]。
|
20 |
|
|
|
21 |
|
|
;; [30] 「物理形を得る」が >>19 と >>26 で異なる意味で使われているように見えます。
|
22 |
|
|
|
23 |
|
|
[14] 実際に[[物理形を得る]] (または表現を得る) 際には、当該 [CODE(DOMi)@en[[[Document]]]]
|
24 |
|
|
の[[印刷]][[媒体]]用の新しい[[レンダリング]]を作成することが[[期待されています]] [SRC[>>12]]。
|
25 |
|
|
|
26 |
|
|
* [CODE(JS)@en[window.print]] (DOM)
|
27 |
|
|
|
28 |
|
|
[16] [CODE(DOMi)@en[[[Window]]]] [[インターフェイス]]の [DFN[[CODE(DOMm)@en[[[print]]]]]]
|
29 |
|
|
は、[[引数]]なし、[[返り値]]なしの[[メソッド]]です [SRC[>>15]]。
|
30 |
|
|
|
31 |
|
|
[18] [CODE(DOMi)@en[[[Document]]]] が [[ready for post-load tasks]] 状態なら、
|
32 |
|
|
同期的に [[printing steps]] を実行します。そうでないなら、 [DFN[[[print when loaded]]]]
|
33 |
|
|
フラグを設定します。 [SRC[>>15]]
|
34 |
|
|
|
35 |
wakaba |
1.10 |
[33] [[print when loaded]] フラグが設定されると、後に [[stop parsing]] 手順が [[HTML構文解析器]]または
|
36 |
|
|
[[XML構文解析器]]によって実行される際に、 [[printing steps]] が呼び出されます [SRC[>>34]]。
|
37 |
|
|
|
38 |
wakaba |
1.8 |
* printing steps
|
39 |
|
|
|
40 |
|
|
[20] [DFN[[[printing steps]]]] とは、次の手順です [SRC[>>15]]。
|
41 |
|
|
[FIG[
|
42 |
|
|
= [21] [[利用者]]にメッセージを表示するか、ここで終わるか、あるいはその両方を実行して構いません。
|
43 |
|
|
=- [22] 例えば[[キオスクモード]]では黙って無視して構いません。
|
44 |
|
|
=- [23] 例えば[[モバイル機器]]の[[ブラウザー]]で印刷機がないときはメッセージを出してから「[[PDF]] で保存」
|
45 |
|
|
オプションを提示しても構いません。
|
46 |
|
|
= [24] 印刷される[[文書]]とその[[入れ子閲覧文脈]]の [CODE(DOMi)@en[[[Window]]]] で
|
47 |
wakaba |
1.9 |
[DFN[[CODE(DOMe)@en[[[beforeprint]]]]]] [[単純イベントを発火]]します。
|
48 |
wakaba |
1.8 |
= [25] [[ストレージミューテックスを開放]]します。
|
49 |
|
|
= [26] [[物理形を得る]] (または表現を得る) 機会を提供する[['''べきです''']]。
|
50 |
|
|
=- [27] [[利用者]]がこれを受け付けるか断るかするまで待って[['''構いません''']]。待つ場合は [[pause]] しなければ[['''なりません''']]。
|
51 |
|
|
=- [28] 待たない場合であっても、この時点での[[文書]]の状態を使わなければ[['''なりません''']]。
|
52 |
|
|
= [29] 印刷される[[文書]]とその[[入れ子閲覧文脈]]の [CODE(DOMi)@en[[[Window]]]] で
|
53 |
wakaba |
1.9 |
[DFN[[CODE(DOMe)@en[[[afterprint]]]]]] [[単純イベントを発火]]します。
|
54 |
wakaba |
1.8 |
]FIG]
|
55 |
wakaba |
1.7 |
|
56 |
wakaba |
1.9 |
* [CODE(DOMa)@en[onbeforeprint]] 属性、 [CODE(DOMa)@en[onafterprint]] 属性
|
57 |
|
|
|
58 |
|
|
[32] [CODE(DOMi)@en[[[Window]]]] [[オブジェクト]]、 [CODE(HTMLe)@en[[[body]]]] [[要素]]、
|
59 |
|
|
[CODE(HTMLe)@en[[[frameset]]]] [[要素]]の [DFN[[CODE(DOMa)@en[[[onbeforeprint]]]]]] [[属性]]、
|
60 |
|
|
[DFN[[CODE(DOMa)@en[[[onafterprint]]]]]] [[属性]]は、それぞれ [CODE(DOMi)@en[[[Window]]]]
|
61 |
|
|
[[オブジェクト]]の[[イベント型]]
|
62 |
|
|
[CODE(DOMe)@en[[[beforeprint]]]]、[CODE(DOMe)@en[[[afterprint]]]] の[[イベントハンドラー]]です [SRC[>>31]]。
|
63 |
|
|
|
64 |
wakaba |
1.7 |
* 歴史
|
65 |
wakaba |
1.2 |
|
66 |
|
|
[1]
|
67 |
|
|
[CITE[Printing the Web: Solutions and Techniques | Smashing Magazine]] ([CODE[2007-02-24 00:44:42 +09:00]] 版) <http://www.smashingmagazine.com/2007/02/21/printing-the-web-solutions-and-techniques/>
|
68 |
|
|
([[名無しさん]] [WEAK[2007-02-23 16:09:40 +00:00]])
|
69 |
|
|
|
70 |
|
|
[2]
|
71 |
|
|
[CITE[TRANS - 印刷用CSSをもっとよくするための4つのTips。]] ([CODE[2007-04-22 03:28:49 +09:00]] 版) <http://d.hatena.ne.jp/aratako0/20070421/p1>
|
72 |
|
|
([[名無しさん]] [WEAK[2007-04-23 01:23:19 +00:00]])
|
73 |
|
|
|
74 |
|
|
[4]
|
75 |
|
|
[CITE@de[W3C Print Symposium 2006]] ([CODE[2006-10-23 20:51:46 +09:00]] 版) <http://www.w3c.de/Events/2006/PrintSymposium_en.html>
|
76 |
|
|
|
77 |
wakaba |
1.5 |
[5] [CITE[CSS Print Profile]]
|
78 |
|
|
( ([TIME[2013-03-14 20:50:03 +09:00]] 版))
|
79 |
|
|
<http://www.w3.org/TR/2013/NOTE-css-print-20130314/#section-mediatypes>
|
80 |
|
|
|
81 |
|
|
[6] [CITE@en[The New Publishing - A W3C Workshop on the Open Web Platform and the Traditional Print Publishing Industry]]
|
82 |
|
|
( ([TIME[2013-10-04 08:21:37 +09:00]] 版))
|
83 |
|
|
<http://www.w3.org/2012/12/global-publisher/report.html>
|
84 |
|
|
|
85 |
|
|
[7] [CITE['''['''whatwg''']''' window.print() when printing is not supported]]
|
86 |
|
|
([TIME[2010-03-23 11:24:14 +09:00]] 版)
|
87 |
wakaba |
1.6 |
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2010-March/025597.html>
|
88 |
|
|
|
89 |
|
|
[8] [CODE(HTMLa)@en[[[onload]]]] で [CODE(JS)@en[[[window]].[[print]]()]]
|
90 |
|
|
する頁がありました。うざいですね。
|
91 |
|
|
[CODE(JS)@en[[[window]].[[open]]()]]
|
92 |
|
|
と同じで制限するべきではないでしょうか。
|
93 |
|
|
([[名無しさん]] [WEAK[2007-07-01 12:42:56 +00:00]])
|
94 |
|
|
|
95 |
|
|
[REFS[
|
96 |
|
|
- [9] [CITE[Bug 43658 – Calling window.print() before the page is loaded results in a blank printed page]]
|
97 |
|
|
( ([TIME[2011-01-22 02:20:14 +09:00]] 版))
|
98 |
|
|
<https://bugs.webkit.org/show_bug.cgi?id=43658>
|
99 |
|
|
- [10] [CITE[''''''[''''''whatwg'''''']'''''' Browsers delay window.print() action until page load finishes]]
|
100 |
|
|
( ([TIME[2011-08-03 08:57:12 +09:00]] 版))
|
101 |
|
|
<http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2011-August/032775.html>
|
102 |
|
|
]REFS]
|
103 |
|
|
|
104 |
|
|
- [11] [CITE@ja[はてなブックマーク - コメントなし - 2009年12月24日]]
|
105 |
|
|
([TIME[2010-01-01 12:19:17 +09:00]] 版)
|
106 |
|
|
<http://b.hatena.ne.jp/edvakf/20091224#bookmark-18107939> |