#?SuikaWiki/0.9 [1] [CODE[Content-Script-Type:]] 欄は、 [[HTML4]] が規定する (>>2) [[HTTP]] 頭欄で、文書中の[[スクリプト]]の言語を指定します。 具体的には on[VAR[〜]] 属性に適用されます。 [3] 構文についての考察は [[Content-Style-Type:]] 欄の説明をご覧下さい。 欄の名前と値の適用対象が違う (スタイルではなくスクリプト) のと、 '''[CODE[Content-Script-Type:]] には既定値がない'''以外は同じです。 (既定のスクリプト言語については、 [[script]] 要素の説明を参照。) [4] 値については、[[スクリプトの媒体型]]をご覧下さい。 [5] なお、 [[M$]] 独自拡張の [[HTML]] 仕様においては、殆ど全ての要素に [[language]] 属性が存在します。この定義は [CODE[script]] 要素の同属性と同じですが、当該要素の属性である on[VAR[〜]] 属性の解釈に影響します。この属性値が継承されるのかは知りません。 [6] on[VAR[〜]] 属性そのものが[[非推奨]]なので、この欄もいずれ使われなくなるかもしれません。 - [16] までは、 JavaScript が既定値でした。 - [17] 次の は、多くの [[UA]] は JavaScript を既定値とすると述べています。 - [18] その次の では、何らかの指定が必須であるとされています。 - [19] 一年経って随分かたくなりました(w - [20] 同じ現象は [CODE(HTTP)[[[Content-Style-Type:]]]] でも同時期に起こってます。 HTML として全体的に、現状への妥協というか、とにかくなんでもいいから標準の確立を急いだ1996年の [[HTML3.2]] の世代から、現状を受け入れつつも次の時代への展望を示す1998年の [[HTML4]] の時代への過渡期とでもいいましょうか。なんとも興味深いところです。 - [22] この欄の欄本体は[[媒体型]]ですが、媒体型の [CODE(MIME)[[[charset]]]] 引数は省略することが慣習となっています。 (そもそも、やや狭義媒体型だけが許されるのか、引数も許されるのか規格上曖昧なのですけど、型によっては必須の引数もあるので、やや狭義媒体型しか指定できないとしたら欠陥規格です。) - [23] [CODE(MIME)[charset]] 引数が省略された場合、 [CODE[Content-Type]] 欄であれば [[MIME]] なら [CODE(charset)[[[us-ascii]]]], [[HTTP]] では [CODE(charset)[[[iso-8859-1]]]] なのですけど、 [CODE(HTTP)[Content-Script-Type]] (や [CODE(HTTP)[Content-Style-Type]]) では既定値は「指定なし」です。この欄の用途は >>1 なのですが、つまり既に構文解析された HTML 文書の一部に [ABBR[CST]] が適用されるということです。つまり charset は意味を成さないのです。 - [24] とはいっても、 >>21 のような実例も確認されています。 >>23 の解釈は慣習的なものでしかないので、 >>14 も >>21 も間違いとはいえません。 [WEAK[(但し、 [CODE(MIME)[application/x-javascript]] の定義上 [CODE(MIME)[charset]] 引数の存在が意味を持つかという話もありますが、とりあえずその話は置いておきましょう。)]] [[#comment]] *例 -[7] [SAMP[Content-Script-Type: text/tcl]] -[8] [SAMP[]] - [14] [CODE(HTTP)[Content-Script-Type: [[application/x-javascript]]]] - [21] [SAMP(HTTP)[Content-Script-Type: application/x-javascript; charset=[[euc-jp]]]] [[#comment]] *参考文献 -[2] ''Scripts in HTML documents (The default scripting language)'' - [15] Client-side Scripting and HTML : W3C draft 初出。ちなみにこれ以前の draft では [CODE(HTTP)[[[Content-Script-Language:]]]] という名前でした。 [[#comment]] *メモ - [9] [[SVG]] には、 [CODE[contentScriptType]] 属性が [[svg]] 要素に存在します。 (''Scripting - SVG'' ) - [10] >>9 古い draft ではこれの次の優先順位で [CODE[Content-Script-Type:]] 欄が使われていましたが、削除されました。 (''Scripting'' ) - [11] >>10 なお、これの省略時の既定値は [CODE[text/ecmascript]] でした。 (既定値の規定も削除されました。) - [12] [[XUL]] とか [[XBL]] でも使えそうかなあ・・と思ったけど、 [[Mozilla]] は単に決め打ちしてるだけだしなあ。 - [13] 結局、使われない欄なんだろうなあ。 [[Strict]] 志向の人って script 属性なんてつかわなそうだし。