在 JavaScript 中檢測作業系統
-
使用 JavaScript 中的
platform
屬性檢測作業系統 -
使用 JavaScript 中的
userAgent
屬性檢測作業系統 -
使用 JavaScript 中的
appVersion
屬性檢測作業系統
在 JavaScript 中,navigator
物件返回瀏覽器資訊。從技術上講,通過導航器屬性,我們向伺服器傳送有關瀏覽器的資訊,有時還會傳送有關我們正在使用的應用程式或作業系統的資訊。
結果,伺服器返回一個字串,其中包含有關先前接收到 ping 的瀏覽器的資訊。
在這裡,我們將在更多例項中看到 platform
屬性與 navigator
物件的使用。我們還將看到 navigator.userAgent
和 navigator.appVersion
是如何工作的。
使用 JavaScript 中的 platform
屬性檢測作業系統
platform
屬性是一個幾乎被遺忘的功能。大多數瀏覽器不會收到瀏覽器平臺的確切詳細資訊。
通常,此屬性的基本功能是檢測瀏覽器執行所在的平臺。
使用此屬性時,我們將獲得正確的作業系統名稱,但主要問題是某些瀏覽器,例如 Chrome、Firefox 63、Edge,即使實際版本為 64,也會將版本返回為 32。所以,即使這是最簡單的方法找出作業系統,但忽略了這個熵。
以下程式碼行將解釋這種情況。
程式碼片段:
var OS = navigator.platform;
console.log(OS);
輸出:
如你所見,我們確實收到了平臺的名稱,但實際版本是執行程式碼的 PC 的 64 位。我們使用的瀏覽器是 Chrome,返回的版本資訊是 32。
使用 JavaScript 中的 userAgent
屬性檢測作業系統
如果我們想跟蹤有關使用者使用的瀏覽器和平臺的一些細節,我們可以使用 navigator
物件獲取 userAgent
屬性。此特殊功能返回一個包含瀏覽器名稱、版本和平臺名稱的字串。
與之前的屬性(platform
)不同,userAgent
給出了明確的結果,包括版本。
在下面的示例中,我們將嘗試匹配字串中的模式並將其推斷為正確的作業系統。
程式碼片段:
var OS="Unknown";
if (navigator.userAgent.indexOf("Win")!=-1) OS="Windows";
if (navigator.userAgent.indexOf("Mac")!=-1) OS="MacOS";
if (navigator.userAgent.indexOf("X11")!=-1) OS="UNIX";
if (navigator.userAgent.indexOf("Linux")!=-1) OS="Linux";
console.log(OS);
console.log(navigator.userAgent);
輸出:
使用 JavaScript 中的 appVersion
屬性檢測作業系統
對於 appVersion
屬性,我們還檢索有關瀏覽器及其平臺的資訊。還建議通過 JavaScript 瞭解你 PC 的作業系統。
然而,它的用途很小。你可以先看看這個文章瞭解更多資訊。
此外,此功能是隻讀屬性。
程式碼片段:
var OS="Unknown";
if (navigator.appVersion.indexOf("Win")!=-1) OS="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OS="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OS="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OS="Linux";
console.log(OS);
輸出: