解决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中的运算符种类及其规则介绍
Sep 26 Javascript
通过action传过来的值在option获取进行验证的方法
Nov 14 Javascript
JS操作CSS随机改变网页背景实现思路
Mar 10 Javascript
javascript原始值和对象引用实例分析
Apr 25 Javascript
jQuery+json实现的简易Ajax调用实例
Dec 14 Javascript
javascript数组去重小结
Mar 07 Javascript
实例详解ECMAScript5中新增的Array方法
Apr 05 Javascript
javascript 定时器工作原理分析
Dec 03 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
Apr 25 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
Jul 29 Javascript
详解React的回调渲染模式
Sep 10 Javascript
jQuery-App输入框实现实时搜索
Nov 19 jQuery
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
本地计算机无法启动Apache故障处理
2014/08/08 PHP
浅析PHP中strlen和mb_strlen的区别
2014/08/31 PHP
php中mail函数发送邮件失败的解决方法
2014/12/24 PHP
php实现通过ftp上传文件
2015/06/19 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
PHP大文件切割上传并带进度条功能示例
2019/07/01 PHP
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
JavaScript使用encodeURI()和decodeURI()获取字符串值的方法
2015/08/04 Javascript
JavaScript脚本判断蜘蛛来源的方法
2015/09/22 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
解决ajax不能访问本地文件问题(利用js跨域原理)
2017/01/24 Javascript
canvas实现图像放大镜
2017/02/06 Javascript
discuz表情的JS提取方法分析
2017/03/22 Javascript
微信小程序异步处理详解
2017/11/10 Javascript
JavaScript实现的超简单计算器功能示例
2017/12/23 Javascript
vue-cli3.0 特性解读
2018/04/22 Javascript
JSON.stringify()方法讲解
2019/01/31 Javascript
如何为你的JS项目添加智能提示与类型检查详解
2019/03/12 Javascript
JS使用百度地图API自动获取地址和经纬度操作示例
2019/04/16 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
2019/09/21 Javascript
jquery实现上传文件进度条
2020/03/26 jQuery
移动端JS实现拖拽两种方法解析
2020/10/12 Javascript
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
Win7 64位下python3.6.5安装配置图文教程
2020/10/27 Python
Python实现的计算器功能示例
2018/04/26 Python
Python WEB应用部署的实现方法
2019/01/02 Python
python爬虫之爬取百度音乐的实现方法
2019/08/24 Python
在django中自定义字段Field详解
2019/12/03 Python
python怎么自定义捕获错误
2020/06/29 Python
canvas绘制文本内容自动换行的实现代码
2019/01/14 HTML / CSS
北京鼎普科技股份有限公司软件测试面试题
2012/04/07 面试题
Java中采用什么结构来捕获、处理异常?各子句的顺序、功能如何
2013/10/07 面试题
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
环保宣传语大全
2015/07/13 职场文书
vue实现无缝轮播效果(跑马灯)
2021/05/14 Vue.js