私はBHOからのページの変更を検出する方法を見つけようとしています。私はDomNodeInserted
を使っていますが、これはIEでは利用できません。私もonpropertychange
を使用して見てきましたが、これはあなただけの要素(子供ではない)を監視することができます。IE BHOからのajax呼び出しの監視
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
私はあなたがQI IHTMLDocumentをQIにしたいと思うと思います... –
デザインモードに切り替えると、変更履歴はjavascriptを無効にします。 –