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 相关文章推荐
jQuery 渐变下拉菜单
Dec 15 Javascript
javascript学习笔记(十一) 正则表达式介绍
Jun 20 Javascript
基于jquery实现全屏滚动效果
Nov 26 Javascript
AngularJS directive返回对象属性详解
Mar 28 Javascript
js中用cssText设置css样式的简单方法
Sep 19 Javascript
JS封装通过className获取元素的函数示例
Dec 20 Javascript
5种JavaScript脚本加载的方式
Jan 16 Javascript
JavaScript中的工厂函数(推荐)
Mar 08 Javascript
关于angular js_$watch监控属性和对象详解
Apr 24 Javascript
ES6入门教程之变量的解构赋值详解
Apr 13 Javascript
如何实现iframe父子传参通信
Feb 05 Javascript
基于react项目打包css引用路径错误解决方案
Oct 28 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 字符串 小常识
2009/06/05 PHP
php中使用getimagesize获取图片、flash等文件的尺寸信息实例
2014/04/29 PHP
php操作csv文件代码实例汇总
2014/09/22 PHP
php数组转成json格式的方法
2015/03/09 PHP
Ajax+Jpgraph实现的动态折线图功能示例
2019/02/11 PHP
PHP7移除的扩展和SAPI
2021/03/09 PHP
jQuery 浮动广告实现代码
2008/12/25 Javascript
js 浮动层菜单收藏
2009/01/16 Javascript
关于jQuery参考实例2.0 用jQuery选择元素
2013/04/07 Javascript
Js 导出table内容到Excel的简单实例
2013/11/19 Javascript
使用JQuery快速实现Tab的AJAX动态载入(实例讲解)
2013/12/11 Javascript
父页面显示遮罩层弹出半透明状态的dialog
2014/03/04 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
利用JavaScript脚本实现滚屏效果的方法
2015/07/07 Javascript
jQuery实现径向动画菜单效果
2015/07/17 Javascript
javascript中的3种继承实现方法
2016/01/27 Javascript
js解决movebox移动问题
2016/03/29 Javascript
Nuxt.js之自动路由原理的实现方法
2018/11/21 Javascript
JS轮播图的实现方法
2020/08/24 Javascript
[01:04:31]DOTA2-DPC中国联赛定级赛 iG vs Magma BO3第二场 1月8日
2021/03/11 DOTA
Python实现的插入排序算法原理与用法实例分析
2017/11/22 Python
python3.6使用pickle序列化class的方法
2018/10/22 Python
python接口自动化(十七)--Json 数据处理---一次爬坑记(详解)
2019/04/18 Python
Django使用中间件解决前后端同源策略问题
2019/09/02 Python
Python上下文管理器用法及实例解析
2019/11/11 Python
python 操作hive pyhs2方式
2019/12/21 Python
python3获取文件中url内容并下载代码实例
2019/12/27 Python
给Python学习者的文件读写指南(含基础与进阶)
2020/01/29 Python
Django 项目布局方法(值得推荐)
2020/03/22 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
html5+css3气泡组件的实现
2014/11/21 HTML / CSS
婚假请假条怎么写
2014/04/10 职场文书
个人授权委托书范文
2014/09/21 职场文书
司机个人年终总结
2015/03/03 职场文书
2016年中秋祝酒词
2015/11/26 职场文书
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
2022/04/29 Servers