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
HTML Living Standard
The definition of 'location' in that specification.
Living Standard

Browser compatibility

BCD tables only load in the browser

See also