<script type>

スクリプトの種別 (Web)

[118] スクリプトscript 要素には、 いくつかの種別があります。

[107] script 要素の項やスクリプトの項もご覧ください。

仕様書

script 要素 type 属性

[123] script 要素type 属性は、 script 要素の種別を表します。

[124] 次の3通りがあります >>117

type
type 属性値
typeauth
type 属性値の要件
semantics
意味
syntax
構文
attrs
使っても良い内容属性
bad attrs
使ってはならない内容属性
type
JavaScript MIME型
typeauth
[125] 省略するべきです >>117
semantics
古典スクリプト >>117
syntax
JavaScript Script >>117
attrs
crossorigin, charset, async, defer, nonce, src
type
module (ASCII大文字・小文字不区別)
semantics
モジュールスクリプト >>117
syntax
JavaScript Module >>117
attrs
async, crossorigin, nonce, src
bad attrs
charset >>117, defer
type
その他
typeauth
type 属性は必須であり、 データブロックの形式を表す妥当なMIME型でなければなりません >>117
semantics
データブロック
attrs
なし >>117
bad attrs
async, charset, crossorigin, defer, nonce, src >>117

[126] type 属性HTML4 で導入されると同時に必須とされましたが、 従わない文書も多く、無意味な制約のため HTML5 で削除されました。 更に2016年のモジュールスクリプト導入時に、冗長であるため省略するべきとされました。

[128] なお type 属性が指定されていない場合、 HTML4 より前の時代に使われていた language 属性が参照されます。 (Webブラウザーはそうしなければなりませんが、 著者language 属性を使ってはいけません。)

[127] 将来新たな値が必要となった時、 module のように MIME型ではない値が使われると期待されています。 そのためデータブロックは適当な値ではなく MIME型を使うのが望ましいとされています。 >>117

HTMLScriptElement インターフェイス type 属性

[141] HTMLScriptElement インターフェイスtype IDL属性は、 type 内容属性反映しなければなりません >>140。これは文字列として反映するものです。

script 要素のスクリプト言語

[173] script 要素のスクリプト言語の指定に関しては、 type 属性の意味と基本的な要件の規定、 type 属性language 属性obsolete but conforming の規定、 script 要素prepare a script の挙動の規定が関係しており、 微妙にずれもあります。まとめると次の通りです。

  1. type 属性が指定されない場合、
    1. language 属性が指定されない場合、
    2. language 属性空文字列の場合、
    3. language 属性javascript (ASCII大文字・小文字不区別) の場合、
    4. language 属性の前に text/ をつけると JavaScript MIME型 (ASCII大文字・小文字不区別) となる場合、
  2. type 属性空文字列の場合、
  3. type 属性がおおよそ JavaScript MIME型 (ASCII大文字・小文字不区別) の場合、
    1. 引数がある場合、
    2. 空白がある場合、
    3. text/javascript の場合、
    4. それ以外の場合、
  4. type 属性がおおよそ module (ASCII大文字・小文字不区別) の場合、
    1. 空白がある場合、
    2. それ以外の場合、
  5. type 属性がその他の MIME型の場合、
  6. type 属性がそれ以外の値の場合、

[143] script 要素要素スクリプトブロックの型文字列 (the script block's type string) は、 次のように決めなければなりません >>142

  1. [276] 要素type 属性がある場合、
    1. [271] 文字列を、要素type 属性に設定します。
    2. [280] 文字列空文字列なら、
      1. [281] 文字列を、 text/javascript に設定します。
    3. [272] それ以外なら、
      1. [273] 文字列の先頭と末尾から間隔文字を (あれば) すべて削除します。
  2. [277] それ以外の場合で、要素language 属性がある場合、
    1. [274] 文字列を、要素language 属性に設定します。
    2. [282] 文字列空文字列なら、
      1. [283] 文字列を、 text/javascript に設定します。
    3. [275] それ以外なら、
      1. [284] 文字列の先頭に text/ を追加します。
  3. [278] それ以外の場合、
    1. [279] 文字列を、 text/javascript に設定します。
  4. [144] 文字列を返します。

[129] script 要素の種別に応じた制約や処理方法については、 scriptスクリプトの型の項を参照してください。

[135] なお、初回処理時の値が使われるので、動的に変更しても、意味を持ちません >>140

スクリプト言語に対応

[171] Web では唯一のスクリプト言語として JavaScript が採用されています。

[111] JavaScript に対応する義務はありません >>110。 しかし実際上 JavaScript に対応しない WebブラウザーWeb互換ではありません。

[172] 今後 WebAssembly が実装されることが想定されています。

[131] 利用者エージェントスクリプト言語に対応 (support the script language) するとは、 利用者エージェント実装するスクリプト言語MIME型スクリプト型とが ASCII大文字・小文字不区別で一致することをいいます >>110

[132] この比較では、引数は無視してはなりません >>110

[133] 歴史的には e4x 引数version 引数の有無や値がスクリプト言語の区別に影響していましたが、 今はすべて引数なしとなっています。従って、 引数がある場合、未知のスクリプト言語と解釈されます。 charset 引数も、未知の引数とみなされます。

[134] 利用者エージェントJavaScript MIME型を認識しなければなりません。 JavaScript に関してそれ以外の MIME型に対応してはなりません>>110

[112] 利用者エージェントは他のスクリプト言語に対応しても構いません >>110。 しかし HTML Standard は他の言語は適用範囲外としています >>110

[113] かつては HTML Standard も他の言語を想定していましたが、 具体的な処理は JavaScript の場合のみ規定していました。 (XML ベースのスクリプト言語の場合の一般的な処理の規定もありました。)

[114] IEVBScript非推奨とし、 JavaScript にかわる言語が Webブラウザーに新たに実装される見込みもないため、 この規定は削除されました。

[136] 次の MIME型は、引数の如何に関わらず、 スクリプト言語として解釈してはなりません >>110。 これらは常にデータブロックと解釈されます。

サービスワーカーのMIME型

[158] サービスワーカースクリプトMIME型は、通常のスクリプトよりも制限されています。

[159] 更新fetchの実行で、次のいずれかの MIME型でない場合、 エラーとなります >>157

歴史

script 要素 language 属性

HTML5

[146] HTML5 は当初 HTML4 Strict DTD の方針を引き継ぎ language 属性廃止としていましたが、 後に現実に合わせて無害なものは認める方針としました。

[148] langauge 属性廃止 >>147 されており、著者は指定するべきではありません >>145

[149] 指定される場合には、 javascript (ASCII大文字・小文字不区別) でなければなりません >>145。加えて、その場合、 type 属性は指定されていないか、 値が ASCII大文字・小文字不区別text/javascript と一致するかのいずれかでなければなりません >>145

[150] これは「obsolete but conforming」です。すなわち、 適合性検査器はこれを問題として警告しなければなりませんが、 通常の適合性エラーとは区別することになっています。

[151] なお、以上は著者に対する要件であり、利用者エージェントは引き続き language 属性を実装し続けなければなりません。

[152] ちなみに、 language 属性反映する IDL属性はなぜか存在しないようです。

スクリプトの種類を識別するプロトコル要素

インターネット媒体型

[53] 媒体型は、 MIME実体の書式を識別するために考案された識別子で、 後に Web でも種類の標準的な識別子として取入れられました。 そして、 HTML 4script 要素の type 属性でスクリプトの種類の指定のために媒体型を採用しています。

[2] HTML に埋め込まれて使うような類のスクリプトの Internet 媒体型は、大抵 IANAREG に載ってません。 そのせいもあって色んな指定が溢れています。

language 属性の識別子

[54] HTML の script 要素は、当初は language 属性によってスクリプト言語を識別していました。この識別子は、 単純な文字列であり、名前の標準化・登録や名前空間、 スクリプト言語の版などのための仕組みは用意されませんでした。

HTML 4 は媒体型を使う type 属性を導入し、 language 属性は非推奨としています。そのため、 language 属性由来の識別子が今後広く使われることはないでしょう。

[181] HTML 4 でも非推奨ながら language 属性は存在します。ないと誤解している文書があるようですので。

OpenDocument text:script 要素 script:language 属性

[97] OpenDocument 1.0 の text:script 要素は、 スクリプトの種類を script:language 属性で示すことになっています。 ただし、例として「JavaScript」が挙げられている以外、何も説明がありません。 (6.6.6 節)

スクリプトの種類を指定するプロトコル要素

script 要素 type 属性 (HTML, XHTML 1, XBL)

[35] HTMLscript 要素の type 属性は、その script 要素の内容の言語を指定します。

[24] XBL での script 要素の定義は、仕様書によれば HTML 4 と同じです。 (でも意図としては XHTML 1 と同じ、だと思います。)

[36] 仕様書:

[70] IHTMLScriptElement::type Property (Internet Explorer) http://msdn.microsoft.com/workshop/browser/mshtml/reference/IFaces/ScriptElement/type.asp (名無しさん [sage])

属性値

[37] この属性の値は %ContentType です。 SGML 的には CDATA です。

[38] この属性は必須です。省略することはできません。

他との関係

[39] script 要素のスクリプト言語の指定には、 language 属性も使えます。元々はそちらが使われていましたが、 HTML 4 ではこれを非推奨とし、代わりに type 属性を必須としています。

実装

[40] script 要素を知っている実装でも、古いものは language 属性にしか対応しておらず、 type 属性による指定は無視されてしまいました。 そのため、両方の属性を指定することが好ましいと言われていたこともありました。 (現在では type 属性を知らない実装は死滅していると考えられています。)

また、ほとんど (すべて?) の実装は、 type 属性も language 属性の両方ともが指定されていない場合には JavaScript で書かれていると解釈します (Content-Style-Type を継承するものもあるかもしれません)。

[41] type 属性と language 属性が矛盾しているときの UA の挙動は規定されていません。 type 属性を優先させるものが多いように思われます。

[62] Mozilla 1.3a では、 <script type="text/javascript;version=1.2" /> のように指定できます。 <script type="text/javascript; version=1.2" /> とか <script type="text/javascript;x-foo=bar; version=1.2" /> とかでも OK ですが、 <script type="text/javascript;version=&quot;1.2&quot;" /><script type='text/javascript;version="1.2"' /> では動作しません。

[63] language 属性と type 属性とで値が違う場合、 Mozilla 1.3a や WinIE 6 では type 属性が優先されます。

[64] WinIE ではスクリプト言語の既定値は #CURRENT (ただし初出では JScript) になるらしいです。

[78] /trunk/WebCore/html/HTMLTokenizer.cpp - WebKit - Trac http://trac.webkit.org/projects/webkit/browser/trunk/WebCore/html/HTMLTokenizer.cpp#L1172 (名無しさん)

[60] 複数のスクリプト言語が混在する例 HTML 4 18.6.2.2、改

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
     "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
<HEAD>
<TITLE>A document with SCRIPT</TITLE>
<META http-equiv="Content-Script-Type" content="text/tcl">
<SCRIPT type="text/vbscript" src="http://someplace.example/progs/vbcalc">
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT type="text/javascript">
...some JavaScript...
</SCRIPT>
</BODY>
</HTML>

この文書の既定の言語は Tcl ですが、 head 内の外部スクリプトは VBScript, body 内の埋込み (内部) スクリプトは JavaScript で書かれています。

メモ

[61] type の適用対象は内容とされており、 外部スクリプトには適用されないように思えますが、 >>60 の例より適用されると考えられます。 もっとも、外部スクリプトの場合は他の要素の type 属性同様に、属性値はヒント程度で、実際には外部資源の Content-Type に拠って処理するのが適当と考えられます。

スクリプト系要素の type 属性 (XBL)

[43] その要素又は子孫の内容であるスクリプト言語を示します。 省略可能で既定値はありません。

の要素には、 type 属性が存在します。 @ の要素は、その内容がスクリプトです。

ある要素で type 属性の値が無い場合、親要素の値が継承されます。

[44] 仕様書 (>>45) では値の例として text/javascript が挙がっています。 Mozilla では他に application/x-javascript が使われています。しかし、値が指定されていない XBL 文書もあります。 Mozilla では JavaScript を既定値とみなしているようです (というか他の言語に対応していないし)。

実のところ仕様書にある例も type 属性が無かったりします。

type 属性が無い場合 HTTP サーバーでは Content-Script-Type: 欄を供給するのが良いかもしれません。

Content-Script-Type: 頭欄 (HTTP)

[46] Content-Script-Type: 欄の説明をご覧ください。

language 属性 (HTML 4, XHTML 1)

[55] HTMLscript 要素の language 属性は、その要素の内容のスクリプト言語を指定します。

[57] WinIE では任意の要素に指定できて、 内在事象取扱器属性に適用されます。

[56] 仕様書:

[69] IHTMLElement::language Property (Internet Explorer - DHTML) http://msdn.microsoft.com/workshop/browser/mshtml/reference/ifaces/ihtmlelement/language.asp

[176] http://msdn.microsoft.com/en-us/library/ms533940%28VS.85%29.aspx

代替

[58] この属性は非推奨です HTML 4。 代わりに、 type 属性が利用できます。

属性値

[3] この属性の値は CDATA で、 大文字・小文字を区別しません。スクリプト言語の識別子ですが、 標準化されておらず、 type 属性があるので非推奨とされています。 HTML 4

[5] M$DN によると language 属性の値には .NET と互換性のある全ての言語を指定できます

[59] この属性は省略可能です。省略時については type 属性の説明をご覧ください。

メモ

[76] JavaScript 1.8: 存在しない版、版番号の前の SPACE (名無しさん [sage])

[95] 中時部落格-回頭是岸 (2008-06-08 22:24:53 +09:00 版) http://blogger.chinatimes.com/taipeijk/Contact.aspx?id=1

							<input type="submit" name="Contact1:btnSend" value="確認並送出" onclick="if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate(); " language="javascript" id="Contact1_btnSend" class="button" />

(名無しさん)

メモ

[65] DTV A S E L 1 (DASE-1) P 2: D A E ATSC Standard http://www.atsc.org/standards/a_100_2.pdf の規定する HTML の一種は、既定のスクリプト言語の決定に HTTP 頭欄を使わず、 meta 要素の name 属性の値が Content-Script-Type であるものを使います。その content 属性の値は媒体型です。省略時の既定値は text/ecmascript です。 5.1.1.6.7.1 Default Script Content Type (名無しさん [sage])

実際に見られる識別子の値

[42] 現実に何らかの仕様書で規定・例示されていたり、 実装が存在していたり、使用している文書が存在していたりする具体的な識別子の値として知られているものを次に言語ごとに紹介します。

ECMAScript 系 (JavaScript, JScript など)

[12] 媒体型: application/x-javascript, text/javascript などがあります。 詳しくは JavaScript関係の媒体型をご覧ください。

[13] language 属性:

[47] 拡張子: .js がよく使われます。

参考文献:

VBScript

[18] 媒体型:

[19] language 属性:

[48] 拡張子: .vbs が良く使われます。

PerlScript

[49] PerlScriptActiveScript 機能により WinIE などから利用できる Perl です。 ActivePerl (Win32 向けの Perl 配布) の一機能となっています。

[20] 媒体型:

[6] language 属性:

[50] 参考: PerlScript でない一般の Perl script・module 等には application/x-perl-script, application/x-perl が使われています。

TCL

[21] 媒体型:

RubyScript

[51] RubyScriptActiveScript によって WinIE などで使うことができる Ruby で、 ActiveRubyScript というプログラムにより実装されています。

[10] 媒体型:

[11] language 属性:

C#

[4] language 属性:

普通は生の HTML 文書ではなく、 ASP などで使われます。

Cache'

[7] language 属性:

生の HTML 文書ではなく、 CSP で使われます。

SQL

[25] language 属性:

Script なのか? という気はしないでもないですが。

COBOL

[8] language 属性:

[9] >>8 そこまでするか COBOLer って感じですが。

XML Data Island

[28] language 属性:

[29] 媒体型:

[33] XML Data Island によるデータ・スクリプトならしいです。 凡人には理解できない M$ 独自技術です。 独自技術に勝手に標準技術の名前を使うところがまた M$ らしい。

>>31 によれば WinIE 5 以上が対応しています。

参考文献:

Python

[34] language 属性:

[67] application/x-pythonPython を使えるようにしようという話

Programming languages http://www.mozilla.org/events/dev-day-feb-2004/mozilla-futures/langs.html (名無しさん)

[80] PyDOM - MDC (2006-10-06 05:32:56 +09:00 版) http://developer.mozilla.org/en/docs/PyDOM#Using_Python (名無しさん)

メモ

[66] PHP language=php (鯖側処理) (名無しさん [sage])

[68] Bug 62485 - script type="text/ecmascript" is not recognized https://bugzilla.mozilla.org/show_bug.cgi?id=62485 (名無しさん [sage])

[71] language=JScript.Encodelanguage=VBScript.Encode

他の ActiveScript でも使えるんだろうか?

スクリプトブロックの型

[23] かつて script 要素状態としてスクリプトブロックの型 (the script block's type) を持っていましたが、 現在ではアルゴリズム内の変数にとどまっています。

[79] かつては JavaScript 以外のスクリプト言語が想定されていましたが、 最早 JavaScript 以外は想定する必要がないため、変更されました >>22

メモ

[52] HTML では、 script 要素を使って任意のスクリプト言語で書かれたコードを関連付けることができます。 他にもスクリプト言語を組入れることのできるマーク言語やスクリプトと関係するプロトコルなどがいくつも存在します。

このような仕組みには、特定のスクリプト言語に依存しているものもあれば、 任意のスクリプト言語を (少なくても枠組みとしては) 利用可能なものもあります。 HTML は後者に該当します。後者の場合は、必然的にスクリプト言語を識別する仕組みが必要となります。

この文書では、このスクリプト言語を識別するための仕組み (その中でも特に、判定方法よりも識別子的プロトコル要素) について扱います。文書名はスクリプトの媒体型ですが、 媒体型 (インターネット媒体型) はそのような識別子の一種です。 しかし、ここでは媒体型に限らず、様々な方法に触れます。 また、スクリプトと一般に呼ばれるものの範囲を少々逸脱していても、 スクリプトを汎用的に扱う仕組みの中で処理されることがあるものであれば、 同様に扱うこととします。

[72] X3D Specification, ISO/IEC 19775-2:200x, Part 2, Annex A VRML97 Scripting Backwards Compatibility http://www.web3d.org/x3d/specifications/ISO-IEC-19775-IS-X3DAbstractSpecification/Part02/vrml97.html#ECMAScriptMIMETypes

X3DVRML と互換性を保つための媒体型として application/javascriptapplication/x-javascript が規定されています。 (名無しさん [sage])

[73] で、新しい X3D 用のは application/ecmascriptapplication/x-ecmascript (名無しさん [sage])

[74] >>73 の規定は ISO/IEC 19777-1:2005 -- X3D ECMAScript binding -- 4 Concepts http://www.web3d.org/x3d/specifications/ISO-IEC-19777-1-FDIS-X3DLanguageBindings-ECMAScript/Part1/concepts.html#MIMEType

(名無しさん [sage])

[75] ISO/IEC 19777-1:2005 -- X3D ECMAScript binding -- 4 Concepts http://www.web3d.org/x3d/specifications/ISO-IEC-19777-FDIS-X3DLanguageBindings/Part1/concepts.html#MIMEType

(名無しさん [sage])

[77] products and projects http://www.terrainformatica.com/sciter/preface.whtm

text/tiscript (名無しさん)

[81] Dustin Long's homepage (2007-04-14 09:27:31 +09:00 版) http://www.cs.stevens.edu/~dlong/software/kamen/index.php

language="text/common-lisp"

(まま) (名無しさん 2007-04-14 00:31:28 +00:00)

[82] Mike Harsh's Blog : WPF/E Code Walkthrough (2007-05-05 11:14:45 +09:00 版) http://blogs.msdn.com/mharsh/archive/2006/03/28/563098.aspx

text/xaml (名無しさん)

[83] >>82 XMLデータ島やるために script を使うというのは、ものすごく時代に逆行していますね。 Shaping the Future of HTML Workshop を思い起こしますw (名無しさん 2007-05-05 02:23:16 +00:00)

[84] type=text/xml-script (名無しさん)

[85] seamonkey mozilla/content/base/src/nsScriptLoader.cpp (2007-07-08 17:10:21 +09:00 版) http://mxr.mozilla.org/seamonkey/source/content/base/src/nsScriptLoader.cpp#268 (名無しさん)

[86] Bug 255895 &#8211; JS1.2 must die (was: Page with menus looks good in milestones and older releases; fails with recent nightlies) (2007-07-25 22:11:02 +09:00 版) https://bugzilla.mozilla.org/show_bug.cgi?id=255895 (名無しさん)

[87] Bug 62485 &#8211; script type="text/ecmascript" is not recognized (2007-07-25 22:05:45 +09:00 版) https://bugzilla.mozilla.org/show_bug.cgi?id=62485 (名無しさん)

[88] Bug 62485 &#8211; script type="text/ecmascript" is not recognized (2007-07-25 22:05:45 +09:00 版) https://bugzilla.mozilla.org/show_bug.cgi?id=62485 (名無しさん)

[89] Bug 62485 &#8211; script type="text/ecmascript" is not recognized (2007-07-25 22:05:45 +09:00 版) https://bugzilla.mozilla.org/show_bug.cgi?id=62485 (名無しさん)

[90] 理想の結婚相手をみつけよう!【無料パートナー検索】 (2007-10-21 20:42:53 +09:00 版) http://love.nozze.com/index.php/NOZ00188/kiss/

<script language="VBScript" type="text/vbscript">
<!-- // Flash Player ActiveX コントロールのバージョン情報を検出するには、Visual Basic ヘルパーが必要です

Flash の動作の IE とそれ以外の区別のために VBScript を使っているようです。 (名無しさん)

[91] オレオレ言語の MIME タイプ: Days on the Moon (2008-05-11 15:39:16 +09:00 版) http://nanto.asablo.jp/blog/2007/11/23/2453383 (名無しさん)

[92] jquery2 (2006-09-02 15:58:30 +09:00 版) http://ejohn.org/apps/jquery2/

  <script type="text/jquery">
    pre:
      css 'background' '#212121'
      css 'color' '#0F0'
      css 'padding' '10px'
      css 'font-size' '14px'
    body:
      prepend '<h1>jquery<sup>2</sup></h1>'
    input:first: click compile
    input:last: click run
  </script>

(名無しさん)

[93] Logo on JavaScript (2008-01-20 22:41:29 +09:00 版) http://accelart.jp/shibuyajs/logo/logo.html

<script type="text/logo">
手順は 森の一部を描け :何回目 :長さ
	もし :何回目 = :緻密さ [
		前へ :長さ
		止まれ
	]
	森の一部を描け :何回目 + 1 :長さ * 0.6
	右へ 85
	森の一部を描け :何回目 + 1 :長さ / 3
	左へ 170
	森の一部を描け :何回目 + 1 :長さ / 3
	右へ 85
	森の一部を描け :何回目 + 1 :長さ * 0.35
終わり
手順は 森を描け :緻密さ
	ペンを上げろ
		位置は [ 270 -20 ] 
		左へ 90 
	ペンを下ろせ
	
	森の一部を描け 0 550
終わり
森を描け 5
</script>

(名無しさん)

[94] ブラウザで S 式をつかいたい>< - 女子高生ぷろぐらまーなお☆のブログ (2008-04-23 23:36:48 +09:00 版) http://d.hatena.ne.jp/jknaoya/20071116/1195201179

<script type="application/x-naoscheme">
    (define myalert (msg)
        (alert msg))
    (set! test "*_*")
    ((lambda (foo)
        (myalert foo)) test)
</script>
<script type="application/x-naoscheme">
    (add-event-listener window "load" (lambda (e)
        (alert e)
        (call document.body "appendChild" (call document "createTextNode" "こんにちは!"))
    ) false)
</script>

(名無しさん)

[96] OSML: type="text/os-data", type="text/os-template"

[100] Firefox 3 グラフィック関連 (John Daggett 著, 版) http://people.mozilla.com/~jdaggett/mozgumi08/

<script id="shader-vs" type="x-shader/x-vertex">
  // OpenGL ES 2.0 vertex shader
</script>

<script id="shader-fs" type="x-shader/x-fragment">
  // OpenGL ES 2.0 fragment shader
</script>

XForms Actions

[98] XBL 2.0 では XForms Actions を表す媒体型として application/x-xforms-actions+xml を定義しています。

XAML

[99]

<script type="text/xaml"

メモ

[130]

A scripting language is a programming language that is used to manipulate, customise, and automate the facilities of an existing system. In such systems, useful functionality is already available through a user interface, and the scripting language is a mechanism for exposing that functionality to program control. In this way, the existing system is said to provide a host environment of objects and facilities, which completes the capabilities of the scripting language. A scripting language is intended for use by both professional and non-professional programmers. To accommodate non-professional programmers, some aspects of the language may be somewhat less strict.

[101] IRC logs: freenode / #whatwg / 20090603 ( 版) http://krijnhoetmer.nl/irc-logs/whatwg/20090603#l-101

[102] Mozilla Labs » Zaphod » Blog Archive » Zaphod 1.0 Released ( ( 版)) http://mozillalabs.com/zaphod/2010/09/16/6/

[103] 672814 – Increase the set of script @type values that nsScriptLoader treats as JavaScript ( ( 版)) https://bugzilla.mozilla.org/show_bug.cgi?id=672814#c6

[104] [whatwg] The set of supported @type values for <script> is a bit odd ( ( 版)) http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-June/036417.html

[105] Web Applications 1.0 r7493 Be more strict about what <script type=> handling should look like.]] ( ( 版)) http://html5.org/tools/web-apps-tracker?from=7492&to=7493

[106] IRC logs: freenode / #whatwg / 20130828 ( ( 版)) http://krijnhoetmer.nl/irc-logs/whatwg/20130828

[108] RDF 1.1 Turtle ( ( 版)) https://dvcs.w3.org/hg/rdf/raw-file/default/rdf-turtle/index.html#h2_in-html

[109] XQuery in the Browser ( ( 版)) http://www.xqib.org/documentation.php

[22] Rewrite script execution on top of ES · whatwg/html@4891d18 ( 版) https://github.com/whatwg/html/commit/4891d18aaf2df1d40aa61f467a5a10cfc19dd85d

[115] Add <script type="module"> and module resolution/fetching/evaluation · whatwg/html@cd1a9fb ( 版) https://github.com/whatwg/html/commit/cd1a9fb1e83f7d0bc30be8b34ecdaf444a0b19a4

[116] add `+module` to mime type for `script type=module` · Issue #558 · whatwg/html ( 版) https://github.com/whatwg/html/issues/558

[153] add `+module` to mime type for `script type=module` · Issue #558 · whatwg/html () https://github.com/whatwg/html/issues/558

[154] Add `application/javascript+module` mime to remove ambiguity · Issue #322 · tc39/ecma262 () https://github.com/tc39/ecma262/issues/322

[155] Remove a nonsensical sentence in the definition of script types (domenic著, ) https://github.com/whatwg/html/commit/c9b8b1759bf86ae0ce2bd2bce46e082b1f555d64

[156] Mitigating MIME Confusion Attacks in Firefox | Mozilla Security Blog () https://blog.mozilla.org/security/2016/08/26/mitigating-mime-confusion-attacks-in-firefox/

Valid Content-Types for Scripts:

– “application/javascript”

– “application/x-javascript”

– “application/ecmascript”

– “application/json”

– “text/ecmascript”

– “text/javascript”

– “text/json”

[160] Fold request type into destination (annevk著, ) https://github.com/whatwg/fetch/commit/d7052e2b6d24d04caa2cea8ef664923ecdb1e35c

[161] Give <script type> its own place in the Attributes index (annevk著, ) https://github.com/whatwg/html/commit/1ed6d11a048ea81eaa839102b7aa136d88c9d320

[162] Attributes index is wrong for type · Issue #3020 · whatwg/html () https://github.com/whatwg/html/issues/3020

[163] Give <script type> its own place in the Attributes index by annevk · Pull Request #3023 · whatwg/html () https://github.com/whatwg/html/pull/3023

[164] Improve <style> and <script> processing and conformance (domenic著, ) https://github.com/whatwg/html/commit/9c612ac8641b5174849a2d3cb924fe662a8d3a09

[165] <style type>/<script type> and MIME type parameters · Issue #3022 · whatwg/html () https://github.com/whatwg/html/issues/3022

[166] Improve <style> and <script> processing and conformance by domenic · Pull Request #3024 · whatwg/html () https://github.com/whatwg/html/pull/3024

[167] Clarify prose around JavaScript MIME types (annevk著, ) https://github.com/whatwg/html/commit/470e168aaddc54e0abcfa302639870c299473c99

[168] Clarify "Scripting languages" · Issue #2301 · whatwg/html () https://github.com/whatwg/html/issues/2301

[169] WebAssembly is in scope · Issue #3037 · whatwg/html () https://github.com/whatwg/html/issues/3037

[170] Simplify and clarify prose around JavaScript MIME types by annevk · Pull Request #3045 · whatwg/html () https://github.com/whatwg/html/pull/3045

[174] Clarify the alternatives for <script language> (annevk著, ) https://github.com/whatwg/html/commit/e46cf1308f1e4cd9e328dcd0f1cf565f3b277307

[175] Clarify how to deal with <script language> by annevk · Pull Request #3095 · whatwg/html () https://github.com/whatwg/html/pull/3095

[177] text/wreq

[178] Editorial: update usage of the MIME Sniffing Standard (domenic著, ) https://github.com/whatwg/html/commit/fc82f4f8774a2e7e80f6c9477bd881f6c783b186

[179] Editorial: update usage of the MIME Sniffing Standard by domenic · Pull Request #3455 · whatwg/html () https://github.com/whatwg/html/pull/3455

[180] 旗標知識網:新聞聚合服務 - RSS () http://www.flag.com.tw/book/cento-5105.asp?bokno=F5474&id=58

<script language="JavaScript1.2">mmLoadMenus();</script>