解决jquery插件:TypeError:$.browser is undefined报错的方法


Posted in Javascript onNovember 21, 2015

首先先说一说$.browser
browser就是用来获取浏览器基本信息的。
jQuery 从 1.9 版开始,移除了 $.browser 和 $.browser.version , 取而代之的是 $.support 。 在更新的 2.0 版本中,将不再支持 IE 6/7/8。 以后,如果用户需要支持 IE 6/7/8,只能使用 jQuery 1.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;  
 
var nAgt = navigator.userAgent;  
jQuery.browser.name = navigator.appName;  
jQuery.browser.fullVersion = ''+parseFloat(navigator.appVersion);  
jQuery.browser.majorVersion = parseInt(navigator.appVersion,10);  
var nameOffset,verOffset,ix;  
 
// In Opera, the true version is after "Opera" or after "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);  
}  
// In MSIE, the true version is after "MSIE" in userAgent  
else if ((verOffset=nAgt.indexOf("MSIE"))!=-1) {  
jQuery.browser.msie = true;  
jQuery.browser.name = "Microsoft Internet Explorer";  
jQuery.browser.fullVersion = nAgt.substring(verOffset+5);  
}  
// In Chrome, the true version is after "Chrome"  
else if ((verOffset=nAgt.indexOf("Chrome"))!=-1) {  
jQuery.browser.webkit = true;  
jQuery.browser.name = "Chrome";  
jQuery.browser.fullVersion = nAgt.substring(verOffset+7);  
}  
// In Safari, the true version is after "Safari" or after "Version"  
else if ((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);  
}  
// In Firefox, the true version is after "Firefox"  
else if ((verOffset=nAgt.indexOf("Firefox"))!=-1) {  
jQuery.browser.mozilla = true;  
jQuery.browser.name = "Firefox";  
jQuery.browser.fullVersion = nAgt.substring(verOffset+8);  
}  
// In most other browsers, "name/version" is at the end of userAgent  
else if ( (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;  
}  
}  
// trim the fullVersion string at semicolon/space if present  
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插件报错问题有所收获吧。

Javascript 相关文章推荐
解决 FireFox 下[使用event很麻烦] 的问题.
Aug 22 Javascript
javascript 按回车键相应按钮提交事件
Nov 02 Javascript
JQuery1.4+ Ajax IE8 内存泄漏问题
Oct 15 Javascript
javascript中常用编程知识
Apr 08 Javascript
jquery解析JSON数据示例代码
Mar 17 Javascript
js实现飞入星星特效代码
Oct 17 Javascript
JavaScript 动态加载脚本和样式的方法
Apr 13 Javascript
简单实现轮播图效果的实例
Jul 15 Javascript
在Vue项目中引入腾讯验证码服务的教程
Apr 03 Javascript
微信小程序学习笔记之本地数据缓存功能详解
Mar 29 Javascript
vue 实现微信浮标效果
Sep 01 Javascript
vue遍历对象中的数组取值示例
Nov 07 Javascript
jquery实现select选择框内容左右移动代码分享
Nov 21 #Javascript
分享经典的JavaScript开发技巧
Nov 21 #Javascript
jQuery实现分隔条左右拖动功能
Nov 21 #Javascript
超详细的javascript数组方法汇总
Nov 21 #Javascript
javascript实现动态统计图开发实例
Nov 21 #Javascript
js实现索引图片切换效果
Nov 21 #Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
Nov 21 #Javascript
You might like
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
php获取文件后缀的9种方法
2016/03/22 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
Paypal实现循环扣款(订阅)功能
2017/03/23 PHP
php使用curl模拟浏览器表单上传文件或者图片的方法
2018/11/10 PHP
PHP hex2bin()函数用法讲解
2019/02/25 PHP
Laravel框架Eloquent ORM修改数据操作示例
2019/12/03 PHP
JavaScript Base64编码和解码,实现URL参数传递。
2006/09/18 Javascript
教你如何解密js/vbs/vbscript加密的编码异处理小结
2008/06/25 Javascript
json 实例详细说明教程
2009/10/31 Javascript
jQuery实现的网页左侧在线客服效果代码
2015/10/23 Javascript
javascript中checkbox使用方法实例演示
2015/11/19 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
所见即所得的富文本编辑器bootstrap-wysiwyg使用方法详解
2016/05/27 Javascript
[00:34]DOTA2上海特级锦标赛 Spirit战队宣传片
2016/03/04 DOTA
python 文件与目录操作
2008/12/24 Python
在python的WEB框架Flask中使用多个配置文件的解决方法
2014/04/18 Python
python脚本设置系统时间的两种方法
2016/02/21 Python
python获取网页中所有图片并筛选指定分辨率的方法
2018/03/31 Python
python+selenium+PhantomJS抓取网页动态加载内容
2020/02/25 Python
Pytorch数据拼接与拆分操作实现图解
2020/04/30 Python
一些关于python 装饰器的个人理解
2020/08/31 Python
django使用graphql的实例
2020/09/02 Python
python中添加模块导入路径的方法
2021/02/03 Python
全球度假村:Club Med
2017/11/27 全球购物
墨尔本照明批发商店:Mica Lighting
2017/12/28 全球购物
Ellesse英国官网:意大利高级运动品牌
2019/07/23 全球购物
linux面试题参考答案(7)
2014/07/24 面试题
员工年终自我评价
2014/09/14 职场文书
小班上学期幼儿评语
2014/12/30 职场文书
行政答辩状范文
2015/05/21 职场文书
学校少先队工作总结
2015/08/12 职场文书
2016中秋节问候语
2015/11/11 职场文书
个人工作总结(管理人员)范文
2019/08/13 职场文书
详解mysql三值逻辑与NULL
2021/05/19 MySQL
Java使用JMeter进行高并发测试
2021/11/23 Java/Android