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

ブラウザーの互換性

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
location

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

関連情報