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 相关文章推荐
IE和Firefox下javascript的兼容写法小结
Dec 10 Javascript
javascript 一些用法小结
Sep 11 Javascript
javascript动态添加样式(行内式/嵌入式/外链式等规则)
Jun 24 Javascript
js触发select onchange事件的小技巧
Aug 05 Javascript
IE9+已经不对document.createElement向下兼容的解决方法
Sep 14 Javascript
jQuery ajax调用webservice注意事项
Oct 08 jQuery
vue 自定义组件 v-model双向绑定、 父子组件同步通信的多种写法
Nov 27 Javascript
微信小程序实现下载进度条的方法
Dec 08 Javascript
vue.js使用代理和使用Nginx来解决跨域的问题
Feb 03 Javascript
原生js实现form表单序列化的方法
Aug 02 Javascript
浅谈vue-router路由切换 组件重用挖下的坑
Nov 01 Javascript
vue利用全局导航守卫作登录后跳转到未登录前指定页面的实例代码
May 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
Body是什么,该怎么喝出咖啡里的口感
2021/03/03 咖啡文化
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
PHP实现动态获取函数参数的方法示例
2018/04/02 PHP
laravel使用数据库测试注意事项
2020/04/10 PHP
js 图片缩放(按比例)控制代码
2009/05/27 Javascript
js 文件引入实现代码
2010/04/23 Javascript
Js base64 加密解密介绍
2013/10/11 Javascript
两种方法实现在HTML页面加载完毕后运行某个js
2014/06/16 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
jQuery实现仿腾讯视频列表分页效果的方法
2015/08/07 Javascript
基于jquery实现的树形菜单效果代码
2015/09/06 Javascript
Bootstrap3 Grid system原理及应用详解
2016/09/30 Javascript
JavaScript动态数量的文件上传控件
2016/11/18 Javascript
vue.js学习笔记:如何加载本地json文件
2017/01/17 Javascript
PHP 实现一种多文件上传的方法
2017/09/20 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
小程序使用分包的示例代码
2020/03/23 Javascript
Python 性能优化技巧总结
2016/11/01 Python
Python实现OpenCV的安装与使用示例
2018/03/30 Python
Django Aggregation聚合使用方法解析
2019/08/01 Python
Win10下安装并使用tensorflow-gpu1.8.0+python3.6全过程分析(显卡MX250+CUDA9.0+cudnn)
2020/02/17 Python
selenium+python实现基本自动化测试的示例代码
2021/01/27 Python
CSS3 media queries + jQuery实现响应式导航
2016/09/30 HTML / CSS
html5触摸事件判断滑动方向的实现
2018/06/05 HTML / CSS
香港家用健身器材、运动器材及健康美容仪器专门店:FitBoxx
2019/12/05 全球购物
Java中各种基本数据类型的默认值都是什么
2016/12/22 面试题
三八红旗手先进事迹材料
2014/05/13 职场文书
花坛标语大全
2014/06/30 职场文书
小学学习雷锋活动总结
2014/07/03 职场文书
超市店庆活动方案
2014/08/31 职场文书
2014年科室工作总结范文
2014/12/19 职场文书
2014年电教工作总结
2014/12/19 职场文书
事业单位聘任报告
2015/03/02 职场文书
2015年幼儿园个人工作总结
2015/04/25 职场文书
党员干部学法用法心得体会
2016/01/21 职场文书
靠谱准确的求职信
2019/04/02 职场文书