我试图找到一种方法来检测BHO页面上的更改。对于Firefox版本的插件,我使用的是DomNodeInserted
,但这在IE中不可用。我也看过使用onpropertychange
,但这只允许您监视一个元素(而不是子元素)。监视来自IE浏览器BHO的阿贾克斯呼叫
我现在想知道是否有可能在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);
}
这看起来很有趣,我不能解决如何创建一个。是否通过IWebBrowser2以某种方式注册? – opsb 2011-01-12 18:41:34