Client

Ten artykuł wymaga przeglądu redakcyjnego.

Nasi wolontariusze nie przetłumaczyli jeszcze tego artykułu na język Polski. Dołącz do nas i pomóż go przetłumaczyć!

This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for the proper prefixes to use in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the spec changes.

The Client interface of the ServiceWorker API represents the scope of a service worker client. A service worker client is either a document in a browser context or a SharedWorker, which is controlled by an active worker. A client object acts as a snapshot representation of its associated service worker client in the scope of a service worker.

Client is still under development (see issue 414 and issue 423).

Methods

Client.postMessage()
Allows a service worker to send a message to a ServiceWorkerClient.

Properties

Client.frameType Read only
Indicates the type of browsing context of the current client. This value can be one of auxiliarytop-levelnested, or none.
Client.id Read only
Returns the universally unique identifier of the Client object.
Client.url Read only
The URL of the current service worker client.

Examples

This code is based on a snippet taken from the service worker post-message sample (see post-message live.) The code sends message data to which the service worker can reply via Client.postMessage().

The message is wrapped in a promise that resolves if the response doesn't contain an error and rejects with the error.

// service worker client (e.g. a document)
function sendMessage(message) {
  return new Promise(function(resolve, reject) {
    // note that this is the ServiceWorker.postMessage version
    navigator.serviceWorker.controller.postMessage(message);
    window.serviceWorker.onMessage = function(e) {
      resolve(e.data);
    });
  });
}

// controlling service worker
self.onmessage.addEventListener("message", function(e) {
  // e.source is a client object
  e.source.postMessage("Hello! Your message was: " + e.data);
});

Specifications

Specification Status Comment
Service Workers
The definition of 'Client' in that specification.
Working Draft Initial definition.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 40.0 ? Not supported ? Not supported
Feature Android Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
Basic support ? ? ? Not supported ? Not supported ?

Chrome Notes

The frameType property is not supported Chrome 43.0.

See also

Autorzy i etykiety dokumentu

Contributors to this page: fscholz, Sheppy, jpmedley, catalinb, chrisdavidmills, Meggin
Ostatnia aktualizacja: fscholz,