解决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 相关文章推荐
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
Oct 25 Javascript
javascript 基础篇2 数据类型,语句,函数
Mar 14 Javascript
jQuery使用empty()方法删除元素及其所有子元素的方法
Mar 26 Javascript
javascript实现在下拉列表中显示多级树形菜单的方法
Aug 12 Javascript
Javascript前端经典的面试题及答案
Mar 14 Javascript
JavaScript使用readAsDataURL读取图像文件
May 10 Javascript
js实现城市级联菜单的2种方法
Jun 23 Javascript
layui switch 开关监听 弹出确定状态转换的例子
Sep 21 Javascript
vue实现在线翻译功能
Sep 27 Javascript
JavaScript设计模型Iterator实例解析
Jan 22 Javascript
解决vue scoped html样式无效的问题
Oct 24 Javascript
解决vue下载后台传过来的乱码流的问题
Dec 05 Vue.js
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 作用域解析运算符(::)
2010/07/27 PHP
Java中final关键字详解
2015/08/10 PHP
PHP中Closure类的使用方法及详解
2015/10/09 PHP
Symfony2联合查询实现方法
2016/03/18 PHP
PHP基于redis计数器类定义与用法示例
2018/02/08 PHP
javascript demo 基本技巧
2009/12/18 Javascript
ext combox 下拉框不出现自动提示,自动选中的解决方法
2010/02/24 Javascript
浅析jQuery的链式调用之each函数
2010/12/03 Javascript
分享一个用Mootools写的鼠标滑过进度条改变进度值的实现代码
2011/12/12 Javascript
jQuery拖动div、移动div、弹出层实现原理及示例
2014/04/08 Javascript
Javascript基础教程之while语句
2015/01/18 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
AngularJS 路由详解和简单实例
2016/07/28 Javascript
angular4 获取wifi列表中文显示乱码问题的解决
2018/10/20 Javascript
微信小程序实现动态显示和隐藏某个控件功能示例
2018/12/14 Javascript
JavaScript实现滑动门效果
2020/01/18 Javascript
js获取本日、本周、本月的时间代码
2020/02/01 Javascript
vue更改数组中的值实例代码详解
2020/02/07 Javascript
ESLint 是如何检查 .vue 文件的
2020/11/30 Vue.js
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
浅谈Python的异常处理
2016/06/19 Python
Golang与python线程详解及简单实例
2017/04/27 Python
python 对类的成员函数开启线程的方法
2019/01/22 Python
python字典改变value值方法总结
2019/06/21 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
如何使用Python进行PDF图片识别OCR
2021/01/22 Python
h5调用摄像头的实现方法
2016/06/01 HTML / CSS
基于HTML5陀螺仪实现ofo首页眼睛移动效果的示例
2017/07/31 HTML / CSS
大专生自荐信
2013/10/04 职场文书
应届毕业生求职信范文
2013/12/18 职场文书
模具专业毕业推荐信
2014/03/08 职场文书
2015年安全生产工作总结范文
2015/04/02 职场文书
公司员工培训管理制度
2015/08/04 职场文书
CSS 文字装饰 text-decoration & text-emphasis 详解
2021/04/06 HTML / CSS
详解用Python把PDF转为Word方法总结
2021/04/27 Python
vue实现登陆页面开发实践
2022/05/30 Vue.js