/[suikacvs]/test/sw/ids/0/56.txt
Suika

Contents of /test/sw/ids/0/56.txt

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (hide annotations) (download)
Sun Nov 9 13:37:33 2008 UTC (16 years, 7 months ago) by wakaba
Branch: MAIN
CVS Tags: HEAD
File MIME type: text/plain
converted from SuikaWiki3 <http://suika.fam.cx/gate/cvs/suikawiki/wikidata/page/63737354657874.txt>

1 wakaba 1.1
2     [1]
3     [CITE[4月の月例パッチ「MS06-013」適用で、キヤノンのプリンタ用ソフトに不具合]] <http://internet.watch.impress.co.jp/cda/news/2006/04/17/11678.html>
4     ([[名無しさん]] [WEAK[2006-04-17 22:23:46 +00:00]])
5    
6     [2]
7     <http://suika.fam.cx/~wakaba/-temp/test/dom/style-sheet/css-text/>
8     の ie-crash-*.html。
9    
10     [CODE(CSS)@en[[[cssText]]]] に代入する値が [[HTML]]
11     [[要素]]の [[HTML DOM]] [[属性]]に由来する値だと
12     [[WinIE 6]] ([[Windows XP]] [[SP2]]) がクラッシュします。
13    
14     ;; [CODE(HTMLe)@en[[[body]]]] とか [CODE(HTMLe)@en[[[p]]]]
15     とか [CODE(HTMLe)@en[[[textarea]]]] とか、おそらく[[要素型]]は任意。
16     そして [CODE(HTMLe)@en[[[text]]]] とか [CODE(HTMLe)@en[[[background]]]] とか [CODE(HTMLe)@en[[[className]]]] とか
17     [CODE(HTMLe)@em[[[accessKey]]]] とか
18     [CODE(HTMLe)@en[[[value]]]] とか
19     [CODE(HTMLe)@en[[[defaultValue]]]] とか
20     [CODE(HTMLe)@en[[[name]]]] とか
21     [[HTML DOM]] の任意の[[属性]]でおk。
22     でも [CODE(HTMLe)@en[[[nodeName]]]]
23     とか [CODE(HTMLe)@en[[[nodeValue]]]]
24     とか [CODE(HTMLe)@en[[[nodeType]]]] とかだと無問題。
25    
26     ([[名無しさん]] [WEAK[2007-05-10 13:57:17 +00:00]])
27    
28     [3]
29     [CITE[IT戦記 - style.cssText の使い処に関する考察]] ([CODE[2007-08-18 12:50:19 +09:00]] 版) <http://d.hatena.ne.jp/amachang/20070730/1185788557>
30     ([[名無しさん]])
31    
32     [4]
33     [CODE(DOMi)@en[[[CSSCharsetRule]]]] の [CODE(DOMa)@en[[[cssText]]]]
34     で得られる値 ([[Firefox]] 2、[[Opera]] 9):
35     = [CODE(CSS)@en[@[[charset]] "]]
36     = [CODE(DOMa)@en[[[encoding]]]] [[属性]]の値
37     -- [[構文解析]]時に[[大文字]]・[[小文字]]の[[正規化]]などはなされません。
38     -- [[構文解析]]時に [CODE(charname)@en[[[NULL]]]]
39     (と [[Opera]] 9 ではそれ以降の[[文字列]]) は除去されます。
40     = [CODE(CSS)@en[";]]
41    
42     [CODE(DOMa)@en[[[encoding]]]] に [CODE(CSS)[[["]]]] や
43     [CODE(CSS)[[[\]]]] が含まれていてもお構いなしです。
44    
45     ([[名無しさん]])
46    
47     [5]
48     [CODE(CSS)@en[@[[namespace]]]] の [CODE(DOMa)@en[[[cssText]]]] で得られている値 ([[Firefox]] 2):
49     = [CODE(CSS)@en[@[[namespace]] ]] (最後の1文字は
50     [CODE(charname)@en[[[SPACE]]]]。)
51     = もし[[名前空間接頭辞]]が指定されていれば、
52     それ、そのあとに [CODE(charname)@en[[[SPACE]]]] を1つ
53     == [[構文解析]]時に [CODE(charname)@en[[[NULL]]]] (ry
54     == 更に、[[構文解析]]時に[[小文字]]に[[正規化]]されています。
55     = [CODE(CSS)@en[[[url]](]]
56     = [[名前空間URI]]
57     == [[構文解析]]時に [CODE(charname)@en[[[NULL]]]] (ry
58     = [CODE(CSS)@en[);]]
59    
60     [[名前空間接頭辞]]や[[名前空間URI]]にどんな[[文字]]が入っていようとお構いなしです。
61    
62     ([[名無しさん]])
63    
64     [6]
65     [CODE(DOMi)@en[[[CSSStyleDeclaration]]]] の [CODE(DOMa)@en[[[cssText]]]]
66     で得られる値
67     = 存在する[[特性]]ごとに:
68     == [[特性名]]
69     --- [[WinIE 6]] では、既知の[[特性]]については[[大文字]][[正規形]]、
70     未知の[[特性]]は元のまま、[[Firefox]] 2 と [[Opera]] 9 では、
71     [[小文字]][[正規形]]
72     == [CODE(CSS)[[[:]]]]
73     == [CODE(charname)@en[[[SPACE]]]]
74     == [[特性値]] (対応する [[DOM属性]]や
75     [CODE(DOMm)@en[[[getPropertyValue]]]] で得られる値)
76     --- [[WinIE 6]] で未知の[[特性]]では、
77     [CODE(CSS)[[[:]]]] の後 [CODE(CSS)[[[!]]]] や [CODE(CSS)[[[;]]]]
78     や [CODE(CSS)[[[;]]]] の前まで、先頭と末尾の[[空白]]なし、
79     [[注釈]]なし
80     == [CODE(DOMm)@en[[[getPropertyPriority]]]] が
81     [CODE(CSS)@en[[[important]]]] なら、[[Firefox]] 2 のみ:
82     === [CODE(charname)@en[[[SPACE]]]]
83     === [CODE(CSS)[[[!]]]]
84     === [CODE(charname)@en[[[SPACE]]]]
85     === [CODE(CSS)@en[[[important]]]]
86     == ([[Opera]] 9 または [[WinIE 6]]) 次の[[特性]]があれば、
87     または ([[Firefox]] 2) 必ず:
88     === [CODE(CSS)[[[;]]]]
89     === 次の[[特性]]があれば、 [CODE(charname)@en[[[SPACE]]]]
90     -- [[WinIE 6]] では、未知の[[特性]]の[[宣言]]でも対応する [[CSSOM]]
91     [[属性]]が作られるので、それが [CODE(DOMa)@en[[[cssText]]]]
92     にも反映される
93     -- [[Opera]] 9 では、重複する[[特性]]の[[宣言]]でも対応する [[CSSOM]]
94     内の値が用意されるので、それが [CODE(DOMa)@en[[[cssText]]]]
95     にも反映される
96     - [[Firefox]] 2 と [[Opera]] 9 では、基本的に元の順序が保存される
97     ([[Firefox]] 2 では [[shorthand]] にまとめられる場合もあり、
98     その場合は最初の [[longhand]] の場所にまとめられる、
99     [[shorthand]] の項を参照)
100     - [[WinIE 6]] では既知の[[特性]]のあと未知の[[特性]]となる、
101     既知・未知それぞれの中の順序は不明 (既知の順序は決まっているのかもしれないが、意味のある順序には見えない、
102     未知の順序は [[JavaScript]] の[[列挙]]の順序か?)
103    
104     ([[名無しさん]])
105    
106     [7]
107     [CODE(DOMi)@en[[[CSSStyleRule]]]] の [CODE(DOMa)@en[[[cssText]]]]
108     で得られる値:
109     = [CODE(DOMa)@en[[[selectorText]]]]
110     = [CODE(charname)@en[[[SPACE]]]]
111     = [CODE(CSS)[[[{]]]]
112     = [[WinIE 6]] では、[[改行]]
113     = [[WinIE 6]] では、[CODE(charname)@en[[[SPACE]]]]
114     = [CODE(DOMa)@en[[[style]]]] の [CODE(DOMa)@en[[[cssText]]]]
115     = [[WinIE 6]] では、[[改行]]
116     = [CODE(CSS)[[[}]]]]
117    
118     [[Firefox]] 2 と [[Opera]] 9 の挙動は一致 (ただし
119     [CODE(DOMa)@en[[[style]]]] の [CODE(DOMa)@en[[[cssText]]]]
120     や [CODE(DOMa)@en[[[selectorText]]]] で違っている)
121    
122     ([[名無しさん]])
123    
124     [8]
125     >>7 の [[WinIE 6]] は [CODE(DOMm)@en[[[CSSStyleSheet]]]]
126     の [CODE(DOMa)@en[[[cssText]]]] のうち、
127     [CODE(DOMi)@en[[[CSSStyleRule]]]] 相当の部分。
128    
129     ;; [CODE(DOMi)@en[[[CSSStyleRule]]]] の
130     [CODE(DOMa)@en[[[cssText]]]] はないみたい。
131    
132     ([[名無しさん]])
133    
134     [9]
135     >>8 で、最後に必ず[[改行]]。
136     ([[名無しさん]])
137    
138     [10]
139     >>8 で、最後に必ず[[改行]]。
140     ([[名無しさん]])
141    
142     [11]
143     [[WinIE 6]] の [CODE(DOMi)@en[[[CSSStyleSheet]]]] の
144     [CODE(DOMa)@en[[[cssText]]]]:
145     = [CODE(DOMi)@en[[[CSSImportRule]]]] の [CODE(DOMa)@en[[[cssText]]]]
146     相当
147     = [CODE(DOMi)@en[[[CSSFontFaceRule]]]] の [CODE(DOMa)@en[[[cssText]]]] 相当
148     = [CODE(DOMi)@en[[[CSSPageRule]]]] の [CODE(DOMa)@en[[[cssText]]]]
149     相当
150     = [CODE(DOMi)@en[[[CSSStyleRule]]]] の [CODE(DOMa)@en[[[cssText]]]]
151     相当
152    
153     各 [CODE(DOMi)@en[[[CSSRule]]]] 相当の [CODE(DOMa)@en[[[cssText]]]]
154     の連結です。各 [CODE(DOMi)@en[[[CSSRule]]]] 部は必ず[[改行]]で終わっています。
155    
156     元の [[CSS]] の記述の順序に関わらず、種類毎に分けてでてきます。
157     種類内の順序は保存されます。 [CODE(CSS)@en[@[[media]]]]
158     内では[[規則集合]]、[CODE(CSS)@en[@[[import]]]]、
159     [CODE(CSS)@en[@[[page]]]]、[CODE(CSS)@en[@[[font-face]]]]、
160     [CODE(CSS)@en[@[[media]]]] が使えますが、
161     [[規則集合]]以外では[[媒体型]]の情報は保持されません。
162     [CODE(CSS)@en[@[[media]]]] に相当する [[CSSOM]]
163     上の[[物体]]はなく、[[規則集合]]はそれぞれ[[媒体型]]の情報を保持しているようです。
164    
165     ([[名無しさん]])
166    
167     [12]
168     [[媒体型]]は [[titlecase]] [[正規形]]で、最長で
169     [CODE(CSS)[Print, Screen, Tv, Unknown, Aural, Braille, Embossed, Handheld, Projection, Tty]]
170     になります。これに含まれない値が元々指定されていたら
171     [CODE(CSS)[Unknown]] になります。
172     [CODE(CSS)[Print, Screen, Tv, Aural, Braille, Embossed, Handheld, Projection, Tty]]
173     は [CODE(DOMa)@en[[[cssText]]]] 時に [CODE(CSS)[All]] に置き換えられます
174     (逆に言えば、[[構文解析]]時に逆方向に展開しているのでしょう)。
175    
176     [[入れ子]]の [CODE(CSS)@en[@[[media]]]] は展開・変換後の[[集合]]に対して[[論理積]]をとっているようです。
177     [[空集合]]になると [CODE(CSS)@en[Unknown]] になっているようです。
178     ([[名無しさん]])
179    
180     [13]
181     [[規則集合]]に[[媒体型]]が指定されている場合、
182     [CODE(DOMa)@en[[[cssText]]]] の[[規則集合]]部分はこうなります:
183     = [[改行]]
184     = [CODE(CSS)@en[@[[media]]]]
185     = [CODE(charname)@en[[[SPACE]]]]
186     = [[媒体型]]名の[[並び]]の[[正規形]] (>>12)
187     = [CODE(charname)@en[[[SPACE]]]] ×4
188     = [[改行]]
189     = [CODE(CSS)[[[{]]]]
190     = [[改行]]
191     = [[規則集合]]の [CODE(DOMa)@en[[[cssText]]]] 相当 (>>7-9)
192     = [[改行]] (↑の末尾も[[改行]]なので、[[空行]]になる)
193     = [CODE(CSS)[[[}]]]]
194     = [[改行]]
195    
196     ([[名無しさん]])
197    
198     [14]
199     >>13 [[媒体型]]名の[[並び]]の[[正規形]]がまったく同じ[[規則集合]]が連続する場合、 >>13 の9番の部分に[[規則集合]]が複数入ります。
200     ([[名無しさん]])
201    
202    
203     [15]
204     その他の[[@規則]]の [CODE(DOMa)@en[[[cssText]]]] 相当の例:
205     [PRE(CSS example code)[
206     @import url( style );
207     @import url( style );
208     @import url( a );
209     @import url( stylea );
210     @font-face {
211     font-family: ;
212     }
213     @font-face {
214     font-family: a;
215     }
216     @font-face {
217     font-family: ;
218     }
219     @page xXXxxx {}
220     @page a:lEft {}
221     @page aa {}
222     @page :lEft {margin: 1em 2px; }
223     ]PRE]
224    
225     ([[名無しさん]])
226    

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24