JavaScript в ASP ведет себя по-разному в IE по сравнению с FireFox

0

У меня есть страница 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%.

Теги:
firefox

1 ответ

2
Лучший ответ

В документе MDN для <font> вас есть следующие проблемы:

  1. <font> был устаревшим в HTML 4.01 и устарел в HTML 5 (хотя браузеры сохраняют различные формы поддержки для него). Но есть причина ZERO написать новый код, который его использует.
  2. Атрибут цвета принимает именованный цвет или один в формате #RRGGBB. Формат rgb (x, y, z) не упоминается как поддерживаемый для атрибута <font color=xxx>.

Я бы посоветовал вам вместо этого использовать style.color.


Кроме того, имейте в виду, что когда у вас есть такая структура данных, как это:

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

Это strColor к захвату текущего значения strColor строковой переменной strColor. Если впоследствии вы измените значение strColor, ваша структура данных pieData будет по-прежнему иметь старое значение strColor.

  • 0
    Спасибо за ответ. Вместо этого я попытаюсь использовать атрибут style = 'color: ... и выяснить, как преобразовать десятичное число в шестнадцатеричное для JavaScript. Я на самом деле очень мало знаю о JavaScript.
  • 0
    @ user3017424 - вы можете использовать формат rgb() с style.color .
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню