首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何读取浏览器不支持的CSS属性?

如何读取浏览器不支持的CSS属性?
EN

Stack Overflow用户
提问于 2011-05-19 04:31:43
回答 4查看 1.9K关注 0票数 19

今天,我非常偶然地发现,在IE6、IE7和IE8中,可以使用jQuery的.css()方法读取不受支持的CSS属性:

代码语言:javascript
复制
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中使用上述方法进行的初始测试都是徒劳的。除了解析样式表之外,还有其他方法吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 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的普及速度会很快。

票数 4
EN

Stack Overflow用户

发布于 2011-05-19 04:49:14

我不确定这种技术在大多数浏览器中是否能很好地工作--正如@BoltClock所说,这不是浏览器应该做的事情,所以看起来你只是幸运地使用了IE。

如果我想提供像这样的功能回退,我会使用Modernizr来检测哪些功能丢失了。

票数 5
EN

Stack Overflow用户

发布于 2011-05-20 02:59:50

2000年左右的DOM Level 2 Style规范提供了以编程方式访问用户代理不理解的规则。我在旧规范上写了一个answer,其中一个注释引用了使用Mozilla提交的bug来实现它。

但是,没有一家浏览器供应商实现了此功能。因此,在最新的规范中,w3完全删除了这一特性。您可以在规范中找到请求重新实现此功能的discussion thread,但那是在2009年,现在是2011年,w3似乎对重新添加它不感兴趣。

因此,从技术上讲,IE一直符合该规范,直到出现了一个新规范:)

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6050676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档