WorkerNavigator: userAgent 屬性

Baseline 已廣泛支援

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

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

WorkerNavigator.userAgent 只讀屬性返回當前瀏覽器的使用者代理字串。

注意: 規範要求瀏覽器儘可能少地透過此欄位提供資訊。切勿假設此屬性的值在同一瀏覽器的未來版本中會保持不變。儘量不要使用它,或者只用於當前和過去版本的瀏覽器。新瀏覽器可能會開始使用與舊瀏覽器相同的 UA 或部分 UA:您無法保證瀏覽器代理確實是此屬性所宣告的。

同時請記住,瀏覽器使用者如果願意,可以更改此欄位的值(UA 欺騙)。

基於檢測使用者代理字串的瀏覽器標識是不可靠的,並且不推薦這樣做,因為使用者代理字串是使用者可配置的。例如:

  • 在 Firefox 中,您可以在 about:config 中更改 general.useragent.override 首選項。一些 Firefox 擴充套件會這樣做;然而,這隻會更改傳送的 HTTP 標頭,而不會影響 JavaScript 程式碼執行的瀏覽器檢測。
  • Opera 6+ 允許使用者透過選單設定瀏覽器標識字串。

一個指定瀏覽器在 HTTP 標頭中以及在響應此方法和其他相關 WorkerNavigator 物件上的方法時提供的完整使用者代理字串。

使用者代理字串是基於一種正式的結構構建的,該結構可以分解為多個資訊片段。這些資訊片段都來自其他可由使用者設定的 navigator 屬性。基於 Gecko 的瀏覽器符合以下通用結構:

userAgent = appCodeName/appVersion number (Platform; Security; OS-or-CPU;
Localization; rv: revision-version-number) product/productSub
Application-Name Application-Name-version

示例

js
alert(navigator.userAgent);
// alerts "Mozilla/5.0 (Windows; U; Win98; en-US; rv:0.9.2) Gecko/20010725 Netscape6/6.1"

規範

規範
HTML
# dom-navigator-useragent-dev

瀏覽器相容性

另見