<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="19" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[19]</anchor-end> <dfn><code class="JS" xml:lang="en">window.customElements</code></dfn> 
(<dfn><code class="DOMi" xml:lang="en">CustomElementRegistry</code></dfn>)
は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム要素定義</anchor>を保持している<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>です。</p><section><h1>仕様書</h1><refs xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><ul xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <cite xml:lang="en-GB-x-hixie">HTML Standard</cite> (<time>2016-05-14 09:55:50 +09:00</time>) <anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://html.spec.whatwg.org/#custom-elements-api">https://html.spec.whatwg.org/#custom-elements-api</anchor-external></li></ul></refs></section><section><h1>状態</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="7" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[7]</anchor-end> <code class="DOMi" xml:lang="en">CustomElementRegistry</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>は、
次の状態を持ちます。<figure class="list members"><dl><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>カスタム要素定義</anchor>の<anchor>集合</anchor></f></dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム要素定義を探す</anchor>手順で参照します。
初期状態では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空</anchor>です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal></src>。</dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">定義時約束写像</f></dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">妥当なカスタム要素名</anchor>から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">約束</anchor>への<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">写像</anchor>です <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal></src>。
<code class="DOMm" xml:lang="en">whenDefined</code> で使われます。
初期状態では<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">空</anchor>です。</dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">要素定義が走っている</f></dt><dd></dd></dl><history xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><dl xmlns="http://www.w3.org/1999/xhtml"><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">定義される名前の集合</f></dt><dd></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">定義される構築器の集合</f></dt><dd></dd></dl></history></figure></p></section><section><h1>メンバー</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="6" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[6]</anchor-end> <code class="DOMi" xml:lang="en">CustomElementRegistry</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>は、
次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メンバー</anchor>を持ちます。</p><figure class="short list"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="20" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[20]</anchor-end> <code class="DOMi" xml:lang="en">CustomElementRegistry</code> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メンバー<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">インターフェイスメンバー</title></anchor></figcaption><ul><li><code class="DOMm" xml:lang="en">define</code></li><li><code class="DOMm" xml:lang="en">get<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">CustomElementsRegistry</title></code></li><li><code class="DOMm" xml:lang="en">whenDefined</code></li><li><code class="DOMm" xml:lang="en">upgrade<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">要素の格上げ</title></code></li></ul></figure></section><section><h1>文脈</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="8" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[8]</anchor-end> <code class="DOMi" xml:lang="en">CustomElementsRegistry</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文書環境</anchor>に<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">晒され</anchor>ます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="9" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[9]</anchor-end> <code class="DOMi" xml:lang="en">CustomElementsRegistry</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>は、
<code class="DOMi" xml:lang="en">Window</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">オブジェクト</anchor>に関連付けられており、
<code class="DOMa" xml:lang="en">customElements</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDL属性</anchor>から参照できます。</p></section><section><h1><code class="DOMi" xml:lang="en">Window</code> インターフェイス <code class="DOMa" xml:lang="en">customElements</code> 属性</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="4" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[4]</anchor-end> <code class="DOMi" xml:lang="en">Window</code> は、 <dfn><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en">CustomElementsRegistry</code></f></dfn>
を持ちます <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal></src>。作成時に設定され <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal></src>、以後変化しません。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="5" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[5]</anchor-end> <code class="DOMi" xml:lang="en">Window</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>の
<dfn><code class="DOMa" xml:lang="en">customElements</code></dfn> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">IDL属性</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">取得器</anchor>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>の <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en">CustomElementsRegistry</code></f>
を返さなければ<MUST xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">なりません</MUST> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal></src>。</p></section><section><h1><code class="DOMi" xml:lang="en">CustomElementsRegistry</code> インターフェイス <code class="DOMm" xml:lang="en">get<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">CustomElementsRegistry</title></code> メソッド</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="10" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[10]</anchor-end> <code class="DOMi" xml:lang="en">CustomElementsRegistry</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>の
<dfn><code class="DOMm" xml:lang="en">get<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">CustomElementsRegistry</title></code></dfn> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メソッド</anchor>は、
次のようにしなければ<MUST xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">なりません</MUST> <src xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;3</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="11" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[11]</anchor-end> <var>名前</var>を、第1引数を必須の <code class="IDL" xml:lang="en">DOMString</code> として解釈した結果に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[12]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>が<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">定義名</title></f>が<var>名前</var>の項目を含むなら、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="13" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[13]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">名前<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">定義名</title></f>が<var>名前</var>の項目の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構築器<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">カスタム要素構築器</title></f>を返します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="14" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[14]</anchor-end> それ以外なら、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="15" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[15]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">未定義</anchor>を返します。</li></ol></li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="16" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[16]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">カスタム要素構築器</anchor>に関わる各種処理の制限より、この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メソッド</anchor>が返すのは、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">JavaScript</anchor> の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">関数</anchor>か <code class="JS" xml:lang="en">undefined</code> のいずれかとなります。</p></section><section><h1>歴史</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="en">Add custom elements to HTML · whatwg/html@6e7eaa4</cite>
(<time>2016-04-26 18:17:34 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/6e7eaa4bd2912965fd83766f99f984f249531f3a">https://github.com/whatwg/html/commit/6e7eaa4bd2912965fd83766f99f984f249531f3a</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[2]</anchor-end> <cite xml:lang="en">Add customElements.get() to retrieve a custom element constructor · whatwg/html@1d596a5</cite>
(<time>2016-04-26 18:40:59 +09:00</time> 版)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/1d596a555d3c2f067ae643e447eaa88137b595ac">https://github.com/whatwg/html/commit/1d596a555d3c2f067ae643e447eaa88137b595ac</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="17" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[17]</anchor-end> <cite xml:lang="en">Handle reentrant custom element definition</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-06-07 17:18:04 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/270b5f3e48411063c431fdf98dbe41766ddc20b1">https://github.com/whatwg/html/commit/270b5f3e48411063c431fdf98dbe41766ddc20b1</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="18" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[18]</anchor-end> <cite xml:lang="en">Rename &quot;CustomElementsRegistry&quot; to &quot;CustomElementRegistry&quot;</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">domenic</anchor>著, <time>2016-08-24 15:33:08 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/9e38ff4c7921c63b07fb6e8f4e3cb88d84bd39c2">https://github.com/whatwg/html/commit/9e38ff4c7921c63b07fb6e8f4e3cb88d84bd39c2</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[21]</anchor-end> <cite xml:lang="en">Editorial: make the type of custom element constructors stricter</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">yuki3</anchor>著, <time>2018-05-30 00:29:26 +09:00</time>)
<anchor-external xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resScheme="URI" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:resParameter="https://github.com/whatwg/html/commit/f8bd887aff17a5ffaf8c50c76b937815c92fc5e4">https://github.com/whatwg/html/commit/f8bd887aff17a5ffaf8c50c76b937815c92fc5e4</anchor-external></p></section></body></html>