При переключении документа в режим редактирования document.designMode становятся доступны всякие клевые плюшки. В том числе можно поискать и выделить каким-либо образом определенный текст; так я реализовал подсветку в расширении MuSe.Servant. Удивительно, как этот не самый ветхий режим отрабатывает при выделении текста цветом.
Код подсветки:
var txt2find = "Яндекс"; // текст для поиска
window.getSelection().removeAllRanges();
var sel = window.getSelection();
sel.collapse(document.body, 0);
document.designMode = "on";
while (window.find(txt2find)) {
document.execCommand("hiliteColor", false, "yellow"); // цвет фона
document.execCommand("foreColor", false, "black") // цвет текста
sel.collapseToEnd();
}
document.designMode = "off";
Цвет текста устанавливается при помощи давно запрещенного тега <font>.