解决jquery1.9不支持browser对象的问题


Posted in Javascript onNovember 13, 2013

最近因项目需要,要用jquery的cycle插件,但是项目里面一直用的都是jquery1.9,不支持browser对象,百度一下,找到了解决方案。

在cycle插件的源码里面直接加上下面这段代码就可以了:

(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);

这段代码是专门解决browser对象不被支持的问题的。
Javascript 相关文章推荐
javascript 函数参数限制说明
Nov 19 Javascript
JS获取农历日期具体实例
Nov 14 Javascript
浅谈javascript 函数属性和方法
Jan 21 Javascript
基于Jquery和CSS3制作数字时钟附源码下载(CSS3篇)
Nov 24 Javascript
jQuery实现的多滑动门,多选项卡效果代码
Mar 28 Javascript
node+koa实现数据mock接口的方法
Sep 20 Javascript
浅谈Node.js之异步流控制
Oct 25 Javascript
JS装饰器函数用法总结
Apr 21 Javascript
对VUE中的对象添加属性
Sep 18 Javascript
JS根据Unix时间戳显示发布时间是多久前【项目实测】
Jul 10 Javascript
vue-cli 为项目设置别名的方法
Oct 15 Javascript
浅析VUE防抖与节流
Nov 24 Vue.js
js获取IFRAME当前的URL的方法
Nov 13 #Javascript
jquery 漂亮的删除确认和提交无刷新删除示例
Nov 13 #Javascript
常见表单重复提交问题整理及解决方法
Nov 13 #Javascript
获取下拉列表框的值是数组,split,$.inArray示例
Nov 13 #Javascript
jquery属性选择器not has怎么写 行悬停高亮显示
Nov 13 #Javascript
jquery validate在ie8下的bug解决方法
Nov 13 #Javascript
JQuery伸缩导航练习示例
Nov 13 #Javascript
You might like
使用XDebug调试及单元测试覆盖率分析
2011/01/27 PHP
PHP如何通过传引用的思想实现无限分类(代码简单)
2015/10/13 PHP
yii2 在控制器中验证请求参数的使用方法
2019/06/19 PHP
Laravel ORM 数据model操作教程
2019/10/21 PHP
网页常用特效代码整理
2006/06/23 Javascript
用jquery实现下拉菜单效果的代码
2010/07/25 Javascript
JS弹出层的显示与隐藏示例代码
2013/12/27 Javascript
js控制分页打印、打印分页示例
2014/02/08 Javascript
15个非常实用的JavaScript代码片段
2016/12/18 Javascript
JS实现的简易拖放效果示例
2016/12/29 Javascript
获取今天,昨天,本周,上周,本月,上月时间(实例分享)
2017/01/04 Javascript
使用jQuery.Pin垂直滚动时固定导航
2017/05/24 jQuery
Vue中之nextTick函数源码分析详解
2017/10/17 Javascript
React Native验证码倒计时工具类分享
2017/10/24 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
2018/05/13 Javascript
JavaScript实现美化滑块效果
2019/05/17 Javascript
Node4-5静态资源服务器实战以及优化压缩文件实例内容
2019/08/29 Javascript
解决小程序无法触发SESSION问题
2020/02/03 Javascript
Python使用urllib2获取网络资源实例讲解
2013/12/02 Python
python实现的登录和操作开心网脚本分享
2014/07/09 Python
python smtplib模块实现发送邮件带附件sendmail
2018/05/22 Python
对matplotlib改变colorbar位置和方向的方法详解
2018/12/13 Python
python 中的列表生成式、生成器表达式、模块导入
2019/06/19 Python
如何基于python生成list的所有的子集
2019/11/11 Python
Python代码执行时间测量模块timeit用法解析
2020/07/01 Python
Python过滤序列元素的方法
2020/07/31 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
CSS3结构性伪类选择器九种写法
2012/04/18 HTML / CSS
css3实现椭圆轨迹旋转的示例代码
2018/10/29 HTML / CSS
canvas三角函数模拟水波效果的示例代码
2018/07/03 HTML / CSS
Roxy美国官网:澳大利亚冲浪、滑雪健身品牌
2016/07/30 全球购物
舒适的豪华鞋:Taryn Rose
2018/05/03 全球购物
七年级音乐教学反思
2014/01/26 职场文书
环保建议书600字
2014/05/14 职场文书
人代会标语
2014/06/30 职场文书
师德师风事迹材料
2014/12/20 职场文书