我正在开发一个Firefox附加组件。它基本上在HTML文档加载到浏览器后解析。我能够捕获表单提交,链接点击等事件。但是当HTML页面通过AJAX调用静默提交并部分更新时,我无法捕获它们 - 因此如何捕获网页AJAX请求/在附加组件中响应?
答案 0 :(得分:3)
虽然您可以尝试检测AJAX调用 - 但您真正想要检测的是页面修改。您可以使用mutation observers(在Firefox 14中引入)。例如:
var observer = new MutationObserver(onDocumentChange);
// We are interested in elements being added/removed and text changes, not in
// attribute changes however.
var config = { attributes: false, childList: true,
characterData: true, subtree: true };
// Start observing the content page's document
var doc = gBrowser.contentWindow.document;
observer.observe(doc, config);
只要对内容文档进行了更改,就会调用函数onDocumentChange
。