GetElementsByTagName не возвращает элементов в элементе управления WebBrowser - PullRequest
0 голосов
/ 06 февраля 2011

Это мой код:

    webBrowser1.ObjectForScripting = this;

    string str =
         "<html><head><script  type=\"text/javascript\">" +
         "var list = document.getElementsByTagName('abbr');" +
         "len = list.length;" +
         "for(i = 0;i < len;i++)" +
         "{obj=list[i];obj.onclick=window.external.Test(this.id);}" +
         "</script></head>" +
         "<body>";

    for (int i = 1000; i < 1100; i++)
    {
        str += "<abbr id=\'" + i.ToString() + "\'" +
        ">" + i.ToString() + " </abbr>";
    }
    str += "</body></html>";

    webBrowser1.DocumentText = str;

Спасибо

1 Ответ

2 голосов
/ 06 февраля 2011

Когда вы поместили свой скрипт в <head>, он будет выполнен до полной загрузки содержимого <body>. Существует две возможности избежать этой проблемы: вы можете поместить скрипт перед окончанием </body> -Tag или выполнить свой скрипт onload.

window.onload = function () {
    // Insert code that depends on a loaded body here.
}
...