IE8在getStyle后台位置崩溃
-
05-07-2019 - |
题
我在Internet Explorer 8中发现了一个奇怪的错误。也许有人可以帮我转移它。
当我尝试获取元素的背景位置时,使用 background-position-x
除了崩溃的IE8 之外,所有版本的Internet Explorer都工作为例外。
当我运行 el.getStyle('background-position')
时,所有浏览器都会给我正确的值,除了从IE(6,7和8)返回 undefined
因此,我为所有IE版本使用 el.getStyle('background-position-x')
。
有人有过类似的问题吗?
解决方案
感谢大家的帮助。这确实是一个错误,仅适用于以下情况。
- css必须加载到外部样式表
- 元素没有内联样式 醇>
修复它的方法,即使是很难处理,也是为元素添加内联样式。让IE8开心,所有其他浏览器都能正常工作。
我没有测试,但根据这个票证,FF2也有同样的行为。
旁注:
@marcgg - 我打算回答你的答案,因为它真的没有帮助(并且必然会开始一场火焰战)但是,所有的事实说,jQuery并没有表现出这个问题。即使你可能已经知道,它也不是一个选择! ;)
@Fabien - IE确实支持 background-position-x
,并且缺乏对W3C批准的构造的 background-position
的支持。
其他提示
为什么不使用可以正常工作的 jquery的css功能?
尝试使用:
el.getStyle('backgroundPositionX')
和
<*>
是的,老线程,但我想发布另一个解决方案,我碰到了@ mootools灯塔......
if (Browser.Engine.trident){
var xy = el.getStyle('background-position-x')+" "+el.getStyle('background-position-y');
} else {
var xy = el.getStyle("backgroundPosition");
}
到目前为止,对我来说效果很好。
不隶属于 StackOverflow