Recuperar e modificar o conteúdo de um XMLHttpRequest

Estou trabalhando em um plug-in de navegador para Firefox, Safari, Chrome que interceptará dados na página, executará em uma regex e, se corresponder - reformate-a. Eu tenho isso trabalhando no carregamento da página usando:

var meth = {
  replaceInElement : function(element, find, replace) {
        // iterate over child nodes and replace
  },
  run : function(evt){
    // doc is the document that triggered "run" event
    if (!(evt.target.nodeName === "#document")) { return; }
    var doc = evt.target; // document that triggered "onload" event
    if (!(doc instanceof HTMLDocument)) { return; }
    if (!doc.location) { return; }

    // perform substitutions on the loaded document
    var find = /regex/gi

    meth.replaceInElement(doc.body, find, function(match) {
        var new_content;
        //do stuff
        return new_content;
    });

    //content.document.addEventListener('DOMNodeInserted', ezcall.node_inserted, false);
  }
}

window.addEventListener("load", meth.run, false);

Isso está funcionando para páginas estáticas, mas para qualquer coisa que use chamadas ajax, ele falha. Não consigo encontrar o ouvinte certo ou descobrir como interceptar o XMLHttpRequest.

Tentei ouvintes de eventos semelhantes para XMLHttpRequest sem sorte.

XMLHttpRequest.addEventListener('load', meth.run, false);

Gostaria de interceptar a solicitação e modificar o conteúdo. Ou encontre o destino que foi atualizado e verifique-o depois que a chamada ajax for concluíd

ATUALIZAR

Eu aceito uma resposta que diz que não pode ser feito, mas precisarei de alguns dados de suporte sobre o motivo pelo qual não pode ser feit

questionAnswers(3)

yourAnswerToTheQuestion