首頁 >web前端 >js教程 >如何使用 Duck Typing 可靠地偵測 Safari、Chrome、Firefox、IE 和 Opera 瀏覽器?

如何使用 Duck Typing 可靠地偵測 Safari、Chrome、Firefox、IE 和 Opera 瀏覽器?

DDD
DDD原創
2024-12-18 13:41:16622瀏覽

How Can I Reliably Detect Safari, Chrome, Firefox, IE, and Opera Browsers Using Duck Typing?

使用Duck-Typing 偵測Safari、Chrome、IE、Firefox 和Opera 瀏覽器

決定使用者的瀏覽器通常是重新導向瀏覽器通常是重新導向使用者所必需的到特定於瀏覽器的擴充功能的適當下載連結。然而,依靠用戶代理字串進行瀏覽器檢測是不可靠的,因為它容易受到欺騙。

一種更可靠的方法,稱為鴨子類型,可用於根據瀏覽器的特定特徵來識別瀏覽器。細分如下:

Opera 8.0 :

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

Firefox 1.0 :

var isFirefox = typeof InstallTrigger !== 'undefined';
Firefox 1.0 :

Firefox 1.0 :

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;

愛🎜>
var isEdge = !isIE && !!window.StyleMedia;

var isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);

var isEdgeChromium = isChrome && (navigator.userAgent.indexOf("Edg") != -1);

Chrome 1 - 79:
var isBlink = (isChrome || isOpera) && !!window.CSS;

邊緣(基於 chromium)偵測:閃爍引擎偵測:閃爍引擎偵測:閃爍引擎偵測:使用這些方法偵測到瀏覽器後,您可以重定向使用者到其特定於瀏覽器的擴充功能的適當下載連結。 但是,需要強調的是,您應該僅在必要時使用瀏覽器檢測,例如顯示特定於瀏覽器的安裝說明。作為一般最佳實踐,請盡可能注意特徵檢測。

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn