Я пытаюсь найти способ обнаружения изменений на странице из BHO. Для версии Firefox плагина я использую DomNodeInserted
, но это не доступно в IE. Я также посмотрел на использование onpropertychange
, но это позволяет контролировать только один элемент (а не дочерние элементы).Мониторинг вызовов ajax от 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
Я думаю, вы хотите, чтобы QI IHTMLDocument для него ... –
журнал изменений работает только при переключении в режим разработки, что, в свою очередь, отключает javascript. –