解决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 相关文章推荐
理清apply(),call()的区别和关系
Aug 14 Javascript
jquery简单实现图片切换效果的方法
May 12 Javascript
每天一篇javascript学习小结(面向对象编程)
Nov 20 Javascript
JavaScript拖动层Div代码
Mar 01 Javascript
xmlplus组件设计系列之按钮(2)
Apr 26 Javascript
JavaScript实现三级联动效果
Jul 15 Javascript
JS简单实现动态添加HTML标记的方法示例
Apr 08 Javascript
Javascript 关于基本类型和引用类型的个人理解
Nov 01 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
Jan 26 Javascript
Vue中多元素过渡特效的解决方案
Feb 05 Javascript
JavaScript canvas实现雨滴特效
Jan 10 Javascript
浅谈node.js中间件有哪些类型
Apr 29 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中如何调用用户自定义函数
2013/08/06 PHP
PHP获取当前文件的父目录方法汇总
2016/07/21 PHP
javascript TextArea动态显示剩余字符
2008/10/22 Javascript
extjs 学习笔记(三) 最基本的grid
2009/10/15 Javascript
js去字符串前后空格5种实现方法及比较
2013/04/03 Javascript
js改变img标签的src属性在IE下没反应的解决方法
2013/07/23 Javascript
jQuery关于导航条背景切换效果实现示例
2013/09/04 Javascript
AngularJS + Node.js + MongoDB开发的基于高德地图位置的通讯录
2015/01/02 Javascript
javascript事件冒泡和事件捕获详解
2015/05/26 Javascript
分享一些常用的jQuery动画事件和动画函数
2015/11/27 Javascript
jQuery ajax分页插件实例代码
2016/01/27 Javascript
浅谈Node.js:理解stream
2016/12/08 Javascript
js原生代码实现轮播图的实例讲解
2017/07/28 Javascript
详解webpack 打包文件体积过大解决方案(code splitting)
2018/04/10 Javascript
从零开始搭建vue移动端项目到上线的步骤
2018/10/15 Javascript
快速了解Node中的Stream流是什么
2019/02/13 Javascript
使用webpack搭建vue项目及注意事项
2019/06/10 Javascript
js实现简单五子棋游戏
2020/05/28 Javascript
基于aotu.js实现微信自动添加通讯录中的联系人功能
2020/05/28 Javascript
antd日期选择器禁止选择当天之前的时间操作
2020/10/29 Javascript
使用Eclipse如何开发python脚本
2018/04/11 Python
python控制windows剪贴板,向剪贴板中写入图片的实例
2018/05/31 Python
pandas.DataFrame的pivot()和unstack()实现行转列
2019/07/06 Python
基于Python安装pyecharts所遇的问题及解决方法
2019/08/12 Python
Python3多线程版TCP端口扫描器
2019/08/31 Python
Python异常继承关系和自定义异常实现代码实例
2020/02/20 Python
pygame实现飞机大战
2020/03/11 Python
CSS3实现简易版的刮刮乐效果
2016/09/27 HTML / CSS
婚前协议书怎么写
2014/04/15 职场文书
机房搬迁方案
2014/05/01 职场文书
酒店员工培训方案
2014/06/02 职场文书
电子商务求职信
2014/06/15 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
mysql批量新增和存储的方法实例
2021/04/07 MySQL
Python爬虫进阶之Beautiful Soup库详解
2021/04/29 Python
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android