-
Notifications
You must be signed in to change notification settings - Fork 4
/
175.txt
100 lines (69 loc) · 4.32 KB
/
175.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
[13] [CODE(HTMLe)@en[[[script]]]] [[要素]]の [DFN[[CODE(HTMLa)@en[[[src]]]]]]
[[属性]]は、[[外部スクリプト資源]]の[[文字コード]]を表します。
* 代替
[14] この[[属性]]自体は[[非推奨]]ではありませんが、 [[UTF-8]]
以外の[[文字コード]]を [[Web]] 上で使う[['''べきではない''']]ので、
それに従っている限り、この[[属性]]の出番はありません。
基本的には過去の[[文書]]との互換性のためのものなので、
新しい[[文書]]は使うべきではありません。
* 仕様書
[REFS[
- [1] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2016-02-16 01:30:20 +09:00]] 版) <https://html.spec.whatwg.org/#the-script-element>
-- [3] '''[CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2016-02-21 07:50:23 +09:00]] 版) <https://html.spec.whatwg.org/#attr-script-charset>'''
]REFS]
* 意味
[6] [CODE(HTMLa)@en[[[charset]]]] [[属性]]は、
[[外部スクリプト資源]]の[[文字符号化]]を指定するものです [SRC[>>3]]。
[HISTORY[
[16] かつては[[ヒント]]とも考えられていましたが、
実際には[[文字コード]]の決定に強く関わる指定となっています。
]HISTORY]
* 属性値
[11] [[属性値]]は、[[符号化ラベル]]に [[ASCII大文字・小文字不区別]]で[[一致]]するものでなければ[['''なりません''']]
[SRC[>>3]]。
[12] [[属性値]]は、[[外部スクリプト資源]]の[F[[[Content-Typeメタデータ]]]]の
[F[[CODE(MIME)@en[[[charset]]]]]] の値 (あれば) と同じ[[符号化]]を表さなければ[['''なりません''']]
[SRC[>>3]]。
* 文脈
[8] [CODE(HTMLe)@en[[[script]]]] [[要素]]の種別が[[古典スクリプト]]の時、
指定できます。
[10] ただし [CODE(HTMLa)@en[[[src]]]] [[属性]]が指定されていなければ、
指定しては[['''なりません''']] [SRC[>>3]]。
[9] [CODE(HTMLe)@en[[[script]]]] [[要素]]の種別が[[モジュールスクリプト]]や[[データブロック]]の時は、
[CODE(HTMLa)@en[[[charset]]]] [[属性]]を使っては[['''なりません''']] [SRC[>>3]]。
* 処理
[17] [CODE(HTMLe)@en[[[script]]]] を参照。
[28] なお、初回処理時の値が使われるので、動的に変更しても、意味を持ちません [SRC[>>3]]。
* [CODE(DOMi)@en[HTMLScriptElement]] インターフェイス [CODE(DOMa)@en[charset]] 属性
[18] [CODE(DOMi)@en[[[HTMLScriptElement]]]] [[インターフェイス]]の
[DFN[[CODE(DOMa)@en[[[charset]]]]]] [[IDL属性]]は、
[CODE(HTMLa)@en[[[charset]]]] [[内容属性]]を[[反映]]しなければ[['''なりません''']]
[SRC[>>1]]。これは[[文字列]]として[[反映]]するものです。
* 歴史
** HTML4
[REFS[
- [2] [[HTML4]]
-- [CITE[18.2.1 The [CODE(HTMLe)[SCRIPT]] element]]
<https://www.w3.org/TR/html4/interact/scripts.html#edef-SCRIPT>
]REFS]
[4] この属性は [CODE(SGML)[%[[Charset]]]]
です。つまり、 [[IETF]] [[charset]] を指定します。
[[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。
[5] この属性は省略可能です。
[7] [CODE(HTMLe)[script]] 要素では、要素の[[内容]]には関係しません
[SRC[HTML 4 18.2.1]]。逆に言えば指定してもいいけど無視されるということでしょうか。
** モジュールスクリプト
[15] 2016年に [[HTML Standard]] で規定された[[モジュールスクリプト]]
([[JavaScriptモジュール]]) では、 [CODE(HTMLa)@en[[[charset]]]]
[[属性]]は使わないこととされました。もはや [[Web]]
の[[文字コード]]は [[UTF-8]] に統一されており、新機能で過去の[[文字コード]]に対応する必要はないとの判断です。
;; [[ワーカー]]導入時に [[UTF-8]] のみ対応とした判断を踏襲しています。
[19] [CITE@en[Clarify script encoding fallback]]
( ([[Resseguie]]著, [TIME[2016-06-15 17:25:44 +09:00]]))
<https://github.com/whatwg/html/commit/ffbf252f5b1c9793fd59de9e64045ddebfabf982>
[20] [CITE@en[Require UTF-8]]
([[sideshowbarker]]著, [TIME[2017-10-06 19:09:17 +09:00]])
<https://github.com/whatwg/html/commit/fae77e3c558b9f083dfb9086752863a4789268f5>
[21] [CITE@en[Require UTF-8]]
([[sideshowbarker]]著, [TIME[2017-10-06 19:09:17 +09:00]])
<https://github.com/whatwg/html/commit/fae77e3c558b9f083dfb9086752863a4789268f5>