Maison > Article > interface Web > L'extension Jquery utilise la méthode $.browser
En raison de jquery 1.9.0 ou supérieur, jquery a supprimé la prise en charge de $.browser et utilise la prise en charge de $.pour déterminer le type de navigateur. En conséquence, de nombreux plug-ins précédents ont signalé des erreurs
"Uncaught TypeError : Impossible de lire la propriété 'msie' de undefined".
Il en existe de nombreux en ligne. La solution est :
Déterminez le type de navigateur :
<span style="white-space:pre"> </span>$.browser.mozilla = /firefox/.test(navigator.userAgent.toLowerCase()); $.browser.webkit = /webkit/.test(navigator.userAgent.toLowerCase()); $.browser.opera = /opera/.test(navigator.userAgent.toLowerCase()); $.browser.msie = /msie/.test(navigator.userAgent.toLowerCase());
après le signe > renvoie vrai/faux, qui peut être directement utilisée pour remplacer le $.browser.msie d'origine, etc.
Vérifiez s'il s'agit d'IE6 :
// Ancien
<span style="white-space:pre"> </span>if ($.browser.msie && 7 > $.browser.version) {}
// Nouveau
<span style="white-space:pre"> </span>if ('undefined' == typeof(document.body.style.maxHeight)) {}
Vérifiez s'il s'agit d'IE 6-8 :
<span style="white-space:pre"> </span>if (!$.support.leadingWhitespace) {}********************************************* ******* **************************L'idée que nous adoptons ci-dessous est d'utiliser le héritage
mécanisme La version jquery 1.11.1 a été étendue pour prendre en charge la méthode $.browser, ce qui a atteint l'objectif de compatibilité avec les composants précédents
Enregistrez le code ci-dessus dans jquery. -jQuery.extend({ browser: function() { var rwebkit = /(webkit)\/([\w.]+)/, ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, rmsie = /(msie) ([\w.]+)/, rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, browser = {}, ua = window.navigator.userAgent, browserMatch = uaMatch(ua); if (browserMatch.browser) { browser[browserMatch.browser] = true; browser.version = browserMatch.version; } return { browser: browser }; }, }); function uaMatch(ua) { ua = ua.toLowerCase(); var match = rwebkit.exec(ua) || ropera.exec(ua) || rmsie.exec(ua) || ua.indexOf("compatible") < 0 && rmozilla.exec(ua) || []; return { browser : match[1] || "", version : match[2] || "0" }; }browser.js et utilisez-le.
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!