我有一些YUI2代码(v2.8.1),如下所示:
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
来实现不透明度。由于各种原因,不值得将此代码移植到YUI3。
沿着IE 10,它(在标准模式下)不再具有style.filter
属性,只支持标准style.opacity
属性。这一切都很好,但我运行的YUI2版本并不知道IE 10,显然仍然使用不再有效的style.filter
属性。
所以,我的问题是YUI2是否有与IE10兼容的更新,并且对于存在该属性的IE版本使用opacity
属性?
如果它只是一个简单的样式设置,我可以解决它,但我有一些YUI动画,我找不到一个简单的方法来解决这些问题(我也不想花时间这样做。)
雅虎是否已针对YUI2修复此问题?任何人都知道解决方法,尤其是内部调用YD.setStyle()
的动画功能?
答案 0 :(得分:0)
我想我找到了自己问题的答案。 YUI2 v2.9.0更改了他们的setStyle()
功能以使用功能检测,因此他们现在可以在支持它的浏览器上正确使用style.opacity
,并且仅在不支持style.filter
时使用IE style.opacity
。
如果有人想要一个海报孩子为什么浏览器检测不好并且特征检测很好,这就是一个很好的例子。因为YUI2最初使用浏览器检测,所以它现在在IE10上被破坏了。如果他们首先使用了特征检测,那么旧版本的YUI2可以在IE10上运行而无需更新。
现在,看看我是否可以获得运行我的代码的站点以升级到YUI v2.9.0。如果没有,我将不得不编写一个混乱的解决方法。