解决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 相关文章推荐
让firefox支持IE的一些方法的javascript扩展函数代码
Jan 02 Javascript
javascript获取作用在元素上面的样式属性代码
Sep 20 Javascript
jquery实现相册一下滑动两次的方法
Feb 09 Javascript
js判断浏览器类型及设备(移动页面开发)
Jul 30 Javascript
JavaScript实现简单获取当前网页网址的方法
Nov 09 Javascript
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
微信小程序实现根据字母选择城市功能
Aug 16 Javascript
JavaScript基础之流程控制语句的用法
Aug 31 Javascript
Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)
Feb 08 Javascript
Vue resource三种请求格式和万能测试地址
Sep 26 Javascript
JavaScript格式化json和xml的方法示例
Jan 22 Javascript
详解JavaScript的this指向和绑定
Sep 08 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和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
jquery不支持toggle()高(新)版本的问题解决
2016/09/24 PHP
PHP ADODB实现事务处理功能示例
2018/05/25 PHP
JavaScript Konami Code 实现代码
2009/07/29 Javascript
extjs 列表框(multiselect)的动态添加列表项的方法
2009/07/31 Javascript
jquery $(this).attr $(this).val方法使用介绍
2013/10/08 Javascript
屏蔽script注入小例子
2013/11/12 Javascript
JS判断变量是否为空判断是否null
2014/07/25 Javascript
推荐25个超炫的jQuery网格插件
2014/11/28 Javascript
使用正则表达式的格式化与高亮显示json字符串
2014/12/03 Javascript
Node.js中的流(Stream)介绍
2015/03/30 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
JS实现带提示的星级评分效果完整实例
2015/10/30 Javascript
JavaScript数组的定义及数字操作技巧
2016/06/06 Javascript
浅谈js中的in-for循环
2016/06/28 Javascript
JavaScript 链式结构序列化详解
2016/09/30 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
2017/04/20 Javascript
常见的浏览器Hack技巧整理
2017/06/29 Javascript
基于jquery.page.js实现分页效果
2018/01/01 jQuery
Node.js成为Web应用开发最佳选择的原因
2018/02/05 Javascript
JS实现的文字间歇循环滚动效果完整示例
2018/02/13 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
2018/11/23 Javascript
原生JS实现烟花效果
2020/03/10 Javascript
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作
2020/07/31 Javascript
浅谈Python反射 &amp; 单例模式
2019/03/21 Python
Python2和3字符编码的区别知识点整理
2019/08/08 Python
Pygame的程序开始示例代码
2020/05/07 Python
QT5 Designer 打不开的问题及解决方法
2020/08/20 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
2020/08/27 Python
详解HTML5通讯录获取指定多个人的信息
2016/12/20 HTML / CSS
2015年个人实习工作总结
2015/05/28 职场文书
借钱欠条怎么写
2015/07/03 职场文书
《司马光》教学反思
2016/02/22 职场文书
golang中的空slice案例
2021/04/27 Golang
Python Django模型详解
2021/10/05 Python
DE1107机评
2022/04/05 无线电