js判断浏览器的内核和是否支持某些CSS3属性
来源:互联网 发布:淮南大数据小镇规划 编辑:程序博客网 时间:2024/06/06 07:48
一、判断浏览器内核
在前端开发过程中,有时我们需要判断浏览器的内核前缀,对不同的浏览器做出不同的处理,因此我们可以这么做。
alert(element.style.webkitTransition); 这个是获取以webkit为前缀的transition值。但如果不是webkit为前缀的浏览器,则会返回undefined。而我们可以将所有的内核前缀给枚举出来,然后获取其某个CSS的值,即可做出判断。代码如下:
function getVendorPrefix() { // 使用body是为了避免在还需要传入元素 var body = document.body || document.documentElement, style = body.style, vendor = ['webkit', 'khtml', 'moz', 'ms', 'o'], i = 0;console.log(style); while (i < vendor.length) { // 此处进行判断是否有对应的内核前缀 if (typeof style[vendor[i] + 'Transition'] === 'string') { return vendor[i]; } i++; } } console.log(getVendorPrefix());
二、JS判断浏览器是否支持某一个CSS3属性的方法
1、引子
css3的出现让浏览器的表现更加的丰富多彩,表现冲击最大的就是动画了,在日常书写动画的时候,很有必要去事先判断浏览器是否支持,尤其是在写CSS3动画库的时候。比如transition的animation-play-state,就只有部分浏览器支持。
2、检测方法
下面的方法可以使用脚本判断浏览器是否支持某一个CSS3属性:
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'));
作者:datura_lj
链接:http://www.jianshu.com/p/38b71721c0a8
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
阅读全文
0 0
- js判断浏览器的内核和是否支持某些CSS3属性
- js判断浏览器的内核和是否支持某些CSS3属性
- JS判断浏览器是否支持某一个CSS3属性的方法
- JS学习41:判断浏览器是否支持某一个CSS3属性
- javascript检测浏览器是否支持某些方法及属性
- 判断浏览器是否支持CSS3 已经初步探索JS 惰性加载
- 如何判断浏览器是否支持placeholder属性
- 判断浏览器是否支持某个CSS属性
- 判断浏览器是否支持某css属性
- js检测浏览器是否支持css的属性
- JS判断浏览器是否支持HTML5
- JS判断浏览器是否支持SVG
- js 判断浏览器是否支持html5
- js判断浏览器是否支持HTML5
- js判断浏览器是否支持H5
- 检测浏览器是否支持CSS3的方法
- 判断访问者的浏览器是否支持JavaScript和Cookies
- 判断访问者的浏览器是否支持JavaScript和Cookies
- Atitit 理财之道 信用卡账单管理之道 attilax总结 1. 信用卡账单管理 信用卡账单信息的目的,解决一下问题2 1.1. 账单记录明细可追溯,原则上保留五十年 可按照时间 银行 卡
- java标准类库
- H.265与H.264的差异详解
- openlayers3 切换底图控件
- Spring MVC设计模式
- js判断浏览器的内核和是否支持某些CSS3属性
- shell脚本中数组用法总结及脚本实现冒泡排序
- day03-----普林斯顿微积分-----mysql
- android多线程之三:终止线程池的方法
- Domain Adaptation总结(2017.9)
- 33.List的一阶函数操作代码实战详解
- JS中判断字符串中出现次数最多的字符及出现的次数
- caffe 训练log可视化
- Spring--事务管理