解决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 相关文章推荐
jquery中ajax学习笔记3
Oct 16 Javascript
Javascript操作cookie的函数代码
Oct 03 Javascript
Javascript简单实现可拖动的div
Oct 22 Javascript
jquery放大镜效果超漂亮噢
Nov 15 Javascript
JS对img标签进行优化使用onerror显示默认图像
Apr 24 Javascript
JS基于VML技术实现的五角星礼花效果代码
Oct 26 Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
May 05 Javascript
深入理解Javascript中的valueOf与toString
Jan 04 Javascript
使用jQuery实现购物车结算功能
Aug 15 jQuery
解决使用Vue.js显示数据的时,页面闪现原始代码的问题
Feb 11 Javascript
vue 使用鼠标滚动加载数据的例子
Oct 31 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
Aug 03 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
Windows中安装Apache2和PHP4权威指南
2006/11/18 PHP
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
PHP新手NOTICE错误常见解决方法
2011/12/07 PHP
使用GDB调试PHP代码,解决PHP代码死循环问题
2015/03/02 PHP
学习php设计模式 php实现访问者模式(Visitor)
2015/12/07 PHP
谈谈php对接芝麻信用踩的坑
2016/12/01 PHP
Laravel构建即时应用的一种实现方法详解
2017/08/31 PHP
PHP 爬取网页的主要方法
2018/07/13 PHP
js 与或运算符 || &amp;&amp; 妙用
2009/12/09 Javascript
重写javascript中window.confirm的行为
2012/10/21 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
jquery+css3问卷答题卡翻页动画效果示例
2016/10/26 Javascript
浅谈js中function的参数默认值
2017/02/20 Javascript
ES6中Proxy与Reflect实现重载(overload)的方法
2017/03/30 Javascript
浅谈webpack 构建性能优化策略小结
2018/06/13 Javascript
解决Vue开发中对话框被遮罩层挡住的问题
2018/11/26 Javascript
Windows下Node爬虫神器Puppeteer安装记
2019/01/09 Javascript
一些你可能不熟悉的JS知识点总结
2019/03/15 Javascript
微信小程序左右滚动公告栏效果代码实例
2019/09/16 Javascript
Vue.js计算机属性computed和methods方法详解
2019/10/12 Javascript
Python使用分布式锁的代码演示示例
2018/07/30 Python
python Web flask 视图内容和模板实现代码
2019/08/23 Python
python实现的接收邮件功能示例【基于网易POP3服务器】
2019/09/11 Python
解决pycharm导入本地py文件时,模块下方出现红色波浪线的问题
2020/06/01 Python
基于Keras中Conv1D和Conv2D的区别说明
2020/06/19 Python
python爬虫搭配起Bilibili唧唧的流程分析
2020/12/01 Python
Vans英国官方网站:美国南加州的原创极限运动潮牌
2017/01/20 全球购物
城野医生官方海外旗舰店:风靡亚洲毛孔收敛水
2018/04/26 全球购物
香港现代设计家具品牌:Ziinlife Furniture
2018/11/13 全球购物
百度吧主申请感言
2014/01/12 职场文书
环境工程专业自荐信范文
2014/03/18 职场文书
护士医德医风自我评价
2014/09/15 职场文书
2014年客房部工作总结
2014/11/22 职场文书
2015年车间管理工作总结
2015/07/23 职场文书
新店开业策划方案怎么书写?
2019/07/05 职场文书
SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
2021/06/30 SQL Server