現在 Chrome 提供一個很方便的物件。就是 navigator.userAgentData。
不需要再自己去切字串,直接看裡面的 brands 陣列,就能找到版本號。
傳統的字串解析
以前只能讀取 navigator.userAgent。那是一大串很亂的文字。
裡面混雜了各種軟體資訊,必須用正規表達式去找 Chrome 這個字,再把後面的數字拿出來,雖然麻煩但是支援度最高。
程式實作範例
先嘗試用新版 API 抓取,如果瀏覽器不支援就改用舊方法。這樣寫可以兼顧準確度跟相容性。
async function getChromeVersion() {
// 優先使用現代 API
if (navigator.userAgentData) {
const brands = navigator.userAgentData.brands;
const chrome = brands.find(b => b.brand === 'Google Chrome');
if (chrome) return chrome.version;
}
// 備用的字串解析法
const raw = navigator.userAgent.match(/Chrome\/([0-9.]+)/);
return raw ? raw[1] : '無法辨識';
}
// 執行並印出結果
getChromeVersion().then(version => {
console.log('版本號是:' + version);
});