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 相关文章推荐
JS判断移动端访问设备并加载对应CSS样式
Jun 13 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
Sep 03 Javascript
jQuery元素选择器用法实例
Dec 23 Javascript
js实现用户输入的小写字母自动转大写字母的方法
Jan 21 Javascript
原生JS轮播图插件
Feb 09 Javascript
微信小程序 image组件binderror使用例子与js中的onerror区别
Feb 15 Javascript
基于JS实现9种不同的面包屑和分布式多步骤导航效果
Feb 21 Javascript
Node.js 异步异常的处理与domain模块解析
May 10 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
Aug 28 Javascript
js事件on动态绑定数据,绑定多个事件的方法
Sep 15 Javascript
jQuery 常用特效实例小结【显示与隐藏、淡入淡出、滑动、动画等】
May 19 jQuery
js数组的基本使用总结
Jan 18 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
php中设置多级目录session的问题
2011/08/08 PHP
解析PHP中empty is_null和isset的测试
2013/06/29 PHP
Destoon模板制作简明教程
2014/06/20 PHP
php5.4以下版本json不支持不转义内容中文的解决方法
2015/01/13 PHP
php实现文本数据导入SQL SERVER
2015/05/17 PHP
如何在旧的PHP系统中使用PHP 5.3之后的库
2015/12/02 PHP
php生成与读取excel文件
2016/10/14 PHP
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
javascript中的prototype属性使用说明(函数功能扩展)
2010/08/16 Javascript
Jquery写一个鼠标拖动效果实现原理与代码
2012/12/24 Javascript
jqGrid增加时--判断开始日期与结束日期(实例解析)
2013/11/08 Javascript
node.js中的forEach()是同步还是异步呢
2015/01/29 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
求js数组的最大值和最小值的四种方法
2017/03/03 Javascript
Angular 2父子组件数据传递之@Input和@Output详解 (上)
2017/07/05 Javascript
微信小程序之电影影评小程序制作代码
2017/08/03 Javascript
vue2.0 资源文件assets和static的区别详解
2018/04/08 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
Javascript实现简易天数计算器
2020/05/18 Javascript
vue 项目软键盘回车触发搜索事件
2020/09/09 Javascript
jquery实现抽奖功能
2020/10/22 jQuery
理解python多线程(python多线程简明教程)
2014/06/09 Python
利用Python实现Windows定时关机功能
2017/03/21 Python
pandas 实现字典转换成DataFrame的方法
2018/07/04 Python
解决Python selenium get页面很慢时的问题
2019/01/30 Python
python实现海螺图片的方法示例
2019/05/12 Python
Windows平台Python编程必会模块之pywin32介绍
2019/10/01 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
没编程基础可以学python吗
2020/06/17 Python
教你一分钟在win10终端成功安装Pytorch的方法步骤
2021/01/28 Python
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
公司办公室岗位职责
2014/03/19 职场文书
街道务虚会发言材料
2014/10/20 职场文书
共青团优秀团员申请书(范文)
2019/08/15 职场文书
pandas 实现将NaN转换为None
2021/05/14 Python