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 相关文章推荐
JavaScript语言核心数据类型和变量使用介绍
Aug 23 Javascript
javascript禁制后退键(Backspace)实例代码
Nov 15 Javascript
js实现鼠标感应向下滑动隐藏菜单的方法
Feb 20 Javascript
初步认识JavaScript函数库jQuery
Jun 18 Javascript
jQuery实现的导航动画效果(附demo源码)
Apr 01 Javascript
JavaScript  cookie 跨域访问之广告推广
Apr 20 Javascript
JS小数运算出现多为小数问题的解决方法
Jun 02 Javascript
深入理解AngularJS中的ng-bind-html指令和$sce服务
Sep 08 Javascript
BootStrap树状图显示功能
Nov 24 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
Jun 04 Javascript
Node.js 回调函数实例详解
Jul 06 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
Jul 11 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
Notice: Trying to get property of non-object problem(PHP)解决办法
2012/03/11 PHP
以文件形式缓存php变量的方法
2015/06/26 PHP
php strftime函数的详细用法
2018/06/21 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
2019/12/31 PHP
jqplot通过ajax动态画折线图的方法及思路
2013/12/08 Javascript
append和appendTo的区别以及appendChild用法
2013/12/24 Javascript
js读取csv文件并使用json显示出来
2015/01/09 Javascript
超级简单实现JavaScript MVC 样式框架
2015/03/24 Javascript
使用jquery实现仿百度自动补全特效
2015/07/23 Javascript
JS实现DIV容器赋值的方法
2015/12/14 Javascript
jquery获取所有选中的checkbox实现代码
2016/05/26 Javascript
jquery 实现滚动条下拉时无限加载的简单实例
2016/06/01 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
2016/11/16 Javascript
vue loadmore组件上拉加载更多功能示例代码
2017/07/19 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
2020/02/16 Javascript
Vue路由守卫及页面登录权限控制的设置方法(两种)
2020/03/31 Javascript
vue中h5端打开app(判断是安卓还是苹果)
2021/02/26 Vue.js
[02:46]解说DC:感谢430陪伴我们的DOTA2国际邀请赛岁月
2016/06/29 DOTA
python使用xmlrpc实例讲解
2013/12/17 Python
python使用线程封装的一个简单定时器类实例
2015/05/16 Python
Python实现基本数据结构中队列的操作方法示例
2017/12/04 Python
Tensorflow 利用tf.contrib.learn建立输入函数的方法
2018/02/08 Python
Python实现替换文件中指定内容的方法
2018/03/19 Python
python实现批量注册网站用户的示例
2019/02/22 Python
Python之NumPy(axis=0 与axis=1)区分详解
2019/05/27 Python
PYQT5实现控制台显示功能的方法
2019/06/25 Python
Python+OpenCV实现旋转文本校正方式
2020/01/09 Python
详解用Pytest+Allure生成漂亮的HTML图形化测试报告
2020/03/31 Python
python 等差数列末项计算方式
2020/05/03 Python
html5新增的定时器requestAnimationFrame实现进度条功能
2018/12/13 HTML / CSS
餐饮收银员岗位职责
2014/02/07 职场文书
2016年“世界环境日”校园广播稿
2015/12/18 职场文书
导游词之江西赣州
2019/10/15 职场文书
详解如何使用Node.js实现热重载页面
2021/05/06 Javascript
oracle删除超过N天数据脚本的方法
2022/02/28 Oracle