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 相关文章推荐
List Installed Software Features
Jun 11 Javascript
浅析XMLHttpRequest的缓存问题
Dec 13 Javascript
javaScript如何生成xmlhttp
Dec 16 Javascript
javascript解析json实例详解
Nov 05 Javascript
jquery密码强度校验
Dec 02 Javascript
有关jquery与DOM节点操作方法和属性记录
Apr 15 Javascript
详解如何使用Node.js编写命令工具——以vue-cli为例
Jun 29 Javascript
浅谈Vuejs中nextTick()异步更新队列源码解析
Dec 31 Javascript
傻瓜式解读koa中间件处理模块koa-compose的使用
Oct 30 Javascript
vue-router 前端路由之路由传值的方式详解
Apr 30 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
Jun 07 Javascript
微信小程序实现分页加载效果
Nov 19 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之foreach标签使用概述
2014/06/30 PHP
CI操作cookie的方法分析(基于helper类库)
2016/03/28 PHP
用jscript实现列出安装的软件列表
2007/06/18 Javascript
javascript实现的基于金山词霸网络翻译的代码
2010/01/15 Javascript
jquery增加时编辑jqGrid(实例代码)
2013/11/08 Javascript
javascript中不等于的代码是什么怎么写
2013/12/29 Javascript
JQuery实现网页右侧随动广告特效
2016/01/17 Javascript
js判断上传文件后缀名是否合法
2016/01/28 Javascript
详细讲解JavaScript中的this绑定
2016/10/10 Javascript
jQuery延迟执行的实现方法
2016/12/21 Javascript
jQuery实现页面滚动时智能浮动定位
2017/01/08 Javascript
浅析javaScript中的浅拷贝和深拷贝
2017/02/15 Javascript
vue.js选中动态绑定的radio的指定项
2017/06/02 Javascript
微信小程序自定义组件的实现方法及自定义组件与页面间的数据传递问题
2018/10/09 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
微信小程序实现页面跳转传递参数(实体,对象)
2019/08/12 Javascript
Python中请使用isinstance()判断变量类型
2014/08/25 Python
Python分析学校四六级过关情况
2017/11/22 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
python实现快递价格查询系统
2020/03/03 Python
200行python代码实现贪吃蛇游戏
2020/04/24 Python
Tensorflow中批量读取数据的案列分析及TFRecord文件的打包与读取
2020/06/30 Python
python实现企业微信定时发送文本消息的实例代码
2020/11/25 Python
详解Python调用系统命令的六种方法
2021/01/28 Python
HTML5拖拽文件到浏览器并实现文件上传下载功能代码
2013/06/06 HTML / CSS
int和Integer有什么区别
2013/05/25 面试题
感恩节红领巾广播稿
2014/02/11 职场文书
机关保密承诺书
2014/06/03 职场文书
装修施工安全责任书
2014/07/24 职场文书
小学师德师风整改措施
2014/10/27 职场文书
2014年电厂个人工作总结
2014/11/27 职场文书
商务宴会祝酒词
2015/08/11 职场文书
2016大一新生军训感言
2015/12/08 职场文书
MySQL删除和插入数据很慢的问题解决
2021/06/03 MySQL
python前后端自定义分页器
2022/04/13 Python
Win11如何默认打开软件界面最大化?Win11默认打开软件界面最大化的方法
2022/07/15 数码科技