2012-10-03 26 views
1

不工作,我有一些YUI2代码(v2.8.1),看起来像这样:YUI2不透明的setStyle在IE10

YAHOO.util.Dom.setStyle('foo', 'opacity', 0.5); 

和:

var t = new YAHOO.util.Anim(this._splashSlide.shutter, {opacity: {from: 1.0, to: 0}}, 1, YAHOO.util.Easing.easeBoth); 

它一直在努力罚款若干年,它会自动决定是否可以使用style.opacity或者(对于IE)它是否必须使用IE style.filter来实现不透明度。出于各种原因,将此代码移植到YUI 3是不值得的。

随着IE 10,它(在标准模式下)不再具有style.filter属性,只支持标准style.opacity属性。这很好,但我遇到的YUI2版本不知道IE 10,而且显然仍在使用不再适用的style.filter属性。

所以,我的问题是是否有更新YUI2 IE10兼容,并使用opacity属性的IE版本,其中该属性存在?

如果只是一个简单的样式设置,我可以解决它,但我有一些YUI动画,我找不到一个简单的方法来解决这些问题(我也不想花时间做所以)。

雅虎是否已经为YUI2修复了这个问题?任何人都知道解决方法,特别是对于内部调用YD.setStyle()的动画函数?

+0

YUI 2自2009年以来一直处于维护模式(当YUI 3发布时),所以它不会看到任何支持IE10的新开发。 –

回答

0

我想我找到了自己的问题的答案。 YUI2 v2.9.0将其setStyle()功能更改为使用功能检测功能,以便在支持该功能的浏览器上正确使用style.opacity,并且在不支持style.opacity时仅使用IE的style.filter

如果有人想要一个海报孩子为什么浏览器检测不好并且功能检测很好,这就是一个很好的例子。由于YUI2最初使用浏览器检测,现在它在IE10上被破坏。如果他们首先使用了功能检测,则旧版本的YUI2可以在IE10上工作而不需要更新。

现在,看看我的代码运行的网站是否可以升级到YUI v2.9.0。如果没有,我将不得不编写一个混乱的解决方法。