Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Revision 899787 of SharedWorkerGlobalScope

  • Revision slug: Web/API/SharedWorkerGlobalScope
  • Revision title: SharedWorkerGlobalScope
  • Revision id: 899787
  • Created:
  • Creator: Sebastianz
  • Is current revision? No
  • Comment Fixed browser compatibility info to allow the compat data scraper to parse the page

Revision Content

{{APIRef("Web Workers API")}}

The SharedWorkerGlobalScope object (the {{domxref("SharedWorker")}} global scope) is accessible through the {{domxref("window.self","self")}} keyword. Some additional global functions, namespaces objects, and constructors, not typically associated with the worker global scope, but available on it, are listed in the JavaScript Reference. See the complete list of functions available to workers.

Properties

This interface inherits properties from the {{domxref("WorkerGlobalScope")}} interface, and its parent {{domxref("EventTarget")}}, and therefore implements properties from {{domxref("WindowTimers")}}, {{domxref("WindowBase64")}}, and {{domxref("WindowEventHandlers")}}.

{{domxref("SharedWorkerGlobalScope.name")}} {{readOnlyinline}}
The name that the {{domxref("SharedWorker")}} was (optionally) given when it was created. This is the name that the {{domxref("SharedWorker.SharedWorker", "SharedWorker()")}} constructor can pass to get a reference to the {{domxref("SharedWorkerGlobalScope")}}.
{{domxref("SharedWorkerGlobalScope.applicationCache")}} {{readOnlyinline}}
This property returns the {{domxref("ApplicationCache")}} object for the worker (see Using the application cache).

Properties inherited from WorkerGlobalScope

{{domxref("WorkerGlobalScope.self")}}
Returns an object reference to the DedicatedWorkerGlobalScope object itself.
{{domxref("WorkerGlobalScope.console")}} {{readOnlyinline}}
Returns the {{domxref("Console")}} associated with the worker.
{{domxref("WorkerGlobalScope.location")}} {{readOnlyinline}}
Returns the {{domxref("WorkerLocation")}} associated with the worker. WorkerLocation is a specific location object, mostly a subset of the {{domxref("Location")}} for browsing scopes, but adapted to workers.
{{domxref("WorkerGlobalScope.navigator")}} {{readOnlyinline}}
Returns the {{domxref("WorkerNavigator")}} associated with the worker. WorkerNavigator is a specific navigator object, mostly a subset of the {{domxref("Navigator")}} for browsing scopes, but adapted to workers.
{{domxref("WorkerGlobalScope.performance")}} {{readOnlyinline}} {{Non-standard_inline}}
Returns the {{domxref("Performance")}} object associated with the worker, which is a regular performance object, but with a subset of its properties and methods available.

Event handlers

This interface inherits event handlers from the {{domxref("WorkerGlobalScope")}} interface, and its parent {{domxref("EventTarget")}}, and therefore implements event handlers from {{domxref("WindowTimers")}}, {{domxref("WindowBase64")}}, and {{domxref("WindowEventHandlers")}}.

{{domxref("SharedWorkerGlobalScope.onconnect")}}
Is an {{domxref("EventHandler")}} representing the code to be called when the {{event("connect")}} event is raised — that is, when a {{domxref("MessagePort")}} connection is opened between the associated {{domxref("SharedWorker")}} and the main thread.

Methods

This interface inherits methods from the {{domxref("WorkerGlobalScope")}} interface, and its parent {{domxref("EventTarget")}}, and therefore implements methods from {{domxref("WindowTimers")}}, {{domxref("WindowBase64")}}, and {{domxref("WindowEventHandlers")}}.

Inherited from WorkerGlobalScope

{{domxref("WorkerGlobalScope.close()")}}
Discards any tasks queued in the WorkerGlobalScope's event loop, effectively closing this particular scope.
{{domxref("WorkerGlobalScope.dump()")}} {{non-standard_inline}}
Allows you to write a message to stdout — i.e. in your terminal. This is the same as Firefox's {{domxref("window.dump")}}, but for workers.
{{domxref("WorkerGlobalScope.importScripts()")}}
Imports one or more scripts into the worker's scope. You can specify as many as you'd like, separated by commas. For example: importScripts('foo.js', 'bar.js');

Implemented from other places

{{domxref("WindowBase64.atob()")}}
Decodes a string of data which has been encoded using base-64 encoding.
{{domxref("WindowBase64.btoa()")}}
Creates a base-64 encoded ASCII string from a string of binary data.
{{domxref("WindowTimers.clearInterval()")}}
Cancels the repeated execution set using {{domxref("WindowTimers.setInterval()")}}.
{{domxref("WindowTimers.clearTimeout()")}}
Cancels the repeated execution set using {{domxref("WindowTimers.setTimeout()")}}.
{{domxref("WindowTimers.setInterval()")}}
Schedules the execution of a function every X milliseconds.
{{domxref("WindowTimers.setTimeout()")}}
Sets a delay for executing a function.

Specifications

Specification Status Comment
{{SpecName('HTML WHATWG', '#sharedworkerglobalscope', 'SharedWorkerGlobalScope')}} {{Spec2('HTML WHATWG')}} No change from {{SpecName("Web Workers")}}.
{{SpecName('Web Workers', '#sharedworkerglobalscope', 'SharedWorkerGlobalScope')}} {{Spec2('Web Workers')}} Initial definition.

Browser compatibility

{{ CompatibilityTable() }}

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Support {{CompatChrome(4)}} {{CompatGeckoDesktop(29.0)}} {{CompatNo}} {{CompatOpera(10.60)}} 5
{{CompatNo}} 6.1
Feature Android Chrome for Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Mobile Opera Mobile Safari Mobile
Support {{CompatNo}} {{ CompatNo() }} {{CompatGeckoMobile("33.0")}} 2.1 {{CompatNo}} 11.5 5.1
{{CompatNo}} 7.1

See also

Revision Source

<p>{{APIRef("Web Workers API")}}</p>

<p>The <strong><code>SharedWorkerGlobalScope</code></strong> object (the {{domxref("SharedWorker")}} global scope) is accessible through the {{domxref("window.self","self")}} keyword. Some additional global functions, namespaces objects, and constructors, not typically associated with the worker global scope, but available on it, are listed in the <a href="/en-US/docs/Web/JavaScript/Reference">JavaScript Reference</a>. See the complete list of <a href="/en-US/docs/Web/Guide/Needs_categorization/Functions_available_to_workers">functions available to workers</a>.</p>

<h2 id="Properties">Properties</h2>

<p><em>This interface inherits properties from the {{domxref("WorkerGlobalScope")}} interface, and its parent {{domxref("EventTarget")}}, and therefore implements properties from {{domxref("WindowTimers")}}, {{domxref("WindowBase64")}}, and {{domxref("WindowEventHandlers")}}.</em></p>

<dl>
 <dt>{{domxref("SharedWorkerGlobalScope.name")}} {{readOnlyinline}}</dt>
 <dd>The name that the {{domxref("SharedWorker")}} was (optionally) given when it was created. This is the name that the&nbsp;{{domxref("SharedWorker.SharedWorker", "SharedWorker()")}} constructor can pass to get a reference to the {{domxref("SharedWorkerGlobalScope")}}.</dd>
 <dt>{{domxref("SharedWorkerGlobalScope.applicationCache")}} {{readOnlyinline}}</dt>
 <dd>This property returns the {{domxref("ApplicationCache")}} object for the worker (see <a href="/en-US/docs/Web/HTML/Using_the_application_cache">Using the application cache</a>).</dd>
</dl>

<h3 id="Properties_inherited_from_WorkerGlobalScope">Properties inherited from WorkerGlobalScope</h3>

<dl>
 <dt>{{domxref("WorkerGlobalScope.self")}}</dt>
 <dd>Returns an object reference to the <code>DedicatedWorkerGlobalScope</code> object itself.</dd>
 <dt>{{domxref("WorkerGlobalScope.console")}} {{readOnlyinline}}</dt>
 <dd>Returns the {{domxref("Console")}} associated with the worker.</dd>
 <dt>{{domxref("WorkerGlobalScope.location")}} {{readOnlyinline}}</dt>
 <dd>Returns the {{domxref("WorkerLocation")}} associated with the worker. <code>WorkerLocation</code> is a specific location object, mostly a subset of the {{domxref("Location")}} for browsing scopes, but adapted to workers.</dd>
 <dt>{{domxref("WorkerGlobalScope.navigator")}} {{readOnlyinline}}</dt>
 <dd>Returns the {{domxref("WorkerNavigator")}} associated with the worker. <code>WorkerNavigator</code> is a specific navigator object, mostly a subset of the {{domxref("Navigator")}} for browsing scopes, but adapted to workers.</dd>
 <dt>{{domxref("WorkerGlobalScope.performance")}} {{readOnlyinline}} {{Non-standard_inline}}</dt>
 <dd>Returns the {{domxref("Performance")}} object associated with the worker, which is a regular performance object, but with a subset of its properties and methods available.</dd>
</dl>

<h3 id="Event_handlers">Event handlers</h3>

<p><em>This interface inherits event handlers from the {{domxref("WorkerGlobalScope")}} interface, and its parent {{domxref("EventTarget")}}, and therefore implements event handlers from {{domxref("WindowTimers")}}, {{domxref("WindowBase64")}}, and {{domxref("WindowEventHandlers")}}.</em></p>

<dl>
 <dt>{{domxref("SharedWorkerGlobalScope.onconnect")}}</dt>
 <dd>Is an {{domxref("EventHandler")}} representing the code to be called when the {{event("connect")}} event is raised — that is, when a {{domxref("MessagePort")}} connection is opened between the associated {{domxref("SharedWorker")}} and the main thread.</dd>
</dl>

<h2 id="Methods">Methods</h2>

<p><em>This interface inherits methods from the {{domxref("WorkerGlobalScope")}} interface, and its parent {{domxref("EventTarget")}}, and therefore implements methods from {{domxref("WindowTimers")}}, {{domxref("WindowBase64")}}, and {{domxref("WindowEventHandlers")}}.</em></p>

<h3 id="Inherited_from_WorkerGlobalScope">Inherited from WorkerGlobalScope</h3>

<dl>
 <dt>{{domxref("WorkerGlobalScope.close()")}}</dt>
 <dd>Discards any tasks queued in the <code>WorkerGlobalScope</code>'s event loop, effectively closing this particular scope.</dd>
 <dt>{{domxref("WorkerGlobalScope.dump()")}} {{non-standard_inline}}</dt>
 <dd>Allows you to write a message to stdout — i.e. in your terminal. This is the same as Firefox's {{domxref("window.dump")}}, but for workers.</dd>
 <dt>{{domxref("WorkerGlobalScope.importScripts()")}}</dt>
 <dd>Imports one or more scripts into the worker's scope. You can specify as many as you'd like, separated by commas. For example:<code> importScripts('foo.js', 'bar.js');</code></dd>
</dl>

<h3 id="Implemented_from_other_places">Implemented from other places</h3>

<dl>
 <dt>{{domxref("WindowBase64.atob()")}}</dt>
 <dd>Decodes a string of data which has been encoded using base-64 encoding.</dd>
 <dt>{{domxref("WindowBase64.btoa()")}}</dt>
 <dd>Creates a base-64 encoded ASCII string from a string of binary data.</dd>
 <dt>{{domxref("WindowTimers.clearInterval()")}}</dt>
 <dd>Cancels the repeated execution set using {{domxref("WindowTimers.setInterval()")}}.</dd>
 <dt>{{domxref("WindowTimers.clearTimeout()")}}</dt>
 <dd>Cancels the repeated execution set using {{domxref("WindowTimers.setTimeout()")}}.</dd>
 <dt>{{domxref("WindowTimers.setInterval()")}}</dt>
 <dd>Schedules the execution of a function every X milliseconds.</dd>
 <dt>{{domxref("WindowTimers.setTimeout()")}}</dt>
 <dd>Sets a delay for executing a function.</dd>
</dl>

<h2 id="Specifications">Specifications</h2>

<table class="standard-table">
 <tbody>
  <tr>
   <th scope="col">Specification</th>
   <th scope="col">Status</th>
   <th scope="col">Comment</th>
  </tr>
  <tr>
   <td>{{SpecName('HTML WHATWG', '#sharedworkerglobalscope', 'SharedWorkerGlobalScope')}}</td>
   <td>{{Spec2('HTML WHATWG')}}</td>
   <td>No change from {{SpecName("Web Workers")}}.</td>
  </tr>
  <tr>
   <td>{{SpecName('Web Workers', '#sharedworkerglobalscope', 'SharedWorkerGlobalScope')}}</td>
   <td>{{Spec2('Web Workers')}}</td>
   <td>Initial definition.</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_Compatibility" name="Browser_Compatibility">Browser compatibility</h2>

<p>{{ CompatibilityTable() }}</p>

<div id="compat-desktop">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Chrome</th>
   <th>Firefox (Gecko)</th>
   <th>Internet Explorer</th>
   <th>Opera</th>
   <th>Safari</th>
  </tr>
  <tr>
   <td>Support</td>
   <td>{{CompatChrome(4)}}</td>
   <td>{{CompatGeckoDesktop(29.0)}}</td>
   <td>{{CompatNo}}</td>
   <td>{{CompatOpera(10.60)}}</td>
   <td>5<br />
    {{CompatNo}} 6.1</td>
  </tr>
 </tbody>
</table>
</div>

<div id="compat-mobile">
<table class="compat-table">
 <tbody>
  <tr>
   <th>Feature</th>
   <th>Android</th>
   <th>Chrome for Android</th>
   <th>Firefox Mobile (Gecko)</th>
   <th>Firefox OS (Gecko)</th>
   <th>IE Mobile</th>
   <th>Opera Mobile</th>
   <th>Safari Mobile</th>
  </tr>
  <tr>
   <td>Support</td>
   <td>{{CompatNo}}</td>
   <td>{{ CompatNo() }}</td>
   <td>{{CompatGeckoMobile("33.0")}}</td>
   <td>2.1</td>
   <td>{{CompatNo}}</td>
   <td>11.5</td>
   <td>5.1<br />
    {{CompatNo}} 7.1</td>
  </tr>
 </tbody>
</table>
</div>

<h2 id="See_also">See also</h2>

<ul>
 <li>{{domxref("SharedWorker")}}</li>
 <li>{{domxref("WorkerGlobalScope")}}</li>
 <li><a href="/en-US/docs/Web/API/Web_Workers_API/Using_web_workers">Using Web workers</a></li>
 <li><a href="/en-US/docs/Web/Guide/Needs_categorization/Functions_available_to_workers">Functions available to workers</a></li>
</ul>
Revert to this revision