2013-11-28 38 views
0

我有一個ASP頁面,其中JavaScript在IE10(正確)中的行爲與FireFox(最新版本)中的行爲不同。在ASP中的JavaScript與Firefox的行爲在IE中的行爲不同

我有一個隨機顏色生成如下:

// 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 + '">' 

然後這裏的顏色是不同的:

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

奇怪的IE10工作100%,因爲它應該。

回答

2

MDN doc<font>標籤,你有這些問題:

  1. <font>被廢棄在HTML 4.01和HTML 5已過時(儘管瀏覽器將保留各種形式的支持的話)。但是,有零的理由來編寫使用它的新代碼。
  2. color屬性採用指定顏色或#RRGGBB格式。 rgb(x,y,z)格式未被提及爲<font color=xxx>屬性支持。

我建議你開始使用style.color來代替。


另外,請記住,當你有一個數據結構是這樣的:

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

這將捕捉strColor字符串變量當時的值。如果您隨後更改了strColor的值,那麼您的pieData數據結構仍舊具有舊值strColor

+0

感謝您的反饋意見。我會嘗試使用style ='color:...屬性來研究如何將JavaScript的十進制轉換爲十六進制。我其實對JavaScript很少了解。 – user3017424

+0

@ user3017424 - 你可以用'style.color'使用'rgb()'格式。 – jfriend00

+0

優秀,優秀,優秀。謝謝。 – user3017424

相關問題