none
webbrowser控件 能不能判断页面上的js是否加载完成 RRS feed

  • 问题

  • 用webBrowser1.ReadyState != WebBrowserReadyState.Complete判断页面是否加载完成,但有大量的js就不起作用了

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                            
                if (webBrowser1.ReadyState != WebBrowserReadyState.Complete)
                {
                    return;
                }
                else
                {
                  foreach (HtmlElement ee in webBrowser1.Document.GetElementsByTagName("select"))
                  {
                    if (ee.Name == "cityname")
                    {
                        ee.SetAttribute("value", "北京");
                    }
                  }
                }
            }
                
    • 已移动 Sheng Jiang 蒋晟 2010年3月23日 21:59 IE开发 (发件人:一般性问题讨论区)
    2010年2月25日 10:31

答案

  • IE应该在js文件加载完之后才触发这个事件。你的选项列表不会是AJAX动态生成的吧?那样的话就要根据具体页面插入你自己的函数替换AJAX调用的函数了。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 lsd1009 2012年5月29日 2:28
    2010年3月23日 22:01

全部回复

  • 有这样的示例吗?应该全部请求回来触发这个事件的。

    山西.net俱乐部
    2010年3月4日 14:18
  • IE应该在js文件加载完之后才触发这个事件。你的选项列表不会是AJAX动态生成的吧?那样的话就要根据具体页面插入你自己的函数替换AJAX调用的函数了。

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 lsd1009 2012年5月29日 2:28
    2010年3月23日 22:01