Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
- Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
- Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
- Opera: Нажмите Ctrl+F5.
// Словарь слов и их цветов
var wordColors = {
"Клише": "#FF0000", // красный
"властью": "#00FF00", // зелёный
"ответственность": "#0000FF", // синий
"Стандартные Рабочие Процедуры": "#FFA500", // оранжевый
"ядреный диск": "#800080", // фиолетовый
"станции": "#008080", // бирюзовый
"ГСБ": "#FFC0CB", // розовый
"диск": "#A52A2A", // коричневый
"СРП/КЗ": "#FFFF00", // жёлтый
"банановая кожурка": "#00FFFF" // голубой
};
function colorWords() {
// Получаем все текстовые узлы в body
function walk(node) {
var child, next;
switch (node.nodeType) {
case 1: // Element
case 9: // Document
case 11: // Document fragment
child = node.firstChild;
while (child) {
next = child.nextSibling;
walk(child);
child = next;
}
break;
case 3: // Text node
replaceText(node);
break;
}
}
function replaceText(textNode) {
var parent = textNode.parentNode;
var text = textNode.nodeValue;
Object.keys(wordColors).forEach(function(word) {
// Экранируем специальные символы для регулярки
var escapedWord = word.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
var regex = new RegExp(escapedWord, 'g');
if (regex.test(text)) {
var span = document.createElement('span');
span.innerHTML = text.replace(regex, function(match) {
return '<span style="color:' + wordColors[word] + '">' + match + '</span>';
});
parent.replaceChild(span, textNode);
}
});
}
walk(document.body);
}
// Запускаем после полной загрузки страницы
window.addEventListener('load', colorWords);