--- title: Client slug: Web/API/Client tags: - API - Client - Experimental - Interface - NeedsTranslation - Reference - Service Workers - ServiceWorkerClient - ServiceWorkers - TopicStub translation_of: Web/API/Client --- <p>{{SeeCompatTable}}{{APIRef("Service Workers API")}}</p> <p><code>Client</code> 接口表示一个可执行的上下文,如{{domxref("Worker")}}或{{domxref("SharedWorker")}}。{{domxref("Window")}} 客户端由更具体的{{domxref("WindowClient")}}表示。 你可以从{{domxref("Clients.matchAll","Clients.matchAll()")}} 和{{domxref("Clients.get","Clients.get()")}}等方法获取<code>Client</code>/<code>WindowClient</code>对象。</p> <h2 id="Methods">Methods</h2> <dl> <dt>{{domxref("Client.postMessage()")}}</dt> <dd>向client发送一条消息。</dd> </dl> <h2 id="Properties">Properties</h2> <dl> <dt>{{domxref("Client.id")}} {{readonlyInline}}</dt> <dd>客户端的唯一通用标识符,字符串形式。</dd> <dt>{{domxref("Client.type")}} {{readonlyInline}}</dt> <dd>客户端的类型,字符串形式。可能是"<code>window"</code>, "<code>worker"</code>, 或 "<code>sharedworker"。</code></dd> <dt>{{domxref("Client.url")}} {{readonlyInline}}</dt> <dd>客户端的URL,字符串形式。</dd> </dl> <h2 id="规范">规范</h2> <table> <tbody> <tr> <th scope="col">Specification</th> <th scope="col">Status</th> <th scope="col">Comment</th> </tr> <tr> <td>{{SpecName('Service Workers', '#client', 'Client')}}</td> <td>{{Spec2('Service Workers')}}</td> <td>Initial definition.</td> </tr> </tbody> </table> <h2 id="浏览器兼容性">浏览器兼容性</h2> <p>{{CompatibilityTable}}</p> <table> <tbody> <tr> <th>Feature</th> <th>Chrome</th> <th>Firefox (Gecko)</th> <th>Internet Explorer</th> <th>Opera</th> <th>Safari (WebKit)</th> </tr> <tr> <td>Basic support</td> <td>{{CompatChrome(40)}}</td> <td>{{ CompatGeckoDesktop("44.0") }}<sup>[1]</sup></td> <td>{{CompatNo}}</td> <td>{{CompatOpera(27)}}</td> <td>{{CompatNo}}</td> </tr> <tr> <td><code>type</code> property</td> <td>{{CompatChrome(60)}}</td> <td>{{ CompatGeckoDesktop("54.0") }}</td> <td>{{CompatUnknown}}</td> <td>{{CompatOpera(47)}}</td> <td>{{CompatUnknown}}</td> </tr> </tbody> </table> <table> <tbody> <tr> <th>Feature</th> <th>Android Webview</th> <th>Chrome for Android</th> <th>Firefox Mobile (Gecko)</th> <th>IE Mobile</th> <th>Opera Mobile</th> <th>Safari Mobile</th> </tr> <tr> <td>Basic support</td> <td>{{CompatChrome(40)}}</td> <td>{{CompatChrome(40)}}</td> <td>{{ CompatGeckoMobile("44.0") }}</td> <td>{{CompatNo}}</td> <td>{{CompatOperaMobile(27)}}</td> <td>{{CompatNo}}</td> </tr> <tr> <td><code>type</code> property</td> <td>{{CompatChrome(60)}}</td> <td>{{CompatChrome(60)}}</td> <td>{{ CompatGeckoMobile("54.0") }}</td> <td>{{CompatUnknown}}</td> <td>{{CompatOperaMobile(47)}}</td> <td>{{CompatUnknown}}</td> </tr> </tbody> </table> <ul> <li>[1] Service workers (and <a href="https://developer.mozilla.org/en-US/docs/Web/API/Push_API">Push</a>) have been disabled in the <a href="https://www.mozilla.org/en-US/firefox/organizations/">Firefox 45 & 52 Extended Support Releases</a> (ESR.)</li> </ul> <h2 id="See_also">See also</h2> <ul> <li>使用<a href="https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker_API/Using_Service_Workers">Service Workers</a></li> <li><a href="https://jakearchibald.github.io/isserviceworkerready/">ServiceWorker准备好了么?</a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promises</a></li> </ul>