今天对jquery 进行升级,导致项目出错,原来在1.9版本之后 jquery 不支持browser 方法了。 官方建议的又不好用,所以我所jquery 原来的代码摘除来,又扩展回去。
//解决jquery 1.9版本之后不支持 browser 这里进行了扩展 var a, b; $.uaMatch = function (a) { a = a.toLowerCase(); var b = /(chrome)[ \/]([\w.]+)/.exec(a) || /(webkit)[ \/]([\w.]+)/.exec(a) || /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a) || /(msie) ([\w.]+)/.exec(a) || a.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a) || []; return { browser: b[1] || "", version: b[2] || "0" } }, a = $.uaMatch(navigator.userAgent), b = {}, a.browser && (b[a.browser] = !0, b.version = a.version), b.chrome ? b.webkit = !0 : b.webkit && (b.safari = !0), $.browser = b, $.sub = function () { function a(b, c) { return new a.fn.init(b, c) } $.extend(!0, a, this), a.superclass = this, a.fn = a.prototype = this(), a.fn.constructor = a, a.sub = this.sub, a.fn.init = function c(c, d) { return d && d instanceof p && !(d instanceof a) && (d = a(d)), $.fn.init.call(this, c, d, b) }, a.fn.init.prototype = a.fn; var b = a(e); return a };
jquery 1.9版本后不在支持browser 方法的解决方案,布布扣,bubuko.com
jquery 1.9版本后不在支持browser 方法的解决方案
原文:http://www.cnblogs.com/sjns/p/3756746.html