Ich versuche, einen Weg zu finden, um Änderungen auf einer Seite von einem BHO zu erkennen. Für die Firefox-Version des Plugins, das ich verwende DomNodeInserted
aber das ist im IE nicht verfügbar. Ich habe mir auch die Verwendung von onpropertychange
aber damit können Sie nur ein einzelnes Element überwachen (keine Kinder).
Ich frage mich nun, ob es möglich ist, zu überwachen, wann AJAX-Anforderungen aufgerufen werden. Wenn ja, kann ich die Änderungen an der Seite vornehmen, nachdem die AJAX-Anfrage abgeschlossen ist. Das einzige Problem ist, dass ich keine Möglichkeit finde, dies zu tun.
Hier ist mein bisheriger Versuch, der auf den Vorschlägen von Jeffamaphone basiert. Er funktioniert nicht, aber vielleicht hilft er jemandem, sich zu erinnern.
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);
}