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实现的仿sohu博客更换页面风格(简单版)
Mar 22 Javascript
Prototype 学习 Prototype对象
Jul 12 Javascript
javascript 计算两个整数的百分比值
Dec 26 Javascript
Javascript Math ceil()、floor()、round()三个函数的区别
Mar 09 Javascript
JQuery自定义事件的应用 JQuery最佳实践
Aug 01 Javascript
javascript scrollTop正解使用方法
Nov 14 Javascript
jQuery DOM操作实例
Mar 05 Javascript
checkbox勾选判断代码分析
Jun 11 Javascript
实现无刷新联动例子汇总
May 20 Javascript
onmouseover事件和onmouseout事件全面理解
Aug 15 Javascript
vue全局使用axios的操作
Sep 08 Javascript
Nuxt 项目性能优化调研分析
Nov 07 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/03 咖啡文化
编写PHP程序检查字符串中的中文字符个数的实例分享
2016/03/17 PHP
根据key删除数组中指定的元素实现方法
2017/03/02 PHP
json跟xml的对比分析
2008/06/10 Javascript
[原创]IE view-source 无法查看看源码 JavaScript看网页源码
2009/07/19 Javascript
Chrome Form多次提交表单问题的解决方法
2011/05/09 Javascript
jquery $.ajax相关用法分享
2012/03/16 Javascript
JavaScript如何自定义trim方法
2015/07/28 Javascript
跟我学习javascript的隐式强制转换
2015/11/16 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
Vue + Webpack + Vue-loader学习教程之相关配置篇
2017/03/14 Javascript
简单了解node npm cnpm的具体使用方法
2019/02/27 Javascript
JSX在render函数中的应用详解
2019/09/04 Javascript
python检查指定文件是否存在的方法
2015/07/06 Python
详解python中xlrd包的安装与处理Excel表格
2016/12/16 Python
Python内置模块turtle绘图详解
2017/12/09 Python
Python设计模式之命令模式简单示例
2018/01/10 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
PyQt5实现五子棋游戏(人机对弈)
2020/03/24 Python
python的内存管理和垃圾回收机制详解
2019/05/18 Python
python飞机大战pygame游戏框架搭建操作详解
2019/12/17 Python
使用PyTorch实现MNIST手写体识别代码
2020/01/18 Python
Pytorch .pth权重文件的使用解析
2020/02/14 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
Python list和str互转的实现示例
2020/11/16 Python
Python制作运行进度条的实现效果(代码运行不无聊)
2021/02/24 Python
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
英国标准协会商店:BSI Shop
2019/02/25 全球购物
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
大唐电信科技股份有限公司java工程师面试经历
2016/12/09 面试题
《庐山的云雾》教学反思
2014/04/22 职场文书
2016企业先进集体事迹材料
2016/02/25 职场文书
创业者如何撰写出一份打动投资人的商业计划书?
2019/07/02 职场文书
MySQL系列之三 基础篇
2021/07/02 MySQL
SQL Server数据库基本概念、组成、常用对象与约束
2022/03/20 SQL Server