解决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插件报错问题有所收获吧。