跨浏览器确定数字格式的背景颜色或颜色

时间:2012-12-04 17:02:09

标签: javascript jquery

我对类似的问题做了很多回答。我只想澄清我是否理解正确。我的目的是做一些颜色计算。

我一直在火狐中工作:

var bkg_Colour = $("#test_Box_1").css("background-color");  // is red
var fgd_Colour = $("#test_Box_2").css("background-color");  // is blue

分别返回rgb(255,0,0)和rgb(0,0,255)。

哪个好,我通过拆分元组并比较它们来适当地计算前景和背景之间的距离。

BUT:

在Internet Explorer中,此相同的代码返回“红色”和“蓝色”,当然计算失败。

从以前的答案中可以看出,如果使用$(...)。css,则无法以数字格式返回颜色(无论是背景颜色还是颜色)。似乎所有类型的篮球都必须跳过来覆盖所有的基础。

有没有一种方法可以不使用$(...)。css?

修改

当我在我的脚本中应用here给出的示例代码并且在FF中运行它时,我只需要执行此操作,当我在IE中运行时,我得到rgb(255,0,0)我看到“红色”这个词“ 结果。的 BUT 当我在IE中运行上面的链接结果是rgb(xxx,xx,xx)时我很困惑。是否有服务器设置或某些因素导致IE在我正在服务的页面上以这种方式运行?

修改

据我所知,目前在IE中它会报告css中指定的颜色,即“绿色”,“蓝色”,“红色”或#808080等。而在ff中,它总是将其报告为rgb值。

1 个答案:

答案 0 :(得分:0)

我认为你将不得不诉诸一个颜色名称字典。这类似于这个问题:Javascript function to convert color names to hex codes至少在概念上。