JS判断浏览器是否支持某一个CSS3属性的方法


Posted in Javascript onOctober 17, 2014

1、引子

css3的出现让浏览器的表现更加的丰富多彩,表现冲击最大的就是动画了,在日常书写动画的时候,很有必要去事先判断浏览器是否支持,尤其是在写CSS3动画库的时候。比如transition的animation-play-state,就只有部分浏览器支持。

2、检测方法

下面的方法可以使用脚本判断浏览器是否支持某一个CSS3属性:

/** 
* 判断浏览器是否支持某一个CSS3属性 
* @param {String} 属性名称 
* @return {Boolean} true/false 
* @version 1.0 
* @author ydr.me 
* 2014年4月4日14:47:19 
*/ 

function supportCss3(style) { 
var prefix = ['webkit', 'Moz', 'ms', 'o'], 
i, 
humpString = [], 
htmlStyle = document.documentElement.style, 
_toHumb = function (string) { 
return string.replace(/-(\w)/g, function ($0, $1) { 
return $1.toUpperCase(); 
}); 
}; 

for (i in prefix) 
humpString.push(_toHumb(prefix[i] + '-' + style)); 

humpString.push(_toHumb(style)); 

for (i in humpString) 
if (humpString[i] in htmlStyle) return true; 

return false; 
}

3、使用方法

alert(supportCss3('animation-play-state'));

Javascript 相关文章推荐
jQuery插件 tabBox实现代码
Feb 09 Javascript
javascript中获取下个月一号,是星期几
Jun 01 Javascript
JS获取IP、MAC和主机名的五种方法
Nov 14 Javascript
js实现select组件的选择输入过滤代码
Oct 14 Javascript
再谈javascript原型继承
Nov 10 Javascript
JavaScript实现打开链接页面的方式汇总
Jun 02 Javascript
浅谈js的url解析函数封装
Jun 28 Javascript
解决拦截器对ajax请求的拦截实例详解
Dec 21 Javascript
Vue组件通信的四种方式汇总
Feb 08 Javascript
Vue2.2.0+新特性整理及注意事项
Aug 22 Javascript
vue实现简易图片左右旋转,上一张,下一张组件案例
Jul 31 Javascript
原生js实现表格翻页和跳转
Sep 29 Javascript
js onmousewheel事件多次触发问题解决方法
Oct 17 #Javascript
js实现飞入星星特效代码
Oct 17 #Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
Oct 17 #Javascript
JavaScript strike方法入门实例(给字符串加上删除线)
Oct 17 #Javascript
JavaScript link方法入门实例(给字符串加上超链接)
Oct 17 #Javascript
JavaScript italics方法入门实例(把字符串显示为斜体)
Oct 17 #Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
Oct 17 #Javascript
You might like
ThinkPHP模板引擎之导入资源文件方法详解
2014/06/18 PHP
php分割合并两个字符串的函数实例
2015/06/19 PHP
又一个图片自动缩小的JS代码
2007/03/10 Javascript
isArray()函数(JavaScript中对象类型判断的几种方法)
2009/11/26 Javascript
document.forms[].submit()使用介绍
2014/02/19 Javascript
JavaScript实现将xml转换成html table表格的方法
2015/04/17 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
详解Backbone.js框架中的模型Model与其集合collection
2016/05/05 Javascript
AngularJs IE Compatibility 兼容老版本IE
2016/09/01 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
2016/09/08 Javascript
实例解析angularjs的filter过滤器
2016/12/14 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
jQuery插件zTree实现的基本树与节点获取操作示例
2017/03/08 Javascript
vue2组件实现懒加载浅析
2017/03/29 Javascript
详解基于Bootstrap+angular的一个豆瓣电影app
2017/06/26 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
微信小程序实现图片放大预览功能
2020/10/22 Javascript
nodejs基于express实现文件上传的方法
2018/03/19 NodeJs
详解如何快速配置webpack多入口脚手架
2018/12/28 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
vue 获取及修改store.js里的公共变量实例
2019/11/06 Javascript
Python中__init__和__new__的区别详解
2014/07/09 Python
Python登录并获取CSDN博客所有文章列表代码实例
2017/12/28 Python
Python设计模式之工厂方法模式实例详解
2019/01/18 Python
详解Python用户登录接口的方法
2019/04/17 Python
基于Python的图像数据增强Data Augmentation解析
2019/08/13 Python
python实现大战外星人小游戏实例代码
2019/12/26 Python
python ffmpeg任意提取视频帧的方法
2020/02/21 Python
Django中的session用法详解
2020/03/09 Python
Python读取图像并显示灰度图的实现
2020/12/01 Python
美国批发零售网站:GearXS
2016/07/26 全球购物
街道党工委党的群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
大学生违纪检讨书300字
2014/10/25 职场文书
入党宣誓大会后的感想
2015/08/10 职场文书
工商局调档介绍信
2015/10/22 职场文书
Python常用配置文件ini、json、yaml读写总结
2021/07/09 Python