解决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 contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
Feb 04 Javascript
ExtJs 表单提交登陆实现代码
Aug 19 Javascript
javascript当中的代码嗅探扩展原生对象和原型(prototype)
Jan 11 Javascript
Javascript异步编程的4种方法让你写出更出色的程序
Jan 17 Javascript
javascript实现仿腾讯游戏选择
May 14 Javascript
js简单网速测试方法完整实例
Dec 15 Javascript
JavaScript学习笔记之ES6数组方法
Mar 25 Javascript
深入理解ES6的迭代器与生成器
Aug 19 Javascript
three.js加载obj模型的实例代码
Nov 10 Javascript
利用angular自动编译andriod APK的绕坑经历分享
Mar 08 Javascript
uni-app 支持多端第三方地图定位的方法
Jan 03 Javascript
微信小程序点击view动态添加样式过程解析
Jan 21 Javascript
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
php中curl和file_get_content的区别
2014/05/10 PHP
我整理的PHP 7.0主要新特性
2016/01/07 PHP
PHP构造二叉树算法示例
2017/06/21 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
7个Javascript地图脚本整理
2009/10/20 Javascript
IE6,IE7下js动态加载图片不显示错误
2010/07/17 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
基于javascript的COOkie的操作实现只能点一次
2014/12/26 Javascript
深入浅析JavaScript中的constructor
2016/04/19 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
用jmSlip编写移动端顶部日历选择控件
2016/10/24 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
React Native 自定义下拉刷新上拉加载的列表的示例
2018/03/01 Javascript
如何使node也支持从url加载一个module详解
2018/06/05 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
layer.msg()去掉默认时间,实现手动关闭的方法
2019/09/12 Javascript
javascript实现画板功能
2020/04/12 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
利用Python实现Windows下的鼠标键盘模拟的实例代码
2017/07/13 Python
python中使用%与.format格式化文本方法解析
2017/12/27 Python
对python中for、if、while的区别与比较方法
2018/06/25 Python
机电一体化大学生求职信
2013/11/08 职场文书
学生自我鉴定
2013/12/18 职场文书
事务机电主管工作职责
2014/02/25 职场文书
装修设计师求职信
2014/02/26 职场文书
校园演讲稿汇总
2014/05/21 职场文书
2014年党员整改措施范文
2014/09/21 职场文书
实习科室评语
2015/01/04 职场文书
2016先进集体事迹材料范文
2016/02/25 职场文书
2016五四青年节活动总结范文
2016/04/06 职场文书
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python
前端JavaScript大管家 package.json
2021/11/02 Javascript