首頁 > web前端 > js教程 > 如何在 JavaScript 中可靠地偵測 Safari、Chrome、Firefox、IE 和 Opera 瀏覽器?

如何在 JavaScript 中可靠地偵測 Safari、Chrome、Firefox、IE 和 Opera 瀏覽器?

Linda Hamilton
發布: 2024-12-19 11:53:12
原創
152 人瀏覽過

How Can I Reliably Detect Safari, Chrome, Firefox, IE, and Opera Browsers in JavaScript?

如何偵測Safari、Chrome、IE、Firefox 和Opera 瀏覽器

決定使用者的瀏覽器對於將使用者重新導向到適當的插件或擴充。雖然檢查用戶代理字串是一種常見方法,但由於欺騙,它可能不可靠。

為了提供更可靠的解決方案,您可以透過鴨子打字來偵測瀏覽器。此方法利用特定於瀏覽器的 API 和功能,而不是依賴使用者代理字串。僅在必要時使用此檢測方法,例如特定於瀏覽器的安裝說明。應盡可能首選功能檢測。

以下是用於鴨子類型瀏覽器檢測的JavaScript 程式碼片段:

// Opera 8.0+
var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;

// Firefox 1.0+
var isFirefox = typeof InstallTrigger !== 'undefined';

// Safari 3.0+ "[object HTMLElementConstructor]" 
var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && window['safari'].pushNotification));

// Internet Explorer 6-11
var isIE = /*@cc_on!@*/false || !!document.documentMode;

// Edge 20+
var isEdge = !isIE && !!window.StyleMedia;

// Chrome 1 - 79
var isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);

// Edge (based on chromium) detection
var isEdgeChromium = isChrome && (navigator.userAgent.indexOf("Edg") != -1);

// Blink engine detection
var isBlink = (isChrome || isOpera) && !!window.CSS;
登入後複製

透過利用這些瀏覽器特定的檢查,您可以有效地將使用者重定向到為各自的瀏覽器下載正確的外掛程式或擴充功能。

以上是如何在 JavaScript 中可靠地偵測 Safari、Chrome、Firefox、IE 和 Opera 瀏覽器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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