[4] [DFN[[RUBYB[[[スクリプト設定群オブジェクト]]]@en[script settings object]]]]は、 [[スクリプト]]の実行時の諸条件の集合体です。 * 仕様書 [REFS[ - [3] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2014-04-03 03:44:44 +09:00]] 版) ]REFS] * スクリプト設定群オブジェクト [18] [[スクリプト設定群オブジェクト]]と[[大域オブジェクト]]には常に1対1の関係があります。 [DFN[[RUBYB[[[大域オブジェクトの関連する設定群オブジェクト]]]@en[relevant settings object for a global object]]]]とは、 その[[大域オブジェクト]]が用いられている (>>8) [[スクリプト設定群オブジェクト]]のことをいいます。 [SRC[>>3]] ;; [19] [[大域オブジェクト]]が[[ごみ収集]]されない間は[[大域オブジェクトのスクリプト設定群オブジェクト]]も[[ごみ収集]]されないものと思われます。 [5] [[スクリプト設定群オブジェクト]]は次のものにより構成されます。 [FIG[ - [6] [DFN[[RUBYB[[[スクリプト実行環境]]]@en[script execution environment]]]]は、 [[利用者エージェント]]が対応している各[[スクリプト言語]]について、 当該[[スクリプト言語]]に依存した[[スクリプト実行環境]]の性質です。 [SRC[>>3]] -- [7] [[JavaScript]] の場合、[RUBYB[[[解釈器]]]@en[interpreter]]、 [[実行文脈のスタック]]、[[大域コード]]と[[関数コード]]と得られた [CODE(JS)@en[[[Function]]]] [[オブジェクト]]、その他です。 [SRC[>>3]] - [8] [DFN[[RUBYB[[[大域オブジェクト]]]@en[global object]]]]は、この[[設定群オブジェクト]]を使う[[スクリプト]]の[[コード]]が呼べる [[API]] を提供する[[オブジェクト]]です。 [SRC[>>3]] -- [9] これが空の[[オブジェクト]]だと、環境に作用することを何もできません。 [SRC[>>3]] - [10] [DFN[[RUBYB[[[有責閲覧文脈]]]@en[responsible browsing context]]]]は、 この[[設定群オブジェクト]]を使う[[スクリプト]]による動作に責任をもつ[[閲覧文脈]]です。 [SRC[>>3]] - [11] [DFN[[RUBYB[[[有責文書]]]@en[responsible document]]]]は、 この[[設定群オブジェクト]]を使う[[スクリプト]]による動作に責任を持つ[[文書]]です。 [SRC[>>3]] - [12] [DFN[[RUBYB[[[有責イベントループ]]]@en[responsible event loop]]]]は、 どの[[イベントループ]]を使うか自明でない時に使う[[イベントループ]]です。 [SRC[>>3]] - [13] [DFN[[RUBYB[[[API参照子源]]]@en[API referrer source]]]]は、 [[fetch]] 内で [CODE(HTTP)@en[[[Referer]]]] の値を決めるために使われる[[文書]]または [[URL]] です。 [SRC[>>3]] - [14] [DFN[[RUBYB[[[API URL文字符号化]]]@en[API URL character encoding]]]]は、 この[[設定群オブジェクト]]を使う[[スクリプト]]が呼ぶ [[API]] で [[URL]] を[[符号化]]するために使われる[[文字符号化]]です。 [SRC[>>3]] - [15] [DFN[[RUBYB[[[API基底URL]]]@en[API base URL]]]]は、 この[[設定群オブジェクト]]を使う[[スクリプト]]が呼ぶ [[API]] で[[相対URL]] を[[解決]]するために使われる[[絶対URL]]です。 [SRC[>>3]] - [16] [DFN[[RUBYB[[[起源]]]@en[origin]]]] [SRC[>>3]] - [17] [DFN[[RUBYB[[[実効スクリプト起源]]]@en[effective script origin]]]] [SRC[>>3]] ]FIG] ;; [23] 仕様上各構成要素は値ではなく、[[アルゴリズム]]となっています。各構成要素は固定の値を持つのではなく、 参照される時点で評価した結果の値が用いられることになります。 ** [CODE(DOMi)@en[Window]] [21] [CODE(DOMi)@en[[[Window]]]] の[[スクリプト設定群オブジェクト]]は次のものです [SRC[>>3]]。 [FIG[ - [22] [[スクリプト実行環境]]は、[[利用者エージェント]]が対応している各[[スクリプト言語]]について作成した実行環境です。 - [24] [[大域オブジェクト]]は、当該 [CODE(DOMi)@en[[[Window]]]] です。 - [25] [[有責閲覧文脈]]は、当該 [CODE(DOMi)@en[[[Window]]]] の[[閲覧文脈]]です。 - [26] [[有責文書]]は、当該 [CODE(DOMi)@en[[[Window]]]] の現在の[[文書]]です。 - [27] [[有責イベントループ]]は、当該 [CODE(DOMi)@en[[[Window]]]] の[[閲覧文脈]]が属する[[関連する類似起源閲覧文脈の単位]]の[[イベントループ]]です。 - [28] [[API参照子源]]は、当該 [CODE(DOMi)@en[[[Window]]]] の現在の [CODE(DOMi)@en[[[Document]]]] です。 - [29] [[API URL文字符号化]]は、当該 [CODE(DOMi)@en[[[Window]]]] の現在の [CODE(DOMi)@en[[[Document]]]] の[[文字符号化]]です。 - [30] [[API基底URL]]は、当該 [CODE(DOMi)@en[[[Window]]]] の現在の [CODE(DOMi)@en[[[Document]]]] の[[基底URL]]です。 - [31] [[起源]]は、当該 [CODE(DOMi)@en[[[Window]]]] の現在の [CODE(DOMi)@en[[[Document]]]] の[[起源]]です。 - [32] [[実効スクリプト起源]]は、当該 [CODE(DOMi)@en[[[Window]]]] の現在の [CODE(DOMi)@en[[[Document]]]] の[[実効スクリプト起源]]です。 ]FIG] [33] この通り、いずれも (値を取得した時点での) [CODE(DOMi)@en[[[Window]]]] や [CODE(DOMi)@en[[[Document]]]] から自明に決まる値となります。 * 歴史 [REFS[ - [1] [CITE@en[Web Applications 1.0 r8263 Prepare for WebIDL integration]] ( ([TIME[2013-11-12 03:10:00 +09:00]] 版)) - [2] [CITE@en[Web Applications 1.0 r8264 Some more tidying around script settings objects.]] ( ([TIME[2013-11-12 03:53:00 +09:00]] 版)) ]REFS] * 関連 [20] [[スクリプト]]はその構成要素として[[スクリプト設定群オブジェクト]]を1つ持っています。 これを[[スクリプトの関連する設定群オブジェクト]]といいます。