W3cubDocs

/DOM

Worker.constructor

The Worker() constructor creates a Worker object that executes the script at the specified URL. This script must obey the same-origin policy.

If the URL has an invalid syntax or if the same-origin policy is violated a DOMException of type SECURITY_ERR is thrown.

Note: that there is a disagreement among browser manufacturers about whether a data URI is of the same origin or not. Though Gecko 10.0 (Firefox 10.0 / Thunderbird 10.0 / SeaMonkey 2.7) and later accept data URIs, that's not the case in all other browsers.

Syntax

var myWorker = new Worker(aURL, options);

Parameters

aURL
A USVString representing the URL of the script the worker will execute. It must obey the same-origin policy.
options Optional
An object containing option properties that can be set when creating the object instance. Available properties are as follows:
  • type: A DOMString specifying the type of worker to create. The value can be classic or module. If not specified, the default used is classic.
  • credentials: A DOMString specifying the type of credentials to use for the worker. The value can be omit, same-origin, or include. If not specified, or if type is classic, the default used is omit (no credentials required).
  • name: A DOMString specifying an identifying name for the DedicatedWorkerGlobalScope representing the scope of the worker, which is mainly useful for debugging purposes.

Exceptions

  • A SecurityError is raised if the document is not allowed to start workers.
  • A NetworkError is raised if the MIME type of one of the script is text/csv, image/*, video/*, or audio/*. It should always be text/javacript.
  • A SyntaxError is raised if aURL cannot be parsed.

Example

The following code snippet shows creation of a Worker object using the Worker() constructor and subsequent usage of the object:

var myWorker = new Worker('worker.js');

first.onchange = function() {
  myWorker.postMessage([first.value,second.value]);
  console.log('Message posted to worker');
}

For a full example, see ourBasic dedicated worker example (run dedicated worker).

Specifications

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support 4 3.5 10.0 10.6 4
name option (Yes) 55 (55) ? ? ?
Feature Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
Basic support 4.4 3.5 10.0 11.5 5.1
name option ? 55.0 (55) ? ? ?

See also

The Worker interface it belongs to.

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Worker/Worker