javascript - 监控来自 IE BHO 的 ajax 调用

标签 javascript internet-explorer plugins dom-events bho

我正在尝试找到一种方法来检测来自 BHO 的页面上的更改。对于插件的 Firefox 版本,我使用的是 DomNodeInserted,但这在 IE 中不可用。我也看过使用 onpropertychange,但这只允许您监视单个元素(不是子元素)。

我现在想知道是否可以监控何时调用 AJAX 请求。如果是这样,我可以在 AJAX 请求完成后对页面进行更改。唯一的问题是,我找不到办法。


这是我目前的尝试,基于 jeffamaphone 的建议,它不起作用,但也许它会唤起某人的内存。

    public class ChangeMonitor : IHTMLChangeSink {
        public void Notify()
        {
            Trace.WriteLine("notified");
        }
    }

    void registerMonitor()
    {
        HTMLDocument document = _webBrowser2.Document;

        ChangeMonitor monitor = new ChangeMonitor();
        IHTMLChangeSink changeSink = monitor;
        IHTMLChangeLog changeLog = null;

        ((IMarkupContainer2)document).CreateChangeLog(changeSink, out changeLog, 1, 1);
    }

最佳答案

对于 IE,onreadystatechange将等效于 DomNodeInserted。 DHTML 行为必须通过 htc 附加到元素,但 htc 文件不必存在:

document.documentElement.addBehavior("foo.htc");
document.documentElement.attachEvent("onreadystatechange", Notify);

BHO can inject the script处理事件。

关于javascript - 监控来自 IE BHO 的 ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4671412/

相关文章:

Jenkins thinBackup 插件不工作

scala - SBT:访问子项目的托管资源?

javascript - 通过删除字符串来计算数组的总和?

javascript - 当 $firebaseArray 或 $firebaseObject 返回空时确保 $watch 的绑定(bind)

css - 如何使用 w3c 盒模型渲染所有 IE 版本?

javascript - 授予 jQuery 插件访问选定 DOM 对象的权限

javascript - 我可以使用 html 字符串创建 jsPDF 文件的一部分吗?

javascript - 没有 "var = "的变量可以吗?

jQuery 无法在 Firefox 和 Internet Explorer 中工作

javascript - 无法获取未定义或空引用 IE 的属性