我試圖找到一種方法來檢測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