用了两种执行javascript代码
1.execscript
2.->Invoke()
这两种对于简单的javascript函数还是可以的.对复杂的代码就会出问题
我说的复杂代码是指有函数嵌套,函数中有函数调用等情况.哪位有过这方面的经验指点一下.
代码举例:
fun1()
{  fun2();
   fun3();
}
fun2()
{...}
fun3()
{...}:(

解决方案 »

  1.   

    mshtml 0xc0000005 然后整个程序退出
      

  2.   

    简单代码情况下可以通过的,只是代码复杂就出问题了.可见是javascript代码导致的问题.
      

  3.   

    嵌入在IE中的脚本,有时也会导致IE页面关闭,那是因为脚本中有非法代码(譬如有异常)。
      

  4.   

    //这个在 mshtml.h 里有一个类叫 IHTMLWindow2 里的方法 execScript
    //科学点说就是 mshtml.IHTMLWindow2类里有个 execScript 方法
    //  在mshtml.h文件 42782行 
    //     virtual /* [id] */ HRESULT STDMETHODCALLTYPE execScript( 
    //              /* [in] */ BSTR code,
    //             /* [in][defaultvalue] */ BSTR language,
    //             /* [out][retval] */ VARIANT *pvarRet) = 0;
    //  例子是:
    // mshtml.IHTMLWindow2 win
    // win.execScript(script, "Javascript"); 
    要给分
      

  5.   

    string script = "fun1() 
    {  fun2(); 
      fun3(); 

    fun2() 
    {...} 
    fun3() 
    {...} 
    fun1()";mshtml.IHTMLWindow2 win 
    win.execScript(script, "Javascript"); 
      

  6.   

    对于有嵌套函数调用的javascript代码, 出现问题, 可在每次函数调用时, 用try..catch捕获,看下是不是本身脚本写法就存在bugs?try
    {
      fun2();
    }
    catch(e)
    {
      alert(e.message);
    }
      

  7.   

    调用函数时因为有dom对象的传递,如this可以表示form,element,div等对象,嵌套调用如果不在vc中模拟这些变量是无法完成的.笨人找了好久还是没有结果.