解决jquery插件:TypeError:$.browser is undefined报错的方法
首先先说一说$.browser
browser就是用来获取浏览器基本信息的。
jQuery从1.9版开始,移除了$.browser和$.browser.version,取而代之的是$.support。在更新的2.0版本中,将不再支持IE6/7/8。以后,如果用户需要支持IE6/7/8,只能使用jQuery1.9。
解决方法:加入以下js即可
(function(jQuery){ if(jQuery.browser)return; jQuery.browser={}; jQuery.browser.mozilla=false; jQuery.browser.webkit=false; jQuery.browser.opera=false; jQuery.browser.msie=false; varnAgt=navigator.userAgent; jQuery.browser.name=navigator.appName; jQuery.browser.fullVersion=''+parseFloat(navigator.appVersion); jQuery.browser.majorVersion=parseInt(navigator.appVersion,10); varnameOffset,verOffset,ix; //InOpera,thetrueversionisafter"Opera"orafter"Version" if((verOffset=nAgt.indexOf("Opera"))!=-1){ jQuery.browser.opera=true; jQuery.browser.name="Opera"; jQuery.browser.fullVersion=nAgt.substring(verOffset+6); if((verOffset=nAgt.indexOf("Version"))!=-1) jQuery.browser.fullVersion=nAgt.substring(verOffset+8); } //InMSIE,thetrueversionisafter"MSIE"inuserAgent elseif((verOffset=nAgt.indexOf("MSIE"))!=-1){ jQuery.browser.msie=true; jQuery.browser.name="MicrosoftInternetExplorer"; jQuery.browser.fullVersion=nAgt.substring(verOffset+5); } //InChrome,thetrueversionisafter"Chrome" elseif((verOffset=nAgt.indexOf("Chrome"))!=-1){ jQuery.browser.webkit=true; jQuery.browser.name="Chrome"; jQuery.browser.fullVersion=nAgt.substring(verOffset+7); } //InSafari,thetrueversionisafter"Safari"orafter"Version" elseif((verOffset=nAgt.indexOf("Safari"))!=-1){ jQuery.browser.webkit=true; jQuery.browser.name="Safari"; jQuery.browser.fullVersion=nAgt.substring(verOffset+7); if((verOffset=nAgt.indexOf("Version"))!=-1) jQuery.browser.fullVersion=nAgt.substring(verOffset+8); } //InFirefox,thetrueversionisafter"Firefox" elseif((verOffset=nAgt.indexOf("Firefox"))!=-1){ jQuery.browser.mozilla=true; jQuery.browser.name="Firefox"; jQuery.browser.fullVersion=nAgt.substring(verOffset+8); } //Inmostotherbrowsers,"name/version"isattheendofuserAgent elseif((nameOffset=nAgt.lastIndexOf('')+1)< (verOffset=nAgt.lastIndexOf('/'))) { jQuery.browser.name=nAgt.substring(nameOffset,verOffset); jQuery.browser.fullVersion=nAgt.substring(verOffset+1); if(jQuery.browser.name.toLowerCase()==jQuery.browser.name.toUpperCase()){ jQuery.browser.name=navigator.appName; } } //trimthefullVersionstringatsemicolon/spaceifpresent if((ix=jQuery.browser.fullVersion.indexOf(";"))!=-1) jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix); if((ix=jQuery.browser.fullVersion.indexOf(""))!=-1) jQuery.browser.fullVersion=jQuery.browser.fullVersion.substring(0,ix); jQuery.browser.majorVersion=parseInt(''+jQuery.browser.fullVersion,10); if(isNaN(jQuery.browser.majorVersion)){ jQuery.browser.fullVersion=''+parseFloat(navigator.appVersion); jQuery.browser.majorVersion=parseInt(navigator.appVersion,10); } jQuery.browser.version=jQuery.browser.majorVersion; })(jQuery);
将以上js另存为browser.js然后在jsp中引入即可。
这是小编找到的一种解决方法,还没有实验,先分享给大家,希望对大家解决jquery插件报错问题有所收获吧。