解决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 相关文章推荐
javascript的事件描述
Sep 08 Javascript
javascript实现图片切换的幻灯片效果源代码
Dec 12 Javascript
JS判断网页广告是否被浏览器拦截过滤的代码
Apr 05 Javascript
javascript设置文本框光标的方法实例小结
Nov 04 Javascript
使用Vue完成一个简单的todolist的方法
Dec 01 Javascript
详解Vue中localstorage和sessionstorage的使用
Dec 22 Javascript
JS实现非首屏图片延迟加载的示例
Jan 06 Javascript
用POSTMAN发送JSON格式的POST请求示例
Sep 04 Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
Nov 04 Javascript
Node.js学习之内置模块fs用法示例
Jan 22 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
Sep 16 Javascript
解决js中的setInterval清空定时器不管用问题
Nov 17 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
也谈php网站在线人数统计
2008/04/09 PHP
基于PHP实现栈数据结构和括号匹配算法示例
2017/08/10 PHP
window.parent与window.openner区别介绍
2012/04/12 Javascript
jquery $(this).attr $(this).val方法使用介绍
2013/10/08 Javascript
带左右箭头图片轮播的JS代码
2013/12/18 Javascript
jquery datepicker参数介绍和示例
2014/04/15 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/06/05 Javascript
Js实现手机发送验证码时按钮延迟操作
2014/06/20 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
bootstrap是什么_动力节点Java学院整理
2017/07/14 Javascript
JS运动改变单物体透明度的方法分析
2018/01/23 Javascript
VUE中setTimeout和setInterval自动销毁案例
2020/09/07 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python中stdout输出不缓存的设置方法
2014/05/29 Python
Python批量转换文件编码格式
2015/05/17 Python
Django实现快速分页的方法实例
2017/10/22 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
解决python3 requests headers参数不能有中文的问题
2019/08/21 Python
python进行二次方程式计算的实例讲解
2020/12/06 Python
浅析python字符串前加r、f、u、l 的区别
2021/01/24 Python
浅谈CSS3特性查询(Feature Query: @supports)功能简介
2017/07/31 HTML / CSS
墨西哥皇宫度假村预订:Palace Resorts
2018/06/16 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
营销与策划个人求职信
2013/09/22 职场文书
九年级政治教学反思
2014/02/06 职场文书
总经理的岗位职责
2014/02/23 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
诚实守信主题班会
2015/08/13 职场文书
教师个人工作总结范文2015
2015/10/14 职场文书
2015教师个人年度工作总结
2015/10/23 职场文书
15个值得收藏的JavaScript函数
2021/09/15 Javascript
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android
Golang 对es的操作实例
2022/04/20 Golang
如何Tomcat中使用ipv6地址
2022/05/06 Servers
python神经网络ResNet50模型
2022/05/06 Python