首頁 > web前端 > js教程 > 如何使用 JavaScript 可靠地檢測瀏覽器和版本?

如何使用 JavaScript 可靠地檢測瀏覽器和版本?

Barbara Streisand
發布: 2024-12-04 17:00:15
原創
803 人瀏覽過

How Can I Reliably Detect Browser and Version Using JavaScript?

重新檢視 JavaScript 中的瀏覽器偵測

使用 JavaScript 確定確切的瀏覽器和版本可以成為客製化 Web 體驗的寶貴工具。以下是實現此目的的方法:

Navigator API:

JavaScript 中的 navigator 屬性提供對瀏覽器資訊的存取。它的 userAgent 屬性包含一個標識瀏覽器及其版本的字串。

使用正規表示式:

要從 userAgent 字串中擷取瀏覽器名稱和版本,您可以使用正規表示式。以下範例程式碼使用全面的正規表示式來偵測各種瀏覽器及其版本:

navigator.saysWho = (() => {
  const { userAgent } = navigator;
  let match = userAgent.match(/(opera|chrome|safari|firefox|msie|trident(?=\/))\/?\s*(\d+)/i) || [];
  let temp;

  // Handle special cases
  if (/trident/i.test(match[1])) {
    temp = /\brv[ :]+(\d+)/g.exec(userAgent) || [];
    return `IE ${temp[1] || ''}`;
  }

  if (match[1] === 'Chrome') {
    temp = userAgent.match(/\b(OPR|Edge)\/(\d+)/);
    if (temp !== null) {
      return temp.slice(1).join(' ').replace('OPR', 'Opera');
    }

    temp = userAgent.match(/\b(Edg)\/(\d+)/);
    if (temp !== null) {
      return temp.slice(1).join(' ').replace('Edg', 'Edge (Chromium)');
    }
  }

  // Construct the browser information string
  match = match[2] ? [match[1], match[2]] : [navigator.appName, navigator.appVersion, '-?'];
  temp = userAgent.match(/version\/(\d+)/i);
  if (temp !== null) {
    match.splice(1, 1, temp[1]);
  }

  return match.join(' ');
})();

console.log(navigator.saysWho); // outputs: `Chrome 89`
登入後複製

此腳本將使用者代理字串與各種瀏覽器模式進行匹配,並以字串形式傳回提取的瀏覽器和版本。

以上是如何使用 JavaScript 可靠地檢測瀏覽器和版本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板