Maison > interface Web > js tutoriel > Comment puis-je détecter de manière fiable les navigateurs Safari, Chrome, Firefox, IE et Opera en JavaScript ?

Comment puis-je détecter de manière fiable les navigateurs Safari, Chrome, Firefox, IE et Opera en JavaScript ?

Linda Hamilton
Libérer: 2024-12-19 11:53:12
original
152 Les gens l'ont consulté

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

Comment détecter les navigateurs Safari, Chrome, IE, Firefox et Opera

La détermination du navigateur de l'utilisateur peut être cruciale pour le rediriger vers le module complémentaire ou extension approprié. Bien que la vérification de la chaîne de l'agent utilisateur soit une approche courante, elle peut s'avérer peu fiable en raison de l'usurpation d'identité.

Pour fournir une solution plus robuste, vous pouvez détecter les navigateurs en tapant en canard. Cette méthode utilise des API et des fonctionnalités spécifiques au navigateur plutôt que de s'appuyer sur la chaîne de l'agent utilisateur. N'utilisez cette méthode de détection que lorsque cela est nécessaire, par exemple pour les instructions d'installation spécifiques au navigateur. La détection des fonctionnalités doit être privilégiée autant que possible.

Voici un extrait de code JavaScript pour la détection du navigateur par type de canard :

// 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;
Copier après la connexion

En utilisant ces vérifications spécifiques au navigateur, vous pouvez rediriger efficacement les utilisateurs vers le télécharger correctement le module complémentaire ou l'extension pour leurs navigateurs respectifs.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal