Heim >Web-Frontend >js-Tutorial >Wie kann ich Safari-, Chrome-, Firefox-, IE- und Opera-Browser in JavaScript zuverlässig erkennen?

Wie kann ich Safari-, Chrome-, Firefox-, IE- und Opera-Browser in JavaScript zuverlässig erkennen?

Linda Hamilton
Linda HamiltonOriginal
2024-12-19 11:53:12166Durchsuche

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

So erkennen Sie Safari-, Chrome-, IE-, Firefox- und Opera-Browser

Die Bestimmung des Browsers des Benutzers kann für die Weiterleitung an den Benutzer von entscheidender Bedeutung sein entsprechendes Add-on oder Erweiterung. Obwohl die Überprüfung der Benutzeragentenzeichenfolge ein gängiger Ansatz ist, kann sie aufgrund von Spoofing unzuverlässig sein.

Um eine robustere Lösung bereitzustellen, können Sie Browser durch Duck-Typing erkennen. Diese Methode nutzt browserspezifische APIs und Funktionen, anstatt sich auf die Benutzeragentenzeichenfolge zu verlassen. Verwenden Sie diese Erkennungsmethode nur bei Bedarf, beispielsweise für browserspezifische Installationsanweisungen. Die Funktionserkennung sollte wann immer möglich bevorzugt werden.

Hier ist ein JavaScript-Code-Snippet für die Erkennung von Duck-Typing-Browsern:

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

Durch die Verwendung dieser browserspezifischen Prüfungen können Sie Benutzer effektiv zum umleiten Laden Sie das richtige Add-on oder die Erweiterung für den jeweiligen Browser herunter.

Das obige ist der detaillierte Inhalt vonWie kann ich Safari-, Chrome-, Firefox-, IE- und Opera-Browser in JavaScript 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