WorkerGlobalScope: location プロパティ

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

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
# dom-workerglobalscope-location-dev

ブラウザーの互換性

関連情報