2016-07-05 10 views
1

У меня есть плагин BHO для обнаружения NUmber с веб-страницы с использованием C#. Каждая загруженная страница времени добавляет javascript на веб-страницу и этот номер обнаружения javascript и заменяет его номером гиперссылки.Плагин BHO не работает должным образом

Код

public void WebBrowser_DownloadComplete() 
{ 
HTMLDocument document = (HTMLDocument)webBrowser.Document; 

    IHTMLElement head = (IHTMLElement)((IHTMLElementCollection) 
          document.all.tags("head")).item(null, 0); 
    IHTMLScriptElement scriptObject = 
     (IHTMLScriptElement)document.createElement("script"); 
    scriptObject.type = @"text/javascript"; 
    scriptObject.src = @"myscript.js"; 
((HTMLHeadElement)head).appendChild((IHTMLDOMNode)scriptObject); 


} 

Проблемы

Когда я тестирую плагин с веб-страниц в автономном режиме он работает нормально. Но с онлайн-страницами он не работает. Событие DownloadComplete запускается несколько раз.

Вопросы

Какое событие запускается IE, когда страница обновления и загружается?

ответ

4

Вы должны добавить условие в DocumentLoaded случае, как показано ниже,

if (rootDocLoaded && (HTMLDocument != null) && url != "about:blank"){ 
    //Your code here 
} 

Использование выше условия его называют только один после загружена полная страница. И вы также можете использовать метод beforeNavigate и Navigate.