Aufgrund von jquery 1.9.0 oder höher hat jquery die Unterstützung für $.browser entfernt und verwendet die $.Unterstützung, um den Browsertyp zu bestimmen. Infolgedessen meldeten viele frühere Plug-Ins Fehler
„Uncaught TypeError: Cannot read property 'msie' of undefined“.
Es gibt viele online. Die Lösung ist:
Bestimmen Sie den Browsertyp:
<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());
<🎜 Der -Ausdruck nach dem >-Zeichen gibt „true/false“ zurück, was direkt zum Ersetzen des ursprünglichen $.browser.msie usw. verwendet werden kann.
Überprüfen Sie, ob es IE6 ist:
// Alt
<span style="white-space:pre"> </span>if ($.browser.msie && 7 > $.browser.version) {}
// Neu
<span style="white-space:pre"> </span>if ('undefined' == typeof(document.body.style.maxHeight)) {}
Überprüfen Sie, ob es sich um IE 6-8 handelt:
<span style="white-space:pre"> </span>if (!$.support.leadingWhitespace) {}
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 und verwenden Sie es.
Das obige ist der detaillierte Inhalt vonDie JQuery-Erweiterung verwendet die Methode $.browser. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!