7
  1. Chrome で rgba() bg-color を設定しました (Win7、19.0.1084.56)
  2. window.getComputedStyle() で背景色を取得しましたが、それは異なります
  3. 取得した値を新しい要素に設定します
  4. 私は再びそれを取得します、それはまた違う

ここにフィドルがあります:http://jsfiddle.net/zupa/KsuMp/

私の場合、Chrome では最初の 4 つのブロックに次の内容が含まれています。

  • 背景色: 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) を取得します。

したがって、これはバグのようです。私が間違っていることを証明したり、回避策を提案したりできますか? wysiwyg エディターの色が必要ですが、これにより単体テストが強制終了されます。

4

2 に答える 2

0

回避策として、元の RGBA カラーをdata-original-background要素の data-* 属性 (おそらく?) に保存し$().attr()、そこから古いカラー値を取得するために使用することができます。そうすれば、Chrome は奇妙な方法で丸められますが、すべてが同じ基本値を使用するため、少なくとも一貫して同じ方法で丸められます。

編集:これは、私が概念で修正したあなたのフィドルの1つです http://jsfiddle.net/aJfPn/1/

于 2012-07-13T19:18:58.360 に答える
-1

大学では、丸め誤差のために float が等しいかどうかを決してテストしてはならないことを学びました。テストに公差を含めるだけです。

于 2014-04-01T14:46:59.663 に答える