Comment puis-je détecter le type de navigateur en utilisant jQuery?

Je souhaite détecter si l'utilisateur utilise IE et Firefox mais je ne trouve pas le script.

J'ai le code ci-dessous:

$(document).ready(function(e) { $.browser.chrome = /chrom(e|ium)/.test(navigator.userAgent.toLowerCase()); if($.browser.chrome){ alert(1); //this work well } else if(//the browser is IE){alert(2);} else if(//the browser is Firefox){alert(3);} //The problem is that I don't know how to write a script for IE and FireFox browser for chrome is work fine )}; 

La meilleure solution est probablement: utiliser Modernizr.

Cependant, si vous souhaitez nécessairement utiliser la propriété $ .browser, vous pouvez le faire en utilisant le plugin jQuery Migrate (pour JQuery> = 1.9 – dans les versions précédentes, vous pouvez l'utiliser) et faites quelque chose comme:

 if($.browser.chrome) { alert(1); } else if ($.browser.mozilla) { alert(2); } else if ($.browser.msie) { alert(3); } 

Et si vous avez besoin pour une raison quelconque d'utiliser navigator.userAgent, ce serait:

 $.browser.msie = /msie/.test(navigator.userAgent.toLowerCase()); $.browser.mozilla = /firefox/.test(navigator.userAgent.toLowerCase()); 

Ma solution, c'est- à- dire la détection:

 if (navigator.userAgent.match(/msie/i) || navigator.userAgent.match(/trident/i) ){ $("html").addClass("ie"); } 

Jquery avait besoin.

Vous ne devriez pas écrire votre propre code de détection de navigateur – il a été fait plusieurs fois auparavant. Utilisez Modernizr pour détecter les fonctionnalités de navigateur indépendantes à la place. Il est préférable de détecter les différentes fonctionnalités que de détecter les navigateurs entiers, car différents navigateurs peuvent prendre en charge différents ensembles de fonctionnalités et ces fonctionnalités peuvent même changer à travers différentes versions du même navigateur. Si vous détectez la présence d'une caractéristique donnée, votre code fonctionnera probablement mieux dans plus de navigateurs. Ceci est particulièrement vrai pour les différents navigateurs mobiles.

Lorsque vous exécutez Modernizr, il mettra à jour l'attribut de class de votre élément HEAD afin qu'il répertorie les différentes fonctionnalités du navigateur que vous utilisez – vous pouvez ensuite utiliser Javascript pour interroger l'attribut et décider ce qu'il faut faire si une fonctionnalité est présente ( Ou manquant).

Utilisez ceci:

 (function (factory) { if (typeof define === 'function' && define.amd) { // AMD. Register as an anonymous module. define(['jquery'], function ($) { return factory($); }); } else if (typeof module === 'object' && typeof module.exports === 'object') { // Node-like environment module.exports = factory(require('jquery')); } else { // Browser globals factory(window.jQuery); } }(function(jQuery) { "use strict"; function uaMatch( ua ) { // If an UA is not provided, default to the current browser UA. if ( ua === undefined ) { ua = window.navigator.userAgent; } ua = ua.toLowerCase(); var match = /(edge)\/([\w.]+)/.exec( ua ) || /(opr)[\/]([\w.]+)/.exec( ua ) || /(chrome)[ \/]([\w.]+)/.exec( ua ) || /(version)(applewebkit)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec( ua ) || /(webkit)[ \/]([\w.]+).*(version)[ \/]([\w.]+).*(safari)[ \/]([\w.]+)/.exec( ua ) || /(webkit)[ \/]([\w.]+)/.exec( ua ) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) || /(msie) ([\w.]+)/.exec( ua ) || ua.indexOf("trident") >= 0 && /(rv)(?::| )([\w.]+)/.exec( ua ) || ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) || []; var platform_match = /(ipad)/.exec( ua ) || /(ipod)/.exec( ua ) || /(iphone)/.exec( ua ) || /(kindle)/.exec( ua ) || /(silk)/.exec( ua ) || /(android)/.exec( ua ) || /(windows phone)/.exec( ua ) || /(win)/.exec( ua ) || /(mac)/.exec( ua ) || /(linux)/.exec( ua ) || /(cros)/.exec( ua ) || /(playbook)/.exec( ua ) || /(bb)/.exec( ua ) || /(blackberry)/.exec( ua ) || []; var browser = {}, matched = { browser: match[ 5 ] || match[ 3 ] || match[ 1 ] || "", version: match[ 2 ] || match[ 4 ] || "0", versionNumber: match[ 4 ] || match[ 2 ] || "0", platform: platform_match[ 0 ] || "" }; if ( matched.browser ) { browser[ matched.browser ] = true; browser.version = matched.version; browser.versionNumber = parseInt(matched.versionNumber, 10); } if ( matched.platform ) { browser[ matched.platform ] = true; } // These are all considered mobile platforms, meaning they run a mobile browser if ( browser.android || browser.bb || browser.blackberry || browser.ipad || browser.iphone || browser.ipod || browser.kindle || browser.playbook || browser.silk || browser[ "windows phone" ]) { browser.mobile = true; } // These are all considered desktop platforms, meaning they run a desktop browser if ( browser.cros || browser.mac || browser.linux || browser.win ) { browser.desktop = true; } // Chrome, Opera 15+ and Safari are webkit based browsers if ( browser.chrome || browser.opr || browser.safari ) { browser.webkit = true; } // IE11 has a new token so we will assign it msie to avoid breaking changes // IE12 disguises itself as Chrome, but adds a new Edge token. if ( browser.rv || browser.edge ) { var ie = "msie"; matched.browser = ie; browser[ie] = true; } // Blackberry browsers are marked as Safari on BlackBerry if ( browser.safari && browser.blackberry ) { var blackberry = "blackberry"; matched.browser = blackberry; browser[blackberry] = true; } // Playbook browsers are marked as Safari on Playbook if ( browser.safari && browser.playbook ) { var playbook = "playbook"; matched.browser = playbook; browser[playbook] = true; } // BB10 is a newer OS version of BlackBerry if ( browser.bb ) { var bb = "blackberry"; matched.browser = bb; browser[bb] = true; } // Opera 15+ are identified as opr if ( browser.opr ) { var opera = "opera"; matched.browser = opera; browser[opera] = true; } // Stock Android browsers are marked as Safari on Android. if ( browser.safari && browser.android ) { var android = "android"; matched.browser = android; browser[android] = true; } // Kindle browsers are marked as Safari on Kindle if ( browser.safari && browser.kindle ) { var kindle = "kindle"; matched.browser = kindle; browser[kindle] = true; } // Kindle Silk browsers are marked as Safari on Kindle if ( browser.safari && browser.silk ) { var silk = "silk"; matched.browser = silk; browser[silk] = true; } // Assign the name and platform variable browser.name = matched.browser; browser.platform = matched.platform; return browser; } // Run the matching process, also assign the function to the returned object // for manual, jQuery-free use if desired window.jQBrowser = uaMatch( window.navigator.userAgent ); window.jQBrowser.uaMatch = uaMatch; // Only assign to jQuery.browser if jQuery is loaded if ( jQuery ) { jQuery.browser = window.jQBrowser; } return window.jQBrowser; })); 

Essayez de l'utiliser

 $(document).ready(function() { // If the browser type if Mozilla Firefox if ($.browser.mozilla && $.browser.version >= "1.8" ){ // some code } // If the browser type is Opera if( $.browser.opera) { // some code } // If the web browser type is Safari if( $.browser.safari ) { // some code } // If the web browser type is Chrome if( $.browser.chrome) { // some code } // If the web browser type is Internet Explorer if ($.browser.msie && $.browser.version <= 6 ) { // some code } //If the web browser type is Internet Explorer 6 and above if ($.browser.msie && $.browser.version > 6) { // some code } }); 

Une autre façon de trouver des versions d'IE

http://tanalin.com/fr/articles/ie-version-js/

Version IE Condition à vérifier

 IE 10 or older - document.all <BR/> IE 9 or older - document.all && !window.atob <br/> IE 8 or older - document.all && !document.addEventListener <br/> IE 7 or older - document.all && !document.querySelector <br/> IE 6 or older - document.all && !window.XMLHttpRequest <br/> IE 5.x - document.all && !document.compatMode 
 $.browser.chrome = /chrom(e|ium)/.test(navigator.userAgent.toLowerCase()); if($.browser.chrome){ alert(1); } 

MISE À JOUR: (10x à @Mr. Bacciagalupe)

$.browser a supprimé $.browser depuis 1.9 et sa dernière version.

Mais vous pouvez toujours utiliser $ .browser comme un plugin autonome, trouvé ici

J'ai utilisé cela et cela fonctionne pour moi. Incluez également le plugin jquery migrate et le fichier jquery.

 if ( $.browser.webkit ) { alert( "This is WebKit!" ); }