Heim >Web-Frontend >js-Tutorial >Wie kann ich Safari-, Chrome-, Firefox-, IE- und Opera-Browser mithilfe von Duck Typing zuverlässig erkennen?

Wie kann ich Safari-, Chrome-, Firefox-, IE- und Opera-Browser mithilfe von Duck Typing zuverlässig erkennen?

DDD
DDDOriginal
2024-12-18 13:41:16583Durchsuche

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

Safari-, Chrome-, IE-, Firefox- und Opera-Browser mit Duck-Typing erkennen

Die Bestimmung des Browsers des Benutzers ist oft erforderlich, um ihn umzuleiten zum entsprechenden Download-Link für browserspezifische Erweiterungen. Allerdings ist es aufgrund der Anfälligkeit für Spoofing unzuverlässig, sich bei der Browsererkennung auf die Zeichenfolge des Benutzeragenten zu verlassen.

Eine zuverlässigere Methode, bekannt als Duck-Typing, kann verwendet werden, um Browser anhand ihrer spezifischen Eigenschaften zu identifizieren. Hier ist eine Aufschlüsselung:

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 :

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);

Kantenerkennung (basierend auf Chrom):

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

Blinkmotorerkennung:

var isBlink = (isChrome || isOpera) && !!window.CSS;

Sobald Sie den Browser mit diesen Methoden erkannt haben, können Sie Benutzer zum entsprechenden Download-Link für sie weiterleiten browserspezifische Erweiterung.

Es ist jedoch wichtig zu betonen, dass Sie die Browsererkennung nur verwenden sollten, wenn dies erforderlich ist, z. B. um browserspezifische Installationsanweisungen anzuzeigen. Konzentrieren Sie sich als allgemeine Best Practice nach Möglichkeit auf die Funktionserkennung.

Das obige ist der detaillierte Inhalt vonWie kann ich Safari-, Chrome-, Firefox-, IE- und Opera-Browser mithilfe von Duck Typing zuverlässig erkennen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn