WorkerGlobalScope: location 屬性

Baseline 已廣泛支援

此特性已相當成熟,可在許多裝置和瀏覽器版本上使用。自 ⁨2015 年 7 月⁩以來,各瀏覽器均已提供此特性。

注意:此功能僅在 Web Workers 中可用。

WorkerGlobalScope 介面中只讀的 location 屬性返回與 worker 關聯的 WorkerLocation 物件。這是一個特定的位置物件,在瀏覽作用域中,它基本上是 Location 的一個子集,但適用於 worker。

一個 WorkerLocation 物件。

示例

如果在 localhost:8000 提供的文件中呼叫了以下內容

js
console.log(location);

在 worker 中(這基本上等同於 self.console.log(self.location);,因為這些是在 worker 作用域中呼叫的,可以透過 WorkerGlobalScope.self 引用),你將在控制檯中看到一個 WorkerLocation 物件——類似如下內容

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

你可以使用這個 location 物件來返回關於文件位置的更多資訊,就像你可能使用普通的 Location 物件一樣。

注意: Firefox 在共享/服務 worker 中使用 console.log 時存在一個 bug(參見 Firefox bug 1058644),這可能會返回奇怪的結果,但這應該很快就會修復。

規範

規範
HTML
# dom-workerglobalscope-location-dev

瀏覽器相容性

另見

WorkerGlobalScope