У меня есть страница 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 + '">'
Тогда здесь цвет отличается:
var pieData = [
{
value: intUsed,
color: strColor
},
Как ни странно, IE10 работает на 100%.
В документе MDN для <font>
вас есть следующие проблемы:
<font>
был устаревшим в HTML 4.01 и устарел в HTML 5 (хотя браузеры сохраняют различные формы поддержки для него). Но есть причина ZERO написать новый код, который его использует.<font color=xxx>
. Я бы посоветовал вам вместо этого использовать style.color
.
Кроме того, имейте в виду, что когда у вас есть такая структура данных, как это:
var pieData = [
{
value: intUsed,
color: strColor
}
Это strColor
к захвату текущего значения strColor
строковой переменной strColor
. Если впоследствии вы измените значение strColor
, ваша структура данных pieData будет по-прежнему иметь старое значение strColor
.
rgb()
сstyle.color
.