Как изменить цвет фона с помощью JavaScript?

Я не могу комментировать, поэтому поместим это как отдельный ответ. Я нашел несколько проблем с принятым однострочным ответом:

  • В однострочный файл входит ключевая фраза в ключе.
  • В однострочном пространстве используется SHA1, который во многих браузеры вызывают предупреждения в консоли.

Вот упрощенная версия, которая удаляет кодовую фразу, повышает безопасность для подавления предупреждений и включает предложение в комментарии для передачи в -subj для удаления полного списка вопросов:

openssl genrsa -out server.key 2048
openssl rsa -in server.key -out server.key
openssl req -sha256 -new -key server.key -out server.csr -subj '/CN=localhost'
openssl x509 -req -sha256 -days 365 -in server.csr -signkey server.key -out server.crt

Заменить «localhost» на любой домен, который вам нужен. Вам нужно будет выполнить первые две команды один за другим, так как openssl предложит кодовую фразу.

Чтобы объединить два файла в файл .pem:

cat server.crt server.key > cert.pem
130
задан kevinji 16 January 2014 в 18:44
поделиться

6 ответов

Измените свойство document.body.style.background.

JavaScript, Например:

function changeBackground(color) {
   document.body.style.background = color;
}

window.addEventListener("load",function() { changeBackground('red') });

Примечание: это действительно зависит немного от того, как Ваша страница соединена, например, при использовании контейнера DIV с другим цветом фона, необходимо будет изменить цвет фона этого вместо тела документа.

180
ответ дан Mister Jojo 16 January 2014 в 18:44
поделиться

Я действительно не классифицировал бы это как "Ajax". Так или иначе что-то как следующее должно добиться цели:

document.body.style.backgroundColor = 'pink';
3
ответ дан Duncan Smart 16 January 2014 в 18:44
поделиться

Я соглашаюсь с предыдущим плакатом, что изменение цвета className является более симпатичным подходом. Мой аргумент однако - то, что className может рассматриваться как определение, "почему Вы хотите, чтобы фон был этим или что цвет".

, Например, делая это красный не просто, потому что Вы хотите это красный, но и потому что Вы хотели бы сообщить пользователям ошибки. По сути, установка имени класса AnErrorHasOccured на теле была бы моей предпочтительной реализацией.

В css

body.AnErrorHasOccured
{
  background: #f00;
}

В JavaScript:

document.body.className = "AnErrorHasOccured";

Это оставляет Вас опциями моделирования большего количества элементов согласно этому className. И как таковой, установкой a className Вы отчасти даете странице определенное состояние.

18
ответ дан Nathan Arthur 16 January 2014 в 18:44
поделиться

Вам не нужен Ajax для этого, просто некоторая плоскость сценарий Java, устанавливающий свойство цвета фона элемента тела, как это:

document.body.style.backgroundColor = "#AA0000";

, Если Вы хотите сделать это, как будто это инициировалось сервером, необходимо будет опросить сервер и затем изменить цвет соответственно.

48
ответ дан Simon Lehmann 16 January 2014 в 18:44
поделиться
  • 1
    window.open делает то, что target="_blank" делает - это открывает URL в новом окне. – ceejayoz 15 October 2009 в 18:13

Я предпочел бы видеть использование класса CSS здесь. Это старается не иметь трудно для чтения цветов / шестнадцатеричные коды в JavaScript.

document.body.className = className;
2
ответ дан Zakaria Acharki 16 January 2014 в 18:44
поделиться

Ajax получает данные из сервера с помощью JavaScript и XML асинхронным способом. Если Вы не хотите загрузить цветовой код с сервера, это не то, к чему Вы действительно стремитесь!

, Но иначе можно установить фон CSS с JavaScript. При использовании платформы как jQuery это будет что-то вроде этого:

$('body').css('background', '#ccc');

Иначе, это должно работать:

document.body.style.background = "#ccc";
9
ответ дан Oli 16 January 2014 в 18:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: