Получение системного цвета из CSS с использованием jQuery в IE

У меня есть правило CSS, определяющее цвет фона в качестве цвета оконной системы:

background-color: window;

Когда я пытаюсь получить цвет фона с помощью метода jQuery css: $(selector).css("background-color");, Он хорошо работает в Google Chrome, он возвращает правильный цвет, хотя и не как системный цвет, но переведенный в rgb(255,255,255). В IE9 он возвращает rgb(-1,-1,-1)... что, конечно, при применении отображает черный цвет, а не белый.

1 ответ

Решение

Возможно, это не тот "ответ", который вы ищете, а пара замечаний:

Относительно того, "почему это происходит", см. http://msdn.microsoft.com/en-us/library/ie/aa358804(v=vs.85).aspx частности:

Однако, в отличие от других именованных цветов, определенные пользователем системные цвета не имеют числового эквивалента RGB, поскольку точный цвет неизвестен до тех пор, пока веб-страница не будет просмотрена в системе пользователя.

также обратите внимание:

Названия системных цветов не рекомендуется использовать в рекомендации каскадных таблиц стилей уровня 3 (CSS3).

Если абсолютно необходимо, чтобы вы могли определить цветовой код RGB системного цвета пользователя для окна в IE, то вы можете прибегнуть к https://developers.google.com/chrome/chrome-frame/ чтобы соединить разрыв

Другие вопросы по тегам