WorkerGlobalScope: location プロパティ

locationWorkerGlobalScope インターフェイスの読み取り専用プロパティで、このワーカーに関連付けられた WorkerLocation を返します。これは特有の location オブジェクトであり、大部分は閲覧スコープの Location のサブセットですが、ワーカーに合わせたものです。

WorkerLocation オブジェクトです。

localhost:8000 で配信される文書で、ワーカー内で

js
console.log(location);

を呼び出すと(これらは基本的に self.console.log(self.location); と同等であり、ワーカーのスコープで呼び出されたとき、 WorkerGlobalScope.self で参照されるもの)、 WorkerLocation オブジェクトが次のようにコンソールに出力されるのが分かるでしょう。

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

この location オブジェクトを使用して、通常の Location オブジェクトと同様、文書の場所に関するより詳細な情報を得ることができます。

メモ: Firefox では、共有/サービスワーカー内で console.log を使用する際にバグがあり(Firefox バグ 1058644 を参照)、おかしな結果を返すことがありますが、これはすぐに修正されるはずです。

仕様書

Specification
HTML Standard
# dom-workerglobalscope-location-dev

ブラウザーの互換性

BCD tables only load in the browser

関連情報