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
USVStringrepresenting 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 set when creating the object instance. Available properties are as follows:
type: ADOMStringspecifying the type of worker to create. The value can beclassicormodule. If not specified, the default used isclassic.credentials: ADOMStringspecifying the type of credentialsto use for the worker. The value can beomit,same-origin, orinclude. If not specified, or if type isclassic, the default used isomit(no credentials required).name: ADOMStringspecifying an identifying name for theDedicatedWorkerGlobalScoperepresenting the scope of the worker, which is mainly useful for debugging purposes.
Exceptions
- A
SecurityErroris raised if the document is not allowed to start workers. - A
NetworkErroris raised if the MIME type of one of the script istext/csv,image/*,video/*, oraudio/*. It should always betext/javacript. - A
SyntaxErroris 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
| Specification | Status | Comment |
|---|---|---|
| WHATWG HTML Living Standard The definition of 'Worker()' in that specification. |
Living Standard |
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.