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.