解决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 简便实现页面元素数据验证功能
Mar 24 Javascript
JS+XML 省份和城市之间的联动实现代码
Oct 14 Javascript
层序遍历在ExtJs的TreePanel中的应用
Oct 16 Javascript
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
Apr 13 Javascript
js全屏显示显示代码的三种方法
Nov 11 Javascript
js浏览器本地存储store.js介绍及应用
May 13 Javascript
浅谈js里面的InttoStr和StrtoInt
Jun 14 Javascript
微信小程序出现wx.getLocation再次授权问题的解决方法分析
Jan 16 Javascript
Vue 中可以定义组件模版的几种方式
Aug 06 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
Aug 08 jQuery
查找Vue中下标的操作(some和findindex)
Aug 12 Javascript
vue实现简易的双向数据绑定
Dec 29 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
JS实现php的伪分页
2008/05/25 PHP
ThinkPHP有变量的where条件分页实例
2014/11/03 PHP
php自动给网址加上链接的方法
2015/06/02 PHP
PHP二维索引数组的遍历实例分析【2种方式】
2019/06/24 PHP
js防止表单重复提交的两种方法
2013/09/30 Javascript
javaScript年份下拉列表框内容为当前年份及前后50年
2014/05/28 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
jQuery对象与DOM对象之间的相互转换
2015/03/03 Javascript
JS简单实现动画弹出层效果
2015/05/05 Javascript
Bootstrap每天必学之按钮
2015/11/26 Javascript
jQuery实现表格文本框淡入更改值后淡出效果
2016/09/27 Javascript
react 父组件与子组件之间的值传递的方法
2017/09/14 Javascript
electron + vue项目实现打印小票功能及实现代码
2018/11/25 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
2019/05/18 Javascript
vue实现计算器功能
2020/02/22 Javascript
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
2020/02/09 Python
Django单元测试中Fixtures的使用方法
2020/02/26 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
css3实现一个div设置多张背景图片及background-image属性实例演示
2017/08/10 HTML / CSS
让IE6支持css3,让 IE7、IE8 都支持CSS3
2011/10/09 HTML / CSS
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
Kendra Scott官网:美国领先的时尚配饰品牌
2020/10/22 全球购物
港湾网络笔试题
2014/04/19 面试题
公司门卫管理制度
2014/02/01 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
教师节活动总结
2014/08/29 职场文书
政府四风问题整改措施
2014/10/04 职场文书
承诺函范文
2015/01/21 职场文书
考察邀请函范文
2015/01/31 职场文书
小学副班长竞选稿
2015/11/21 职场文书
股东出资协议书
2016/03/21 职场文书
2016年小学中秋节活动总结
2016/04/05 职场文书
教你漂亮打印Pandas DataFrames和Series
2021/05/29 Python
JVM之方法返回地址详解
2022/02/28 Java/Android