今天,我非常偶然地发现,在IE6、IE7和IE8中,可以使用jQuery的.css()方法读取不受支持的CSS属性:
jQuery(node).css('transition'); // Returns the transition value 这允许我在我的CSS3插件jquery.transitions ( jQuery plugin jquery.transitions,github.com/stephband/jquery.transitions)中为这些浏览器添加CSS3转换的动画回退。Joy。
问题是:是否可以在其他浏览器中读取不受支持的CSS属性?我在FF3.6和IE9中使用上述方法进行的初始测试都是徒劳的。除了解析样式表之外,还有其他方法吗?
发布于 2011-05-19 08:53:44
对于IE9:
经过一些测试,我有了进一步的发现。
尽管'transition‘在IE9中不是一个受支持的属性,但与其他浏览器不同的是,它确实会在document.stylesheetsn.cssRulesn.cssText中显示,并最终显示为getComputedStyle(节点).transition。这意味着阅读它很容易。双打,joy!
有趣的是,所有带前缀的规则也会显示出来,所以您可以在JavaScript中读取带有moz和webkit前缀的规则。
对于FF3.6 / WebKit
对于FF3.6或更低版本,或者WebKit,没有这样的技巧,尽管我并不太担心。我估计FF4的普及速度会很快。
发布于 2011-05-19 04:49:14
我不确定这种技术在大多数浏览器中是否能很好地工作--正如@BoltClock所说,这不是浏览器应该做的事情,所以看起来你只是幸运地使用了IE。
如果我想提供像这样的功能回退,我会使用Modernizr来检测哪些功能丢失了。
https://stackoverflow.com/questions/6050676
复制相似问题