Я не думаю, что вы сможете сделать это в целом. Помните, что вызовы ajax могут быть в любом формате (html, xml, json и т. Д.), А затем инициирующий их javascript может делать с данными все, что захочет, перед тем, как вставить их в документ. Вы не можете реально контролировать это, если вы не делаете это для конкретного случая, когда вы знаете, что искать. Или чисто грубой силой, где вы отслеживаете содержимое страницы и проверяете, что что-то изменилось на регулярной основе.
отаю над плагином для браузера 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.
ОБНОВИТЬ:
Я приму ответ, в котором говорится, что это невозможно, но мне понадобятся некоторые подтверждающие данные о том, почему это нельзя сделать.