ASP中的JavaScript在IE中的表现与FireFox不同

ASP中的JavaScript在IE中的表现与FireFox不同,javascript,jquery,asp.net,css,firefox,Javascript,Jquery,Asp.net,Css,Firefox,我有一个ASP页面,其中JavaScript在IE10中的行为(正确)与在FireFox(最新版本)中的行为不同 我有一个随机颜色生成器,如下所示: // Function to generate random colours function rgbcolors() { // rgb string generation var col = "rgb(" + Math.floor(Math.random() * 255) + "," + Math.floor(Math.rando

我有一个ASP页面,其中JavaScript在IE10中的行为(正确)与在FireFox(最新版本)中的行为不同

我有一个随机颜色生成器,如下所示:

// Function to generate random colours
function rgbcolors() {
  // rgb string generation
  var col = "rgb("
  + Math.floor(Math.random() * 255) + ","
  + Math.floor(Math.random() * 255) + ","
  + Math.floor(Math.random() * 255) + ")";
  //change the text color with the new random color
  return col;
}
然后我使用一个变量来存储随机颜色:

var strColor = rgbcolors();
现在,当我在FireFox中使用该颜色变量时,它似乎会重新生成随机颜色,而不是存储在该变量中的颜色:

strHTML += '<td align="center"><font color="' + strColor + '">'
奇怪的是,IE10 100%正常工作。

对于
标签,您有以下问题:

  • 在HTML4.01中被弃用,在HTML5中被淘汰(尽管浏览器将保留对它的各种形式的支持)。但是,没有理由编写使用它的新代码
  • 颜色属性采用命名颜色或#RRGGBB格式的颜色。rgb(x,y,z)格式未提及为
    属性所支持
  • 我建议你开始使用
    style.color
    来代替


    另外,请记住,当您有这样的数据结构时:

    var pieData = [
      {
        value: intUsed,
        color: strColor
      }
    

    这将捕获
    strColor
    字符串变量的当前值。如果随后更改
    strColor
    的值,您的pieData数据结构中仍将保留原来的
    strColor
    值。

    感谢您的反馈。我将尝试使用style='color:。。。属性,并研究如何为JavaScript将十进制转换为十六进制。实际上我对JavaScript知之甚少。@user3017424-您可以将
    rgb()
    格式与
    style.color
    一起使用。我使用了#000000格式,现在它在IE和FireFox中都可以使用。我找到了一个小函数来转换为十六进制。我对VBScript相当在行,但JavaScript完全是另一个怪兽。
    var pieData = [
      {
        value: intUsed,
        color: strColor
      }