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 全兼容可高亮二级缓冲折叠菜单
Jun 04 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
Nov 28 Javascript
对于Form表单reset方法的新认识
Mar 05 Javascript
JS实现控制表格单元格垂直对齐的方法
Mar 30 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
Dec 08 Javascript
Bootstrap项目实战之子栏目资讯内容
Apr 25 Javascript
jQuery Ajax实现跨域请求
Jan 21 Javascript
使用layui 渲染table数据表格的实例代码
Aug 19 Javascript
详解如何在Vue里建立长按指令
Aug 20 Javascript
vue实现跳转接口push 转场动画示例
Nov 01 Javascript
浅谈vue中get请求解决传输数据是数组格式的问题
Aug 03 Javascript
用javascript制作qq注册动态页面
Apr 14 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
咖啡豆要不要放冰箱的原因
2021/03/04 冲泡冲煮
php插入中文到sqlserver 2008里出现乱码的解决办法分享
2012/07/19 PHP
Yii2搭建后台并实现rbac权限控制完整实例教程
2016/04/28 PHP
php异步:在php中使用fsockopen curl实现类似异步处理的功能方法
2016/12/10 PHP
PHP+Mysql+Ajax实现淘宝客服或阿里旺旺聊天功能(前台页面)
2017/06/16 PHP
使用cluster 将自己的Node服务器扩展为多线程服务器
2014/11/10 Javascript
用js代码和插件实现wordpress雪花飘落效果的四种方法
2014/12/15 Javascript
基于jQuery实现自动轮播旋转木马特效
2015/11/02 Javascript
详解Javascript中的原型OOP
2016/10/12 Javascript
Javascript 创建类并动态添加属性及方法的简单实现
2016/10/20 Javascript
微信小程序 增、删、改、查操作实例详解
2017/01/13 Javascript
详谈javascript精度问题与调整
2017/07/08 Javascript
微信小程序实现换肤功能
2018/03/14 Javascript
JS回调函数原理与用法详解【附PHP回调函数】
2019/07/20 Javascript
Vue组件通信$attrs、$listeners实现原理解析
2020/09/03 Javascript
js操作两个json数组合并、去重,以及删除某一项元素
2020/09/22 Javascript
python实现简单点对点(p2p)聊天
2017/09/13 Python
Python向Excel中插入图片的简单实现方法
2018/04/24 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
对numpy.append()里的axis的用法详解
2018/06/28 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
PyInstaller将Python文件打包为exe后如何反编译(破解源码)以及防止反编译
2020/04/15 Python
Python学习之os模块及用法
2020/06/03 Python
pytorch SENet实现案例
2020/06/24 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
2020/12/17 Python
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
证婚人搞笑证婚词
2014/01/10 职场文书
爱情保证书范文
2014/02/01 职场文书
环保倡议书格式范文
2014/05/14 职场文书
英语教师自荐信
2014/05/26 职场文书
2015年社区工作总结
2015/04/08 职场文书
2015年手术室工作总结
2015/05/11 职场文书
MySQL中的隐藏列的具体查看
2021/09/04 MySQL
详解Vue的列表渲染
2021/11/20 Vue.js