2012-01-11 109 views
3

在JavaScript中是否有通用方式来检查当前浏览器是否支持css属性?Css属性支持检测

我目前使用“document.compatMode”来检查它是否有怪癖。但是,必须有一种方法来检查特定的财产。

+0

[检查浏览器css属性支持]的可能的重复(http://stackoverflow.com/questions/1342994/check-browser-css-property-support) – kiamlaluno 2013-06-21 16:51:48

回答

10

你可以做到这一点,例如:

typeof document.body.style.borderRadius 

在支持的浏览器,它应该返回字符串 ''。在不支持的情况下,它将是'未定义的'

+0

谢谢,它的工作原理。反正你知道一种找到伪类的方法也被支持吗?我的意思是':悬停',':主动'。 – emphaticsunshine 2012-01-11 19:06:01

-3

No.

没有。

+0

对于问题永远不会有“否”。 – emphaticsunshine 2013-06-21 21:20:01

1

为此目的有一个新的DOM API CSS.supports。 FF,Opera(as supportsCSS)和Chrome Canary已经实现了这种方法。

对于跨浏览器兼容,你可以用我的CSS.supports polyfill

例子:

CSS.supports("display", "table");//IE<8 return false

但是,你仍然需要指定浏览器前缀前缀CSS属性。例如:

CSS.supports("-webkit-filter", "blur(10px)");

我建议使用Modernizr进行功能检测。

+0

谢谢您的建议。我对Modernizr很熟悉,但不希望包含1个单独检测的js库。 – emphaticsunshine 2013-06-21 21:19:14