在用webBrowser控件, 有个问题.由时候js文件可能已经下载到本地, webBrowser也的文档也已经加载完毕.可是浏览器还没有将js中的内容解析到浏览器中(如果js文件较大)..那么如果直接使用 InvokeScript() 执行其中的函数, 就会提示该 函数 不存在..那么...应该如何判断js已经被解析好了.. js的效果也已经出现在控件上了..?求助....

解决方案 »

  1.   

     bool _loading = false;
        void some()
        {
          _loading = true;
          this.webBrowser1.Navigate(url);
          while (_loading)
          {
            Application.DoEvents();
            Thread.Sleep(0);
          }
        }
        void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
          _loading = false;
        }
    try
    {
    object o = webBrowser.Document.InvokeScript("A", new object[] { 1 });
    }
    catch{
    //延迟
    }