解决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 相关文章推荐
jQuery 对象中的类数组操作
Apr 27 Javascript
自己动手开发jQuery插件教程
Aug 25 Javascript
js图片自动切换效果处理代码
May 07 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
Apr 02 Javascript
24款热门实用的jQuery插件推荐
Dec 24 Javascript
js实现的Easy Tabs选项卡用法实例
Sep 06 Javascript
基于jquery实现智能提示控件intellSeach.js
Mar 17 Javascript
AngularJs基本特性解析(一)
Jul 21 Javascript
JQuery手速测试小游戏实现思路详解
Sep 20 Javascript
Javascript中字符串相关常用的使用方法总结
Mar 13 Javascript
JavaScript多态与封装实例分析
Jul 27 Javascript
js 对象使用的小技巧实例分析
Nov 08 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循环获取GET和POST值的代码
2008/04/09 PHP
PHP序列号生成函数和字符串替换函数代码
2012/06/07 PHP
php中调用其他系统http接口的方法说明
2014/02/28 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
laravel框架数据库操作、查询构建器、Eloquent ORM操作实例分析
2019/12/20 PHP
Js 获取当前日期时间及其它操作实现代码
2021/03/04 Javascript
使用JavaScript动态设置样式实现代码及演示动画
2013/01/25 Javascript
正则表达式中特殊符号及正则表达式的几种方法总结(replace,test,search)
2013/11/26 Javascript
JavaScript获取当前页面上的指定对象示例代码
2014/02/28 Javascript
javascript实现的一个随机点名功能
2014/08/26 Javascript
NodeJS学习笔记之Connect中间件模块(二)
2015/01/27 NodeJs
JavaScript中的Math.E属性使用详解
2015/06/12 Javascript
JS实现带有3D立体感的银灰色竖排折叠菜单代码
2015/10/20 Javascript
jQuery简单实现tab选项卡切换效果
2016/06/20 Javascript
利用jquery实现瀑布流3种案例
2016/09/18 Javascript
学习vue.js表单控件绑定操作
2016/12/05 Javascript
jQuery实现判断控件是否显示的方法
2017/01/11 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
JS中Object对象的原型概念基础
2018/01/29 Javascript
如何自定义微信小程序tabbar上边框的颜色
2019/07/09 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
vue中使用带隐藏文本信息的图片、图片水印的方法
2020/04/24 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
2020/08/07 Javascript
Openlayers绘制聚合标注
2020/09/28 Javascript
简单解析Django框架中的表单验证
2015/07/17 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
Python itertools.product方法代码实例
2020/03/27 Python
记录一下scrapy中settings的一些配置小结
2020/09/28 Python
高品质和独特的产品世界:Creations and Collections
2018/01/07 全球购物
手机被没收检讨书
2014/02/22 职场文书
保护环境建议书300字
2014/05/13 职场文书
python文件名批量重命名脚本实例代码
2021/04/22 Python
JavaCV实现照片马赛克效果
2022/01/22 Java/Android
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA
Python使用华为API为图像设置多个锚点标签
2022/04/12 Python