The location read-only property of the WorkerGlobalScope interface returns the WorkerLocation associated with the worker. It is a specific location object, mostly a subset of the Location for browsing scopes, but adapted to workers.


var locationObj = self.location;


A WorkerLocation object.


If you called the following in a document served at localhost:8000


inside a worker (which would basically be the equivalent of self.console.log(self.location);, as these are being called on the worker scope, which can be referenced with WorkerGlobalScope.self), you will get a WorkerLocation object written to the console — something like the following:

WorkerLocation {hash: "", search: "", pathname: "/worker.js", port: "8000", hostname: "localhost"…}
  hash: ""
  host: "localhost:8000"
  hostname: "localhost"
  href: "http://localhost:8000/worker.js"
  origin: "http://localhost:8000"
  pathname: "/worker.js"
  port: "8000"
  protocol: "http:"
  search: ""
  __proto__: WorkerLocation

You could use this location object to return more information about the document's location, as you might do with a normal Location object.

Note: Firefox has a bug with using console.log inside shared/service workers (see bug 1058644), which may return strange results, but this should be fixed soon.


Specification Status Comment
WHATWG HTML Living Standard
The definition of 'location' in that specification.
Living Standard No change from Web Workers.
Web Workers
The definition of 'location' in that specification.
Candidate Recommendation Initial definition.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 4 3.5 (1.9.1) (Yes) 11.5 4
Feature Android Chrome for Android Firefox Mobile (Gecko) Firefox OS (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? 40 1.0 (1.9.1) 1.0.1 (Yes) (Yes) 5.1

See also


Document Tags and Contributors

 Contributors to this page: Jeremie, teoli, chrisdavidmills, kscarfone
 Last updated by: Jeremie,