Я работаю над плагином для браузера Firefox, Safari, Chrome, который будет перехватывать данные на странице, запускать их с регулярным выражением, а затем, если он совпадет, переформатировать.У меня это работает при загрузке страницы, используя:
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);
Это работает для статических страниц, но для любого, использующего вызовы ajax, это не удается.Я не могу найти правильного слушателя или выяснить, как перехватить XMLHttpRequest.
Я пробовал подобные прослушиватели событий для XMLHttpRequest без удачи.
XMLHttpRequest.addEventListener('load', meth.run, false);
Я хотел бы либо перехватить запроси измените содержание.Или найдите цель, которая была обновлена, и отсканируйте ее после завершения вызова ajax.
ОБНОВЛЕНИЕ:
Я приму ответ, который говорит, что это невозможно, но мне понадобятся некоторые вспомогательные данныепочему это не может быть сделано.