Destaque uma palavra de texto na página usando .replace ()

Estou desenvolvendo uma extensão do Google Chrome que permite aplicar automaticamente uma regra CSS de destaque a uma palavra que você escolher.

eu tenho o seguinte código

var elements = document.getElementsByTagName('*');

for (var i=0; i<elements.length; i++) {
    var element = elements[i];

    for (var j=0; j<element.childNodes.length; j++) {
        var node = element.childNodes[j];

        if(node.nodeType === 3) {
            var text = node.nodeValue;

            var fetchedText = text.match(/teste/gi);

            if(fetchedText) {
                var replacedText = element.innerHTML.replace(/(teste)/gi, "<span style=\"background-color: yellow\">$1</span>");

                if (replacedText !== text) {
                    element.innerHTML = replacedText;
                }
            }
        }
    }
}

O que interrompe e congela minha guia Chrome. No entanto, se eu mudar deelement.innerHTML = replacedText; paraelement.innerHTML = "text"; isso funciona.

Não consigo encontrar o que há de errado com o código a seguir.

questionAnswers(2)

yourAnswerToTheQuestion