解决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 相关文章推荐
用jQuery简化JavaScript开发分析
Feb 19 Javascript
form表单只提交数据而不进行页面跳转的解决方案
Sep 18 Javascript
兼容主流浏览器的iframe自适应高度js脚本
Jan 10 Javascript
JavaScript实现对下拉列表值进行排序的方法
Jul 15 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
Mar 01 Javascript
详解Angular2中Input和Output用法及示例
May 21 Javascript
详解react服务端渲染(同构)的方法
Sep 21 Javascript
结合Vue控制字符和字节的显示个数的示例
May 17 Javascript
生产制造追溯系统之再说条码打印
Jun 03 Javascript
如何解决vue在ios微信&quot;复制链接&quot;功能问题
Mar 26 Javascript
Vue-Ant Design Vue-普通及自定义校验实例
Oct 24 Javascript
JavaScript实现网页动态生成表格
Nov 25 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
getJSON跨域SyntaxError问题分析
2014/08/07 PHP
php创建图像具体步骤
2017/03/13 PHP
javascript 表单验证常见正则
2009/09/28 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
jQuery源码解读之removeClass()方法分析
2015/02/20 Javascript
jquery处理页面弹出层查询数据等待操作实例
2015/03/25 Javascript
JavaScript数据结构与算法之栈与队列
2016/01/29 Javascript
一款简单的jQuery图片标注效果附源码下载
2016/03/22 Javascript
JQuery EasyUI Layout 在from布局自适应窗口大小的实现方法
2016/05/28 Javascript
第一次动手实现bootstrap table分页效果
2016/09/22 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
Web制作验证码功能实例代码
2017/06/19 Javascript
Canvas放置反弹效果随机图形(实例)
2017/08/17 Javascript
史上最全JavaScript数组去重的十种方法(推荐)
2017/08/17 Javascript
JavaScript中防止微信浏览器被整体拖动的方法
2017/08/25 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
2018/02/08 Javascript
angular中子控制器向父控制器传值的实例
2018/10/08 Javascript
node实现生成带参数的小程序二维码并保存到本地功能示例
2018/12/05 Javascript
mpvue微信小程序开发之实现一个弹幕评论
2019/11/24 Javascript
vue基于v-charts封装双向条形图的实现代码
2019/12/09 Javascript
基于node+websocket+html实现腾讯课堂聊天室聊天功能
2020/03/04 Javascript
element中el-container容器与div布局区分详解
2020/05/13 Javascript
Nodejs实现WebSocket代码实例
2020/05/19 NodeJs
基于JavaScript实现随机点名器
2021/02/25 Javascript
python中装饰器级连的使用方法示例
2017/09/29 Python
联想澳大利亚官网:Lenovo Australia
2018/01/18 全球购物
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
求最大连续递增数字串(如"ads3sl456789DF3456ld345AA"中的"456789")
2015/09/11 面试题
String、StringBuffer、StringBuilder有区别
2015/09/18 面试题
口才训练演讲稿范文
2014/09/16 职场文书
科技活动周标语
2014/10/08 职场文书
小学教师节活动总结
2015/03/20 职场文书
围城读书笔记
2015/06/26 职场文书
竞选稿之小学班干部
2019/10/31 职场文书
Java中Quartz高可用定时任务快速入门
2022/04/03 Java/Android