解决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 相关文章推荐
Ajax同步与异步传输的示例代码
Nov 21 Javascript
js选择并转移导航菜单示例代码
Aug 19 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
Aug 27 Javascript
原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
Aug 30 Javascript
JS实现的简洁二级导航菜单雏形效果
Oct 13 Javascript
bootstrap响应式表格实例详解
May 15 Javascript
Javascript之图片的延迟加载的实例详解
Jul 24 Javascript
如何理解Vue的render函数的具体用法
Aug 30 Javascript
vuejs使用$emit和$on进行组件之间的传值的示例
Oct 04 Javascript
js闭包学习心得总结
Apr 17 Javascript
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
May 05 Javascript
JS判断浏览器类型与操作系统的方法分析
Apr 30 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教程 基本语法
2009/10/23 PHP
php笔记之:php函数range() round()和list()的使用说明
2013/04/26 PHP
php使用正则表达式进行字符串搜索的方法
2015/03/23 PHP
解决PHP使用CURL发送GET请求时传递参数的问题
2019/10/11 PHP
简单通用的JS滑动门代码
2008/12/19 Javascript
javascript 设计模式之单体模式 面向对象学习基础
2010/04/18 Javascript
UI Events 用户界面事件
2012/06/27 Javascript
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
简单介绍JavaScript的变量和数据类型
2015/06/03 Javascript
JavaScript实现广告的关闭与显示效果实例
2015/07/02 Javascript
详解jQuery向动态生成的内容添加事件响应jQuery live()方法
2015/11/02 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
简单实现的JQuery文本框水印插件
2016/06/14 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
AngularJS教程之简单应用程序示例
2016/08/16 Javascript
js实现简单的计算器功能
2017/01/16 Javascript
简单说说如何使用vue-router插件的方法
2019/04/08 Javascript
JS性能优化实现方法及优点进行
2020/08/30 Javascript
vue 计算属性和侦听器的使用小结
2021/01/25 Vue.js
[00:12]DAC SOLO赛卫冕冠军 VG.Paparazi灬展现SOLO技巧
2018/04/06 DOTA
python使用tkinter实现简单计算器
2018/01/30 Python
Python中安装easy_install的方法
2018/11/18 Python
解决jupyter notebook显示不全出现框框或者乱码问题
2020/04/09 Python
解决django migrate报错ORA-02000: missing ALWAYS keyword
2020/07/02 Python
python进度条显示之tqmd模块
2020/08/22 Python
几款Python编译器比较与推荐(小结)
2020/10/15 Python
详解修改Anaconda中的Jupyter Notebook默认工作路径的三种方式
2021/01/24 Python
日常奢侈品,轻松购物:Verishop
2019/08/20 全球购物
环境整治工作方案
2014/05/18 职场文书
质量在我心中演讲稿
2014/09/02 职场文书
2015年全国爱眼日活动小结
2015/02/27 职场文书
开学典礼观后感
2015/06/15 职场文书
2015年教学副校长工作总结
2015/07/22 职场文书
在JavaScript中如何使用宏详解
2021/05/06 Javascript
Python保存并浏览用户的历史记录
2022/04/29 Python
深入理解pytorch库的dockerfile
2022/06/10 Python