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