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 相关文章推荐
firefox下对ajax的onreadystatechange的支持情况分析
Dec 14 Javascript
关于this和self的使用说明
Aug 01 Javascript
js删除所有的cookie的代码
Nov 25 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
Aug 06 Javascript
利用JS生成博文目录及CSS定制博客
Feb 10 Javascript
AngularJS directive返回对象属性详解
Mar 28 Javascript
jquery $.trim()去除字符串空格的实现方法【附图例】
Mar 30 Javascript
JavaScript实现刷新不重记的倒计时
Aug 10 Javascript
js前端实现图片懒加载(lazyload)的两种方式
Apr 24 Javascript
AngularJS使用ng-repeat遍历二维数组元素的方法详解
Nov 11 Javascript
vue移动端实现下拉刷新
Apr 22 Javascript
在vscode 中设置 vue模板内容的方法
Sep 02 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 版本]
2007/03/20 PHP
php whois查询API制作方法
2011/06/23 PHP
php 验证码(倾斜,正弦干扰线,黏贴,旋转)
2013/06/29 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
tp5(thinkPHP5框架)使用DB实现批量删除功能示例
2019/05/28 PHP
Thinkphp 在api开发中异常返回依然是html的解决方式
2019/10/16 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
thinkphp框架表单数组实现图片批量上传功能示例
2020/04/04 PHP
容易被忽略的JS脚本特性
2011/09/13 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
Javascript小技巧之生成html元素
2014/05/15 Javascript
谈谈javascript中使用连等赋值操作带来的问题
2015/11/26 Javascript
Node.js的环境安装配置(使用nvm方式)
2016/10/11 Javascript
Node.js中文件操作模块File System的详细介绍
2017/01/05 Javascript
angular.js中解决跨域问题的三种方式
2017/07/12 Javascript
vue项目中使用vue-i18n报错的解决方法
2019/01/13 Javascript
Vue多组件仓库开发与发布详解
2019/02/28 Javascript
Openlayers实现距离面积测量
2020/09/28 Javascript
vue实现禁止浏览器记住密码功能的示例代码
2021/02/03 Vue.js
js基于canvas实现时钟组件
2021/02/07 Javascript
Python中的字典与成员运算符初步探究
2015/10/13 Python
Tornado Web Server框架编写简易Python服务器
2018/07/28 Python
Python 数据可视化pyecharts的使用详解
2019/06/26 Python
在python3中实现更新界面
2020/02/21 Python
HTML5打开手机扫码功能及优缺点
2017/11/27 HTML / CSS
施华洛世奇西班牙官网:SWAROVSKI西班牙
2019/06/06 全球购物
医大实习自我鉴定
2013/12/07 职场文书
大学生蛋糕店创业计划书
2014/01/13 职场文书
同事打架检讨书
2014/02/04 职场文书
土建专业大学生自荐信范文
2014/04/09 职场文书
房屋买卖协议书
2014/04/10 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
数学教师个人工作总结
2015/02/06 职场文书
个人总结与自我评价2015
2015/03/11 职场文书
出国留学英文自荐信
2015/03/25 职场文书
十一月早安语录:把心放轻,人生就是一朵自在的云
2019/11/04 职场文书