如题,那位牛人帮我解决这个问题,急啊!

解决方案 »

  1.   

    或者其他方法都可以,不一定是IHTMLDocument2 ,这个指针相关的都能得到;
    急啊,那个牛人来帮帮我!
      

  2.   

    通过IHTMLDocument2::get_scripts获取到IHTMLElementCollection;接着你可以IHTMLScriptElement的put_text设置JS
    如果你要调用的js无参数可以使用IHTMLWindow2::execScript
    如有参数可以参考http://www.codeproject.com/KB/COM/jscalls.aspx
      

  3.   

      JavaScript   Calls   from   C++  
      http://www.codeguru.com/Cpp/I-N/ieprogram/article.php/c4399/
      

  4.   

    页面载入完成之后(最后一个OnDocuemntComplete) 通过Webbrowser2 获取IHtmlDocument2 接口
    CComPtr<IUnknown> spUnknown;
    m_spWebBrowser2.QueryInterface(&spUnknown);
    if(spUnknown)
    {
    CComPtr<IDispatch> spDispatch;
    spUnknown.QueryInterface(&spDispatch);
    if(spDispatch.IsEqualObject(pDispatch))
    {
    CComPtr<IDispatch> spDispDoc;
    m_spWebBrowser2->get_Document(&spDispDoc);
    m_spHtmlDoc2 = spDispDoc;
    }
    }m_spHtmlDoc2 IHtmlDocument2的CreateElement可以在页面动态创建tag
      HRESULT createElement(BSTR eTag,IHTMLElement **newElem);CComPtr<IHTMLElement> spScriptElement;
    CreateElement(CComBSTR(_T("script")),&spScriptElement);
    spScriptElement->put_InnerText(CComBSTR(_T("JavaScript 脚本内容")));应该可以了,不知道死不是这个意思哦 ~|~