解决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 文件夹选择框的两种解决方案
Jul 01 Javascript
用JS将搜索的关键字高亮显示实现代码
Nov 08 Javascript
Thinkphp模板没有解析直接原样输出的解决方法
Oct 31 Javascript
JavaScript针对网页节点的增删改查用法实例
Feb 02 Javascript
JavaScript中的fontsize()方法使用详解
Jun 08 Javascript
深入浅析Vue.js计算属性和侦听器
May 05 Javascript
Js经典案例的实例代码
May 10 Javascript
vue的过滤器filter实例详解
Sep 17 Javascript
微信小程序实现无限滚动列表
May 29 Javascript
世界上最短的数字判断js代码
Sep 09 Javascript
nodemon实现Typescript项目热更新的示例代码
Nov 19 Javascript
vue 动态组件(component :is) 和 dom元素限制(is)用法说明
Sep 04 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
Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
2008/10/13 PHP
PHP学习笔记之一
2011/01/17 PHP
php设置编码格式的方法
2013/03/05 PHP
Thinkphp中volist标签mod控制一定记录的换行BUG解决方法
2014/11/04 PHP
浅析php工厂模式
2014/11/25 PHP
PHP explode()函数的几个应用和implode()函数有什么区别
2015/11/05 PHP
JavaScript 自动分号插入(JavaScript synat:auto semicolon insertion)
2009/11/04 Javascript
JavaScript 格式字符串的应用
2010/03/29 Javascript
JavaScript中为元素加上name属性的方法
2011/05/09 Javascript
open 动态修改img的onclick事件示例代码
2013/11/13 Javascript
纯css+js写的一个简单的tab标签页带样式
2014/01/28 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
JavaScript的RequireJS库入门指南
2015/07/01 Javascript
详解JavaScript中localStorage使用要点
2016/01/13 Javascript
Javascript删除数组里的某个元素
2019/02/28 Javascript
详解JS实现简单的时分秒倒计时代码
2019/04/25 Javascript
vue中实现拖动调整左右两侧div的宽度的示例代码
2020/07/22 Javascript
举例讲解Python中is和id的用法
2015/04/03 Python
以视频爬取实例讲解Python爬虫神器Beautiful Soup用法
2016/01/20 Python
selenium+python 去除启动的黑色cmd窗口方法
2018/05/22 Python
Python判断一个三位数是否为水仙花数的示例
2018/11/13 Python
Python3网络爬虫中的requests高级用法详解
2019/06/18 Python
Python上下文管理器全实例详解
2019/11/12 Python
解决TensorFlow训练内存不断增长,进程被杀死问题
2020/02/05 Python
Python小整数对象池和字符串intern实例解析
2020/03/21 Python
keras分类之二分类实例(Cat and dog)
2020/07/09 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
2021/01/28 Python
瑞典Happy Socks美国官网:购买色彩斑斓的快乐袜子
2016/10/19 全球购物
Cole Haan官方网站:美国时尚潮流品牌
2017/12/06 全球购物
UGG英国官方网站:UGG UK
2018/02/08 全球购物
先进工作者获奖感言
2014/02/08 职场文书
健康教育评估方案
2014/05/25 职场文书
党支部活动策划方案
2014/08/18 职场文书
县政府办公室领导班子个人对照检查材料
2014/09/16 职场文书
2014年数学教师工作总结
2014/12/03 职场文书
redis配置文件中常用配置详解
2021/04/14 Redis