解决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 相关文章推荐
js 获取(接收)地址栏参数值的方法
Apr 01 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
May 17 Javascript
解析使用JS 清空File控件的路径值
Jul 08 Javascript
判断输入的字符串是否是日期格式的简单方法
Jul 11 Javascript
URL中“#” “?” &amp;“”号的作用浅析
Feb 04 Javascript
js 性能优化之算法和流程控制
Feb 15 Javascript
JS如何设置元素样式的方法示例
Aug 28 Javascript
vue watch深度监听对象实现数据联动效果
Aug 16 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
Sep 12 Javascript
微信小程序canvas截取任意形状的实现代码
Jan 13 Javascript
浅谈VUE中演示v-for为什么要加key
Jan 16 Javascript
jQuery编写QQ简易聊天框
Aug 27 jQuery
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中文本数据翻页(留言本翻页)
2006/10/09 PHP
php魔术方法与魔术变量、内置方法与内置变量的深入分析
2013/06/03 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
PHP将MySQL的查询结果转换为数组并用where拼接的示例
2016/05/13 PHP
JavaScript获取和设置CheckBox状态的简单方法
2013/07/05 Javascript
javascript如何创建表格(javascript绘制表格的二种方法)
2013/12/10 Javascript
js delete 用法(删除对象属性及变量)
2014/08/24 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
jQuery的文档处理程序详解
2016/05/10 Javascript
详解JS异步加载的三种方式
2017/03/07 Javascript
用vue和node写的简易购物车实现
2017/04/25 Javascript
Vue实现购物车场景下的应用
2017/11/27 Javascript
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
微信小程序登录数据解密及状态维持实例详解
2019/05/06 Javascript
layui复选框的全选与取消实现方法
2019/09/02 Javascript
JavaScript HTML DOM 元素 (节点)新增,编辑,删除操作实例分析
2020/03/02 Javascript
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
有趣的python小程序分享
2017/12/05 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
2019/07/15 Python
Pycharm如何导入python文件及解决报错问题
2020/05/10 Python
python实现邮件循环自动发件功能
2020/09/11 Python
欧洲顶级的童装奢侈品购物网站:Bambini Fashion(面向全球)
2018/04/24 全球购物
定制iPhone和Macbook保护壳:Slick Case
2018/11/21 全球购物
FirstCry阿联酋儿童和婴儿产品网上购物:FirstCry.ae
2021/02/22 全球购物
abstract是什么意思
2012/02/12 面试题
护理职业应聘自荐书
2013/09/29 职场文书
搞笑创意广告语
2014/03/17 职场文书
股东合作协议书范本
2014/04/14 职场文书
2014年向国旗敬礼活动方案
2014/09/27 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
2014年社区工会工作总结
2014/12/18 职场文书
中秋节晚会开场白
2015/05/29 职场文书
学习雷锋主题班会
2015/08/14 职场文书
电工生产实习心得体会
2016/01/22 职场文书
创业计划书之水果店
2019/07/18 职场文书
Android基于Fresco实现圆角和圆形图片
2022/04/01 Java/Android