[9] [[Web]] における[DFN[[RUBYB[スクリプト]@en[script]]]]は、 [[Webブラウザー]]で実行されるプログラム片です。 * 仕様書 [REFS[ - [11] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-04-03 03:44:44 +09:00]] 版) ]REFS] * スクリプト [12] [DFN[[[スクリプト]]]]は次のものを有します [SRC[>>11]]。 [FIG[ - [13] [DFN[[RUBYB[[[コード入口点]]]@en[code entry-point]]]]: [[スクリプト]]が他の[[スクリプト]]や[[利用者エージェント]]に晒す、 [[実行可能コード]]の[[ブロック]]。一般的には[[コード入口点]]に対応する[[コード]]は[[スクリプト]]が[[構文解析]]された直後に実行されますが、 [[イベントハンドラー]]の場合は呼び出される度に実行されます。 [SRC[>>11]] -- [14] [[JavaScript]] の [CODE(HTMLe)@en[[[script]]]] [[ブロック]]の場合には、[[大域コード]]の[[実行文脈]]に対応します。 [SRC[>>11]] - [15] [DFN[[RUBYB[[[エラーミュート]]]@en[muted errors]]]]フラグ: 設定されている場合には、 この[[スクリプト]]の[[エラー]]にはエラー情報を提供しません。 [SRC[>>11]] -- [16] [[起源]]が異なる[[スクリプト]]についてのエラーから私的な情報が流出する虞があるので、 これを抑制するために使います。 [SRC[>>11]] - [17] [DFN[[RUBYB[[[設定群オブジェクト]]]@en[settings object]]]]: [[スクリプト設定群オブジェクト]]。 同じ文脈の他の[[スクリプト]]と共有している設定諸々です。 [SRC[>>11]] ]FIG] ;; [18] >>17 は、[[スクリプト]]から[[スクリプト設定群オブジェクト]]への[[強い参照]]です [SRC[[[HTML Standard]]]]。 * スクリプトの生成 [10] [[スクリプト]]は次の方法で生成することができます。 [FIG[ - [[HTML]] [CODE(HTMLe)@en[[[script]]]] [[要素]] - [[SVG]] [CODE(XMLe)@en[[[script]]]] [[要素]] ]FIG] * マーク付けの適合性との関係 [5] [[HTML文書]]は、 [CODE(HTMLe)@en[[[script]]]] の処理の前後いずれにおいても、 [[HTML]] [[DTD]] に[[適合]]しなければなりません。 [SRC@en[HTML4 18.2.4]] [4] 仕様書: - [[HTML 4]] -- [CSECTION@en[18.2.4 Dynamic modification of documents]] [6] [[HTML 4]] の >>5 の規定は[[スクリプト]]が生成する [[HTML]] [[文書片]]の[[適合性]]に関する議論でしばしば引用されますが、 時期や内容からしても、 [[HTML 4]] はおそらく [[HTML]] [[文書]]全体にアクセス可能な現在の [[DOM]] を想定していません。 現実の [[Webブラウザ]]の処理モデルとも一致していませんし、 それほど価値がある引用だとは思えません。 * 歴史 [3] ([[HTML]] の) [[クライアント]]側[DFN[[RUBYB[スクリプト][script]]]]とは、 HTML 文書に添えられた、あるいは HTML 文書中に埋込まれた[[プログラム]]です。 このプログラムは文書が読込まれた時、あるいは[[連結]]が[[活性化]]された時などに、 クライアントの機械上で実行されます。 [[HTML 4]] [CITE[18.1 Introduction to scripts]] より * メモ [1] ''DynamicScripting'' [[JavaScript]] 系, [[VBScript]], [[DOM]], [[WSH]] などについて。著者は mozilla.gr.jp の和訳プロジェクトに参加している人だそうです。 [[W3C]] などの仕様もちゃんと参照していますし、内容は信頼できます。 [7] [CITE[Code defined for one document called after that document is no longer the one being displayed]] ([[Ian Hickson ]] 著, [TIME[2008-12-23 03:41:08 +09:00]] 版) [8] [CITE[IRC logs: freenode / #whatwg / 20090325]] ([TIME[2009-05-16 17:57:49 +09:00]] 版) [[SVG]] における[[スクリプト]]実行モデル (と [[HTML]] の[[スクリプト]]実行モデル) に関する議論です。