- 我在 Chrome(Win7,19.0.1084.56)中设置了 rgba() bg-color
- 我使用 window.getComputedStyle() 获取背景颜色,并且它是不同的
- 我在新元素上设置检索值
- 我又找回了,又不一样了
这是一个 fiddle :http://jsfiddle.net/zupa/KsuMp/
在我的例子中,前 4 个 block 在 Chrome 中具有以下内容:
- 背景颜色:rgba(255, 0, 0, 0.503906)
- 背景颜色:rgba(255, 0, 0, 0.5)
- 背景颜色:rgba(255, 0, 0, 0.496094)
- 背景颜色:rgba(255, 0, 0, 0.496094)
在 Firefox 中,我得到常量 rgba(255, 0, 0, 0.506)
所以,这似乎是一个错误。你能证明我错了或建议解决方法吗?我需要所见即所得编辑器的颜色,这会扼杀我的单元测试。
最佳答案
作为变通方法,您可以尝试将原始 RGBA 颜色存储在元素的 data-* 属性中(data-original-background
也许?)并使用 $( ).attr()
从那里获取旧的颜色值。这样,即使 Chrome 会以一种奇怪的方式四舍五入,它至少会始终如一地以相同的方式四舍五入,因为它们都使用相同的基值。
编辑:这是我用这个概念修改的你的 fiddle 之一 http://jsfiddle.net/aJfPn/1/
关于javascript - Chrome getComputedStyle() 返回错误的 RGBA 颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11270170/