<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="3" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[3]</anchor-end> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー登録<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">service worker registration</rt></rubyb></dfn></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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[1]</anchor-end> <cite xml:lang="en">Service Workers Nightly</cite> (<time>2017-02-16 20:10:49 +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://w3c.github.io/ServiceWorker/#dfn-containing-service-worker-registration">https://w3c.github.io/ServiceWorker/#dfn-containing-service-worker-registration</anchor-external></li><li><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> <strong><cite xml:lang="en">Service Workers Nightly</cite> (<time>2017-02-16 20:10:49 +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://w3c.github.io/ServiceWorker/#service-worker-registration-concept">https://w3c.github.io/ServiceWorker/#service-worker-registration-concept</anchor-external></strong></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> <cite xml:lang="en">Service Workers Nightly</cite> (<time>2017-02-25 12:50:35 +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://w3c.github.io/ServiceWorker/#selection">https://w3c.github.io/ServiceWorker/#selection</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[25]</anchor-end> <cite xml:lang="en">Service Workers Nightly</cite> (<time>2017-03-02 15:00:14 +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://w3c.github.io/ServiceWorker/#serviceworkercontainer-interface">https://w3c.github.io/ServiceWorker/#serviceworkercontainer-interface</anchor-external><ul><li><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">Service Workers Nightly</cite> (<time>2017-03-02 15:00:14 +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://w3c.github.io/ServiceWorker/#navigator-service-worker-register">https://w3c.github.io/ServiceWorker/#navigator-service-worker-register</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[37]</anchor-end> <cite xml:lang="en">Service Workers Nightly</cite> (<time>2017-03-02 15:00:14 +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://w3c.github.io/ServiceWorker/#navigator-service-worker-getRegistration">https://w3c.github.io/ServiceWorker/#navigator-service-worker-getRegistration</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[54]</anchor-end> <cite xml:lang="en">Service Workers Nightly</cite> (<time>2017-03-02 15:00:14 +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://w3c.github.io/ServiceWorker/#navigator-service-worker-getRegistrations">https://w3c.github.io/ServiceWorker/#navigator-service-worker-getRegistrations</anchor-external></li></ul></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[84]</anchor-end> <cite xml:lang="en">Service Workers Nightly</cite> (<time>2017-03-02 15:00:14 +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://w3c.github.io/ServiceWorker/#dfn-scope-to-registration-map">https://w3c.github.io/ServiceWorker/#dfn-scope-to-registration-map</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[86]</anchor-end> <cite xml:lang="en">Service Workers Nightly</cite> (<time>2017-03-02 15:00:14 +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://w3c.github.io/ServiceWorker/#dfn-job-type">https://w3c.github.io/ServiceWorker/#dfn-job-type</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[66]</anchor-end> <cite xml:lang="en">Service Workers Nightly</cite> (<time>2017-03-02 15:00:14 +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://w3c.github.io/ServiceWorker/#start-register">https://w3c.github.io/ServiceWorker/#start-register</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[89]</anchor-end> <cite xml:lang="en">Service Workers Nightly</cite> (<time>2017-03-02 15:00:14 +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://w3c.github.io/ServiceWorker/#register-algorithm">https://w3c.github.io/ServiceWorker/#register-algorithm</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="113" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[113]</anchor-end> <cite xml:lang="en">Service Workers Nightly</cite> (<time>2017-03-02 15:00:14 +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://w3c.github.io/ServiceWorker/#update-algorithm">https://w3c.github.io/ServiceWorker/#update-algorithm</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="124" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[124]</anchor-end> <cite xml:lang="en">Service Workers Nightly</cite> (<time>2017-03-02 15:00:14 +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://w3c.github.io/ServiceWorker/#soft-update-algorithm">https://w3c.github.io/ServiceWorker/#soft-update-algorithm</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="168" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[168]</anchor-end> <cite xml:lang="en">Service Workers Nightly</cite> (<time>2017-03-02 15:00:14 +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://w3c.github.io/ServiceWorker/#installation-algorithm">https://w3c.github.io/ServiceWorker/#installation-algorithm</anchor-external></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="204" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[204]</anchor-end> <cite xml:lang="en-US">Push API</cite>, <time>2020-02-04 16:21: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://w3c.github.io/push-api/#extensions-to-the-serviceworkerregistration-interface">https://w3c.github.io/push-api/#extensions-to-the-serviceworkerregistration-interface</anchor-external></li></ul></refs></section><section><h1>メンバー</h1><figure class="short list"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="205" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[205]</anchor-end> <code>ServiceWorkerRegistration</code></figcaption><ul><li><code>pushManager</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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー登録</anchor>は、次の状態を持ちます。</p><figure class="list members"><dl><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">適用範囲URL</f></dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー登録</anchor>は<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">適用範囲URL</f>ごとに1つ存在します。</dd><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><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">活性ワーカー</f></dt><dd></dd><dt><dfn><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">last update check time</f></dfn></dt><dd>
初期値は <code>null</code> <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="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</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>。</dd><dt><dfn><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uninstalling flag</f></dfn></dt><dd>
初期値は<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="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src></dd><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:"><code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en">NavigationPreloadManager</code></f></dt><dd></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">navigation preload enabled flag</f></dt><dd></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">navigation preload header value</f></dt><dd></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブキュー<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカージョブキュー</title></f></dt><dd></dd><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:"><code xmlns="http://www.w3.org/1999/xhtml">PushManager</code></f></dt><dd></dd></dl></figure></section><section><h1><code class="DOMi" xml:lang="en">ServiceWorkerContainer</code> インターフェイス <code class="DOMm" xml:lang="en">register</code> メソッド</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="22" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[22]</anchor-end> <code class="DOMi" xml:lang="en">ServiceWorkerContainer</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>の
<dfn><code class="DOMm" xml:lang="en">register</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><figure class="list members"><dl><dt><var>スクリプトURL</var></dt><dd><code class="IDL" xml:lang="en">USVString</code> <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="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;25</anchor-internal></src>。</dd><dt><var>オプション群</var></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor> <code class="IDL" xml:lang="en">RegistrationOptions</code> (省略可能) <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="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;25</anchor-internal></src>。</dd></dl></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="24" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[24]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">辞書</anchor> <dfn><code class="IDL" xml:lang="en">RegistrationOptions</code></dfn>
は、次の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メンバー<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">辞書メンバー</title></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="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;25</anchor-internal></src>。</p><figure class="list members middle"><ul><li><code class="DOMa" xml:lang="en">scope<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">適用範囲URL</title></code> (<code class="IDL" xml:lang="en">USVString</code>)</li><li><code class="DOMa" xml:lang="en">type<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">スクリプト型</title></code> (<code class="IDL" xml:lang="en">WorkerType</code>, 既定値 <code>classic<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">古典スクリプト</title></code>)</li><li><code class="DOMa" xml:lang="en">useCache</code> (<code class="IDL" xml:lang="en">boolean</code>, 既定値<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">偽</anchor>)</li></ul></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="23" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[23]</anchor-end> この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">メソッド</anchor>は、 <code class="IDL xattr" xml:lang="en">NewObject</code> です <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="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;25</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="26" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[26]</anchor-end> 次のようにしなければ<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="21" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;21</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="28" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[28]</anchor-end> <var>約束</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">約束</anchor>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="29" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[29]</anchor-end> <var>クライアント</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカークライアント</f>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="30" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[30]</anchor-end> <var>URL</var>を、<var>スクリプトURL</var>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">関連設定群オブジェクト</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API基底URL</f>に対して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構文解析<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL構文解析</title></anchor>した結果に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="31" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[31]</anchor-end> <var>オプション群</var>の <code class="DOMa" xml:lang="en">scope</code> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">存在</anchor>するなら、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="32" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[32]</anchor-end> <var>適用範囲URL</var>を、<var>オプション群</var>の <code class="DOMa" xml:lang="en">scope</code>
を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">関連設定群オブジェクト</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API基底URL</f>に対して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構文解析<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL構文解析</title></anchor>した結果に設定します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="33" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[33]</anchor-end> それ以外の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="27" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[27]</anchor-end> <var>適用範囲URL</var>を、 <code>null</code> に設定します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="34" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[34]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録開始</anchor>します。<figure class="list members middle"><dl><dt><var>適用範囲URL</var></dt><dd><var>適用範囲URL</var></dd><dt><var>スクリプトURL</var></dt><dd><var>URL</var></dd><dt><var>約束</var></dt><dd><var>約束</var></dd><dt><var>クライアント</var></dt><dd><var>クライアント</var></dd><dt><var>参照元</var></dt><dd><var>クライアント</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">作成URL</f></dd><dt><var>ワーカー型</var></dt><dd><var>オプション群</var>の <code class="DOMa" xml:lang="en">type<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">WorkerType</title></code></dd><dt><var>キャッシュ利用</var></dt><dd><var>オプション群</var>の <code class="DOMa" xml:lang="en">useCache</code></dd></dl></figure></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="35" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[35]</anchor-end> <var>約束</var>を返します。</li></ol></figure></section><section><h1><code class="DOMi" xml:lang="en">ServiceWorkerContainer</code> インターフェイス <code class="DOMm" xml:lang="en">getRegistration</code> メソッド</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="36" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[36]</anchor-end> <code class="DOMi" xml:lang="en">ServiceWorkerContainer</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>の
<dfn><code class="DOMm" xml:lang="en">getRegistration</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="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;37</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="38" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[38]</anchor-end> <var>クライアントURL</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">省略可能</anchor>な第1引数を
<code class="IDL" xml:lang="en">USVString</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>とします。 <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="25" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;25</anchor-internal></src></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="39" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[39]</anchor-end> <var>クライアント</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカークライアント</f>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="40" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[40]</anchor-end> <var>URL</var>を、<var>クライアントURL</var>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">関連設定群オブジェクト</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">API基底URL</f>に対して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構文解析<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL構文解析</title></anchor>した結果に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="41" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[41]</anchor-end> <var>URL</var> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">失敗</anchor>の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="42" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[42]</anchor-end> <code class="JS" xml:lang="en">TypeError</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>を返し、ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="43" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[43]</anchor-end> <var>URL</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URLの起源</title></f>が<var>クライアント</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源</f>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">同じ起源</anchor>でない場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="44" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[44]</anchor-end> <code class="JS" xml:lang="en">SecurityError</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>を返し、ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="45" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[45]</anchor-end> <var>約束</var>を、新しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">約束</anchor>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="46" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[46]</anchor-end> 並列の処理を開始します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="47" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[47]</anchor-end> <var>約束</var>を返します。</li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="48" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[48]</anchor-end> 並列の処理は、次のようにします <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="37" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;37</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="49" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[49]</anchor-end> <var>登録</var>を、<var>URL</var> についての<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー登録の一致</anchor>の結果に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="50" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[50]</anchor-end> <var>登録</var>が <code>null</code> 以外の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="51" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[51]</anchor-end> <var>約束</var>を、<var>登録</var>を表す <code class="DOMi" xml:lang="en">ServiceWorkerRegistration</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>します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="52" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[52]</anchor-end> それ以外の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="53" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[53]</anchor-end> <var>約束</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">未定義</anchor>で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">約束の解決</title></anchor>します。</li></ol></li></ol></figure></section><section><h1><code class="DOMi" xml:lang="en">ServiceWorkerContainer</code> インターフェイス <code class="DOMm" xml:lang="en">getRegistrations</code> メソッド</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="55" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[55]</anchor-end> <code class="DOMi" xml:lang="en">ServiceWorkerContainer</code> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス</anchor>の
<dfn><code class="DOMm" xml:lang="en">getRegistration<em>s</em></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="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;54</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="56" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[56]</anchor-end> <var>クライアント</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">文脈オブジェクト</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカークライアント</f>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="57" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[57]</anchor-end> <var>約束</var>を、新しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">約束</anchor>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="58" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[58]</anchor-end> 並列の処理を開始します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="59" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[59]</anchor-end> <var>約束</var>を返します</li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="60" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[60]</anchor-end> 並列の処理は、次のようにします <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="54" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;54</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="61" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[61]</anchor-end> <var>配列</var>を、新しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">配列</anchor>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="62" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[62]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">scope to registration map</anchor> の各 (<var>キー</var>, <var>値</var>) について、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="63" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[63]</anchor-end> <var>キー</var>を<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">構文解析<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL構文解析</title></anchor>した結果の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URLの起源</title></f>が<var>クライアント</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源</f>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">同じ起源</anchor>で、
<var>値</var>の <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uninstalling flag</f> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">偽</anchor>なら、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="64" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[64]</anchor-end> <var>配列</var>に、<ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><var xmlns="http://www.w3.org/1999/xhtml">値</var>と関連付けられた <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en">ServiceWorkerRegistration</code>
を追加します。</ed></li></ol></li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="65" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[65]</anchor-end> <var>約束</var>を、<var>配列</var>で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">解決<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">約束の解決</title></anchor>します。</li></ol></figure></section><section><h1>処理</h1><section><h1>作成</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="85" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[85]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカージョブ</title></anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ型</f>の<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>登録<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">登録ジョブ</title></anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">register</rt></rubyb></dfn>と<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>更新<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">更新ジョブ</title></anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">update</rt></rubyb></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="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;86</anchor-internal></src> は、<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="67" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[67]</anchor-end> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録開始<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">Start Register</rt></rubyb></dfn>は、
<var>適用範囲URL</var>、
<var>スクリプトURL</var>、
<var>約束</var>、
<var>クライアント</var>、
<var>参照元</var>、
<var>ワーカー型</var>、
<var>キャッシュ利用</var>について、
次のようにしなければ<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="66" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;66</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="70" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[70]</anchor-end> 次の<strong>いずれか</strong>の場合:<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="71" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[71]</anchor-end> <var>スクリプトURL</var>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">失敗</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="72" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[72]</anchor-end> <var>スクリプトURL</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">scheme<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL scheme</title></f>が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP(S) scheme</anchor> では<em>ない</em></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="73" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[73]</anchor-end> <var>スクリプトURL</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">path<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL path</title></f>が
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII大文字・小文字不区別</anchor>で <code>%2F</code> や <code>%5C</code> を含む</li></ul><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="68" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[68]</anchor-end> <var>約束</var>を、<code class="JS" xml:lang="en">TypeError</code> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拒絶</anchor>します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="69" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[69]</anchor-end> ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="74" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[74]</anchor-end> <var>適用範囲URL</var>が <code>null</code> の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="75" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[75]</anchor-end> <var>適用範囲URL</var>を、<var>スクリプトURL</var>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ディレクトリーURL</anchor>に設定します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="76" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[76]</anchor-end> 次の<strong>いずれか</strong>の場合:<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="79" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[79]</anchor-end> <var>適用範囲URL</var>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">失敗</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="80" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[80]</anchor-end> <var>適用範囲URL</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">scheme<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL scheme</title></f>が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTP(S) scheme</anchor> では<em>ない</em></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="81" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[81]</anchor-end> <var>適用範囲URL</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">path<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL path</title></f>が
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ASCII大文字・小文字不区別</anchor>で <code>%2F</code> や <code>%5C</code> を含む</li></ul><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="83" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[83]</anchor-end> <var>約束</var>を、 <code class="JS" xml:lang="en">TypeError</code> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">拒絶</anchor>します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="77" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[77]</anchor-end> ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="82" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[82]</anchor-end> <var>ジョブ</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ作成</anchor>の結果に設定します。<figure class="list members middle"><dl><dt><var>ジョブ型</var></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">登録ジョブ</title></anchor></dd><dt><var>適用範囲URL</var></dt><dd><var>適用範囲URL</var></dd><dt><var>スクリプトURL</var></dt><dd><var>スクリプトURL</var></dd><dt><var>約束</var></dt><dd><var>約束</var></dd><dt><var>クライアント</var></dt><dd><var>クライアント</var></dd></dl></figure></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="87" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[87]</anchor-end> <var>ジョブ</var>を次の通り設定します。<figure class="list members middle"><dl><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ワーカー型</f></dt><dd><var>ワーカー型</var></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ利用</f></dt><dd><var>キャッシュ利用</var></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">参照元</f></dt><dd><var>参照元</var></dd></dl></figure></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="78" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[78]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Schedule Job</anchor> を実行します。<figure class="list members"><dl><dt><var>ジョブ</var></dt><dd><var>ジョブ</var></dd><dt><var>ジョブキュー</var></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>適用範囲URL</anchor>から<anchor>ジョブキュー<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカージョブキュー</title></anchor>への<anchor>写像</anchor></f>の<var>適用範囲URL</var>の値</dd></dl></figure></li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="88" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[88]</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:">ジョブ<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカージョブ</title></anchor>は、
適当なタイミングで<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">登録ジョブ</title></anchor>を呼び出します。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="125" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[125]</anchor-end> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ソフト更新<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">Soft Update</rt></rubyb></dfn>は、
<var>登録</var>と<var>force bypass cache flag</var>について次のようにします 
<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="124" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;124</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="162" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[162]</anchor-end> <var>最新ワーカー</var>を、<var>登録</var>についての<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最新ワーカーの取得</anchor>の結果に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="157" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[157]</anchor-end> <var>最新ワーカー</var>が <code>null</code> の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="158" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[158]</anchor-end> ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="160" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[160]</anchor-end> <var>ジョブ</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ作成</anchor>の結果に設定します。<figure class="list members"><dl><dt><var><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ型</anchor></var></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">更新<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">更新ジョブ</title></anchor></dd><dt><var>適用範囲URL</var></dt><dd><var>登録</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">適用範囲URL</f></dd><dt><var>スクリプトURL</var></dt><dd><var>最新ワーカー</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプトURL<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカー</title></f></dd><dt><var>約束</var></dt><dd><code>null</code></dd><dt><var>クライアント</var></dt><dd><code>null</code></dd></dl></figure></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="159" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[159]</anchor-end> <var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ワーカー型</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><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="161" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[161]</anchor-end> <var>ジョブ</var>の <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">force bypass cache flag</f> を、 <var>force bypass cache flag</var>
に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="165" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[165]</anchor-end> <var>ジョブキュー</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>適用範囲URL</anchor>から<anchor>ジョブキュー</anchor>への<anchor>写像</anchor></f>の<var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">適用範囲URL</f>の値に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="163" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[163]</anchor-end> <var>ジョブ</var>と<var>ジョブキュー</var>について <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Schedule Job</anchor> を実行します。</li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="164" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[164]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">handle fetch</anchor> と <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">handle functional event</anchor> から呼び出されます。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="155" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[155]</anchor-end> <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="124" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;124</anchor-internal></src>。
また、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">開発者ツール</anchor>からの呼び出しなど<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">デバッグ</anchor>を補助するために
<var>force bypass cache flag</var> を使うことができます <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="124" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;124</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="167" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[167]</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:">ジョブ<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカージョブ</title></anchor>は、
適当なタイミングで<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">更新<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">更新ジョブ</title></anchor>を呼び出します。</p></section><section><h1>スクリプトの取得と実行</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="90" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[90]</anchor-end> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">Register</rt></rubyb></dfn>は、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカージョブ</title></anchor><var>ジョブ</var>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブキュー<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカージョブキュー</title></anchor><var>ジョブキュー</var>を次のようにします <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="89" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;89</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="91" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[91]</anchor-end> 次の<em>いずれか</em>の場合:<figure class="list"><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="96" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[96]</anchor-end> <var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプトURL<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカー</title></f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URLの起源</title></f>について
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">potentially trustworthy origin</anchor> を適用した結果が <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">Not Trusted</anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="95" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[95]</anchor-end> <var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプトURL<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:">参照元</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URLの起源</title></f>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">同じ起源</anchor>でない</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="97" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[97]</anchor-end> <var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">適用範囲URL</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URLの起源</title></f>と<var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">参照元</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">起源<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URLの起源</title></f>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">同じ起源</anchor>でない</li></ul></figure><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="92" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[92]</anchor-end> <var>ジョブ</var>と <code>SecurityError</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>を呼び出します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="93" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[93]</anchor-end> <var>ジョブ</var>と<var>ジョブキュー</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ終了</anchor>を呼び出します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="94" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[94]</anchor-end> ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="98" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[98]</anchor-end> <var>登録</var>を、<var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">適用範囲URL</f>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録を取得</anchor>した結果に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="99" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[99]</anchor-end> <var>登録</var>が <code>null</code> 以外の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="100" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[100]</anchor-end> <var>登録</var>の <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uninstalling flag</f> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">真</anchor>の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="101" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[101]</anchor-end> <var>登録</var>の <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uninstalling flag</f> を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">偽</anchor>に設定します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="102" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[102]</anchor-end> <var>最新ワーカー</var>を、<var>登録</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最新ワーカーを取得</anchor>した結果に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="103" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[103]</anchor-end> 次の<em>すべて</em>を満たす場合:<figure class="list"><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="104" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[104]</anchor-end> <var>最新ワーカー</var>が <code>null</code> 以外</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="105" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[105]</anchor-end> <var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプトURL<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:">スクリプトURL<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカー</title></f>と<var>素片識別子除外フラグ</var>を設定して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">等価<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL等価</title></anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="106" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[106]</anchor-end> <var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ利用</f>と<var>登録</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ利用</f>が等しい</li></ul></figure><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="107" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[107]</anchor-end> <var>ジョブ</var>と<var>登録</var>の <code class="DOMi" xml:lang="en">ServiceWorkerRegistration</code> 
について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ約束の解決</anchor>をします。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="108" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[108]</anchor-end> <var>ジョブ</var>と<var>ジョブキュー</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ終了</anchor>を呼び出します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="109" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[109]</anchor-end> ここで停止します。</li></ol></li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="110" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[110]</anchor-end> それ以外の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="111" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[111]</anchor-end> <var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">適用範囲URL</f>と<var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">キャッシュ利用</f>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録の設定</anchor>をします。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="112" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[112]</anchor-end> <var>ジョブ</var>と<var>ジョブキュー</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">更新<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">更新ジョブ</title></anchor>します。</li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="115" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[115]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブを走らせる</anchor>処理から呼び出されます。</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="114" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[114]</anchor-end> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">更新<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">Update</rt></rubyb></dfn>は、
<var>ジョブ</var>と<var>ジョブキュー</var>を次のようにします <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="113" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;113</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="116" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[116]</anchor-end> <var>登録</var>を、<var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">適用範囲URL</f>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録を取得</anchor>した結果に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="117" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[117]</anchor-end> <var>登録</var>が <code>null</code> か、
<var>登録</var>の <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">uninstalling flag</f> が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">真</anchor>の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="118" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[118]</anchor-end> <var>ジョブ</var>と <code class="JS" xml:lang="en">TypeError</code> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ約束を拒絶</anchor>します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="119" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[119]</anchor-end> <var>ジョブ</var>と<var>ジョブキュー</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ終了</anchor>します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="120" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[120]</anchor-end> <var>最新ワーカー</var>を、<var>登録</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最新ワーカーを取得</anchor>した結果に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="121" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[121]</anchor-end> <var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ型</f>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">更新<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">更新ジョブ</title></anchor>で、
<var>最新ワーカー</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプトURL<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:">スクリプトURL<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカー</title></f>と<var>素片識別子除外フラグ</var>を設定して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">等価<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL等価</title></anchor>で<em>ない</em>場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="122" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[122]</anchor-end> <var>ジョブ</var>と <code class="JS" xml:lang="en">TypeError</code> で<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ約束を拒絶</anchor>します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="123" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[123]</anchor-end> <var>ジョブ</var>と<var>ジョブキュー</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ終了</anchor>します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="126" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[126]</anchor-end> <var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ワーカー型</f>により、<figure class="switch"><dl><dt><code>classic<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">古典スクリプト</title></code></dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">古典ワーカースクリプトのfetch</anchor>を実行します。<figure class="list members"><dl><dt><var>URL</var></dt><dd><var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプトURL</f></dd><dt><var>fetchクライアント設定群</var></dt><dd>
<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></dd><dt><var><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">終点</anchor></var></dt><dd><code>serviceworker</code></dd><dt><var>スクリプト設定群オブジェクト</var></dt><dd><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー</anchor>用に作られる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境設定群オブジェクト</anchor><dl xmlns="http://www.w3.org/1999/xhtml"><dt><var>fetchの実行</var></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー</anchor>用の処理
(<var>登録</var>、<var>ジョブ</var>、<var>最新ワーカー</var>を参照します。
<var>HTTPS状態</var>、<var>参照元ポリシー</var>を設定することがあります。)</dd><dt><var>続きの処理</var></dt><dd><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="127" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;127</anchor-internal></dd></dl></ed></dd></dl></figure></dd><dt><code>module<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">モジュールスクリプト</title></code></dt><dd>
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">モジュールワーカースクリプトグラフのfetch</anchor>を実行します。<figure class="list members"><dl><dt><var>URL</var></dt><dd><var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプトURL</f></dd><dt><var>fetchクライアント設定群オブジェクト</var></dt><dd>
<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></dd><dt><var><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">終点</anchor></var></dt><dd><code>serviceworker</code></dd><dt><var>credentialsモード</var></dt><dd><code>omit<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">credentialsモード</title></code></dd><dt><var>モジュール写像設定群オブジェクト</var></dt><dd><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">この<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー</anchor>用に作られる<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">環境設定群オブジェクト</anchor><dl xmlns="http://www.w3.org/1999/xhtml"><dt><var>fetchの実行</var></dt><dd><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー</anchor>用の処理
(<var>登録</var>、<var>ジョブ</var>、<var>最新ワーカー</var>を参照します。
<var>HTTPS状態</var>、<var>参照元ポリシー</var>を設定することがあります。)</dd><dt><var>続きの処理</var></dt><dd><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="127" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;127</anchor-internal></dd></dl></ed></dd></dl></figure></dd></dl></figure></li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="127" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[127]</anchor-end> <var>スクリプト</var>についての続きの処理は、次のようにします <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="113" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;113</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="129" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[129]</anchor-end> <var>スクリプト</var>が <code>null</code> の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="128" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[128]</anchor-end> <var>ジョブ</var>と <code class="JS" xml:lang="en">TypeError</code> について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ約束を拒絶</anchor>します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="130" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[130]</anchor-end> <var>最新ワーカー</var>が <code>null</code> の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="131" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[131]</anchor-end> <var>登録</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録を消去</anchor>します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="132" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[132]</anchor-end> <var>ジョブ</var>と<var>ジョブキュー</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ終了</anchor>します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="133" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[133]</anchor-end> ここで停止します。</li></ol></li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="134" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[134]</anchor-end> 次の<em>すべて</em>を満たす場合:<figure class="list"><ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="135" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[135]</anchor-end> <var>最新ワーカー</var>が <code>null</code> 以外</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="136" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[136]</anchor-end> <var>最新ワーカー</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプトURL<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:">スクリプトURL<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカー</title></f>と<var>素片識別子除外フラグ</var>を設定して<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">等価<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">URL等価</title></anchor></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="137" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[137]</anchor-end> <var>スクリプト</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ソーステキスト</f>と<var>最新ワーカー</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ソーステキスト</f>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト列</anchor>として等しい</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="138" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[138]</anchor-end> <var>スクリプト</var>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">古典スクリプト</anchor>の場合、<ul><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="139" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[139]</anchor-end> <var>スクリプト</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">モジュール記録</f>の <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" class="ss">ECMAScriptCode</f>
が<var>最新ワーカー</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト資源</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">モジュール記録</f>の <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" class="ss">ECMAScriptCode</f>
と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">バイト列</anchor>として等しい</li></ul></li></ul></figure><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="140" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[140]</anchor-end> <var>ジョブ</var>と<var>登録</var>の <code class="DOMi" xml:lang="en">ServiceWorkerRegistration</code>
について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ約束を解決</anchor>します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="141" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[141]</anchor-end> <var>ジョブ</var>と<var>ジョブキュー</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ終了</anchor>します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="142" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[142]</anchor-end> ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="143" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[143]</anchor-end> <var>ワーカー</var>を、新しい<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー</anchor>に設定します。<figure class="list members"><figcaption><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="144" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[144]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー</anchor></figcaption><dl><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">識別子<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカー</title></f></dt><dd>新しい固有の<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:">スクリプトURL<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカー</title></f></dt><dd><var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプトURL<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカー</title></f></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト資源</f></dt><dd><var>スクリプト</var></dd><dt><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">型<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">ワーカー型</title></f></dt><dd><var>ジョブ</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ワーカー型</f></dd></dl></figure></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="145" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[145]</anchor-end> <var>ワーカー</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト資源</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">HTTPS状態</f>を、<var>HTTPS状態</var>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="146" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[146]</anchor-end> <var>ワーカー</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">スクリプト資源</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">参照元ポリシー</f>を、<var>参照元ポリシー</var>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="147" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[147]</anchor-end> <var>結果</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカーを走らせる</anchor>処理を実行した結果に設定します。<figure class="list members"><dl><dt><var>ワーカー</var></dt><dd><var>ワーカー</var></dd><dt><var>force bypass cache for importscripts flag</var></dt><dd><var>ジョブ</var>の <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">force bypass cache for importscripts flag</f></dd></dl></figure></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="148" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[148]</anchor-end> <var>結果</var>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">失敗</anchor>の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="149" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[149]</anchor-end> <var>ジョブ</var>と <code class="JS" xml:lang="en">TypeError</code> について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ約束を拒絶</anchor>します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="150" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[150]</anchor-end> <var>最新ワーカー</var>が <code>null</code> の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="151" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[151]</anchor-end> <var>登録</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録を消去</anchor>します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="152" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[152]</anchor-end> <var>ジョブ</var>と<var>ジョブキュー</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ終了</anchor>します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="153" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[153]</anchor-end> ここで停止します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="154" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[154]</anchor-end> <var>ジョブ</var>、<var>ワーカー</var>、<var>登録</var>、<var>ジョブキュー</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インストール<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">インストール (サービスワーカー)</title></anchor>します。</li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="156" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[156]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">更新<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">更新ジョブ</title></anchor>は、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブを走らせる</anchor>処理の他に、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">登録ジョブ</title></anchor>からも呼び出されます。</p><hr></hr><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="169" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[169]</anchor-end> <dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インストール<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">Install</rt></rubyb></dfn>は、
<var>ジョブ</var>、<var>ワーカー</var>、<var>登録</var>、<var>ジョブキュー</var>を次のようにします
<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="168" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;168</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="170" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[170]</anchor-end> <var>失敗</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">偽</anchor>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="198" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[198]</anchor-end> <var>完了時</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">すべて終わったら実行</anchor>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="171" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[171]</anchor-end> <var>最新ワーカー</var>を、<var>登録</var>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">最新ワーカーの取得</anchor>の結果に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="172" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[172]</anchor-end> <var>登録</var>、<code>installing</code>、<var>ワーカー</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録状態更新</anchor>します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="173" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[173]</anchor-end> <var>登録</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インストール中ワーカー</f>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インストール中</anchor>、
<var>完了時</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ワーカー状態の更新</anchor>を実行します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="174" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[174]</anchor-end> <var>ジョブ</var>と<var>登録</var>の <code class="DOMi" xml:lang="en">ServiceWorkerRegistration</code> について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ約束の解決</anchor>をします。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="175" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[175]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タスクをキューに追加</anchor>します。<figure class="list members"><dl><dt><var>処理</var></dt><dd><figure class="steps"><ol><li><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="176" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[176]</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:">作成URL</f>が<var xmlns="http://www.w3.org/1999/xhtml">登録</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">適用範囲URL</f>と<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー登録一致</anchor>するものの <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en">ServiceWorkerRegistration</code> や、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー</anchor>であって<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">containing service worker registration</f> が<var xmlns="http://www.w3.org/1999/xhtml">登録</var>であるものについて、順に、<ol xmlns="http://www.w3.org/1999/xhtml"><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="177" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[177]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">イベントを発火</anchor>します。<figure class="list members"><dl><dt><var><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">イベント型</anchor></var></dt><dd><code class="DOMe" xml:lang="en">updatefound</code></dd></dl></figure></li></ol></ed></li></ol></figure></dd><dt><var><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タスク源</anchor></var></dt><dd>?</dd></dl></figure></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="178" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[178]</anchor-end> <var>インストール中ワーカー</var>を、<var>登録</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インストール中ワーカー</f>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="179" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[179]</anchor-end> <var>インストール中ワーカー</var>と<var>ジョブ</var>の <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">force bypass cache flag</f>
について、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカーを走らせる</anchor>処理を実行します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="180" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[180]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タスクをキューに追加</anchor>します。<figure class="list members"><dl><dt><var>処理</var></dt><dd><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="197" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;197</anchor-internal></dd><dt><var>捨てる処理</var></dt><dd>失敗の時の処理 (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="182" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;182</anchor-internal>)</dd><dt><var><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">タスク源</anchor></var></dt><dd>?</dd></dl></figure></li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="197" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[197]</anchor-end> タスクは、次のようにします <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="168" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;168</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="181" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[181]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">イベントを発火</anchor>します。<figure class="list members"><dl><dt><var><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インターフェイス<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">イベントインターフェイス</title></anchor></var></dt><dd><code class="DOMi" xml:lang="en">InstallEvent</code></dd><dt><var><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">イベント型</anchor></var></dt><dd><code class="DOMe" xml:lang="en">install<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">InstallEvent</title></code></dd><dt><var><anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">対象<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">イベント対象</title></anchor></var></dt><dd><var>インストール中ワーカー</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">大域オブジェクト</f></dd><dt><var><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">pending promises count</f> が <n xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">0</n> になった時の処理</var></dt><dd>
失敗の時の処理 (<anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="182" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;182</anchor-internal>)</dd></dl></figure><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-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="182" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;182</anchor-internal>) をします。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="189" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[189]</anchor-end> <var>登録</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インストール中ワーカー</f>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">imported scripts updated flag</f>
を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">真</anchor>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="190" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[190]</anchor-end> <var>登録</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">待機中ワーカー</f>が <code>null</code> でない場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="191" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[191]</anchor-end> <var>登録</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">待機中ワーカー</f>について、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカーの終端</anchor>を実行します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="192" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[192]</anchor-end> <var>登録</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">待機中ワーカー</f>、「冗長」、<var>完了時</var>について、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ワーカー状態の更新</anchor>を実行します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="193" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[193]</anchor-end> <var>登録</var>と<code>waiting</code>と<var>登録</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インストール中ワーカー</f>について、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録状態の更新</anchor>を実行します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="194" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[194]</anchor-end> <var>登録</var>と<code>installing</code>と<code>null</code>について、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録状態の更新</anchor>を実行します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="195" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[195]</anchor-end> <var>登録</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">待機中ワーカー</f>、「インストール済み」、<var>完了時</var>について、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ワーカー状態の更新</anchor>を実行します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="196" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[196]</anchor-end> <var>ジョブ</var>と<var>ジョブキュー</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ終了</anchor>を実行します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="199" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[199]</anchor-end> <var>完了時</var>について完了時に<var>登録</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">活性化挑戦</anchor>します。</li></ol></figure><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="182" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[182]</anchor-end> 失敗の時の処理は、次のようにします <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="168" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;168</anchor-internal></src>。</p><figure class="steps"><ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="183" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[183]</anchor-end> <var>失敗</var>を、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">真</anchor>に設定します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="184" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[184]</anchor-end> <var>登録</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">インストール中ワーカー</f>と「冗長」について、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ワーカー状態の更新</anchor>を実行します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="185" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[185]</anchor-end> <code>installing</code> と <code>null</code> について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録状態の更新</anchor>を実行します。</li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="186" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[186]</anchor-end> <var>最新ワーカー</var>が <code>null</code> の場合、<ol><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="187" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[187]</anchor-end> <var>登録</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">登録消去</anchor>を実行します。</li></ol></li><li><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="188" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[188]</anchor-end> <var>ジョブ</var>と<var>ジョブキュー</var>について<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ終了</anchor>を実行します。</li></ol></figure></section><section><h1>登録解除</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="166" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[166]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">サービスワーカージョブ</title></anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ジョブ型</f>の<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:"><anchor>登録解除<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">登録解除ジョブ</title></anchor><rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">unregister</rt></rubyb></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="86" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;86</anchor-internal></src>。</p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="202" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[202]</anchor-end> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プッシュ購読の非活性化</anchor></p></section><section><h1>管理</h1><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>は、<dfn><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">scope to registration map</f></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>は<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">適用範囲URL</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="84" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;84</anchor-internal>, <anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src></p><comment-p xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー登録</anchor>の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">寿命</anchor>は、 <code xmlns="http://www.w3.org/1999/xhtml" class="DOMi" xml:lang="en">ServiceWorkerRegistration</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>より長いです。 <src><anchor-internal xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src></comment-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> <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">適用範囲URL</f>が同じ<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="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src></p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>は、<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">適用範囲URL</f>が異なる限り、
同じ<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="2" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;2</anchor-internal></src></p><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">scope to registration map</anchor> 追加時に <code xmlns="http://www.w3.org/1999/xhtml">ready</code> の処理</ed></section><section><h1>選択</h1><p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカークライアント</anchor><var>クライアント</var>は、
<var>要求</var>の処理に当たり、
<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー登録</anchor>を次のように<dfn><rubyb xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">選択<rt xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">select</rt></rubyb></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="12" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;12</anchor-internal></src>。</p><figure class="steps"><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> <var>要求</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">URL<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">要求URL</title></f>が<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">局所<title xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:">局所URL</title></f>で<em>ない</em>なら、<ol><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> <var>クライアント</var>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">利用者エージェント</anchor>の <f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">scope to registration map</f> から<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー登録一致</anchor>した結果を返します。</li></ol></li><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> それ以外の場合、<ol><li><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> <var>クライアント</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">有責閲覧文脈</f>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">入れ子閲覧文脈</anchor>の場合、<ol><li><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> <var>クライアント</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">親閲覧文脈</f>の環境の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー登録</anchor>を
(あれば) 返します。</li></ol></li><li><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> <var>クライアント</var>が<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ワーカークライアント</anchor>なら、<ol><li><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> <var>クライアント</var>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">ワーカーの文書群</f>のいずれかの環境の<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー登録</anchor>を
(あれば) 返します。</li></ol></li></ol></li></ol></figure><ed xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:10:"><dfn xmlns="http://www.w3.org/1999/xhtml">サービスワーカー登録の一致</dfn></ed></section><section><h1>clear</h1><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="203" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[203]</anchor-end> clear 時、<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">プッシュ購読</anchor>は削除されます。</p></section></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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー</anchor>は、<dfn><f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">containing service worker registration</f></dfn>
を持ちます。値は<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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src></p><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> <anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">サービスワーカー</anchor>の<f xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">containing service worker registration</f>は、
その<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="1" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">&gt;&gt;1</anchor-internal></src></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="200" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[200]</anchor-end> <cite xml:lang="en">How to create registration objects (#1445)</cite>
(<anchor xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:">jakearchibald</anchor>著, <time>2019-07-01 17:55:21 +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/w3c/ServiceWorker/commit/7c07a47c06d9f1eb6de5c9580fa8a50382d37a14">https://github.com/w3c/ServiceWorker/commit/7c07a47c06d9f1eb6de5c9580fa8a50382d37a14</anchor-external></p><p><anchor-end xmlns="urn:x-suika-fam-cx:markup:suikawiki:0:9:" a0:anchor="201" xmlns:a0="urn:x-suika-fam-cx:markup:suikawiki:0:9:">[201]</anchor-end> <cite xml:lang="en">How to create registration objects by jakearchibald · Pull Request #1445 · w3c/ServiceWorker</cite>
(<time>2020-01-12 15:02:20 +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/w3c/ServiceWorker/pull/1445">https://github.com/w3c/ServiceWorker/pull/1445</anchor-external></p></section></body></html>