Recuperar y modificar contenido de una XMLHttpRequest

Estoy trabajando en un complemento de navegador para Firefox, Safari, Chrome que interceptará los datos en la página, los ejecutará contra una expresión regular y luego, si coincide, vuelva a formatearla. Tengo esto trabajando en la carga de la 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);

Esto funciona para páginas estáticas, pero para cualquier cosa que use llamadas ajax, falla. No puedo encontrar el oyente adecuado o descubrir cómo interceptar XMLHttpRequest.

He probado con escuchas de eventos similares para XMLHttpRequest sin suerte.

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

Me gustaría interceptar la solicitud y modificar el contenido. O busque el objetivo que se actualizó y escanee después de que finalice la llamada ajax.

ACTUALIZAR

Aceptaré una respuesta que diga que no se puede hacer, pero necesitaré algunos datos de respaldo de por qué no se puede hacer.

Respuestas a la pregunta(3)

Su respuesta a la pregunta