¶àÏß³Ìactivex¿Ø¼þ»Øµ÷javascript·½·¨µÄÎÊÌâ
ÎÒдÁËÒ»¸ö¿Ø¼þ,ÀûÓÃwininetÄ£Äâhttp client,ÓÉÓÚЧÂÊÎÊÌâ,´òËãÀûÓöàÏß³ÌÀ´Ìá¸ßЧÂÊ,ÓÉÓÚÊÇͨ¹ýjavascriptÀ´µ÷ÓÃactivex½Ó¿ÚµÄËùÒÔÒªµÈÏß³ÌÍê³É»Øµ÷js·½·¨À´½²http response·µ»Ø¸øjs,µ«Invoke·½·¨Ö´ÐÐÁ˵«´ÓÒ³ÃæÉÏ¿´È´Ã»ÓÐÖ´ÐÐjsµÄ·½·¨,ÎÒºóÀ´ÊÔ×ŰÑInvoke·½·¨ÒƵ½ÁËÖØÐ´µÄSetSite½Ó¿ÚÀï,js·½·¨¾ÍÖ´ÐÐÁË,ÇëÎʸßÊÖÕâÊÇΪʲô,ÄѵÀÖ»ÄÜÔÚ¸²Ð´µÄcom½Ó¿ÚÀï²ÅÄܵ÷ÓÃjavascript·½·¨?
´úÂëµÄ´óÖ¿ò¼ÜÈçÏÂ:
STDMETHODIMP AXClass::SetSite(IUnknown *pUnkSite)
{
CComPtr <IServiceProvider> pSP;
HRESULT hr = pUnkSite-> QueryInterface(&pSP);
CComPtr <IWebBrowser2> pBro;
pSP-> QueryService(IID_IWebBrowserApp, IID_IWebBrowser2, (LPVOID*)&pBro);
pBro-> get_Document((IDispatch**)&m_spDoc);//m_spDocÊǿؼþµÄ³ÉÔ±±äÁ¿
}
STDMETHODIMP AXClass::SendRequest(name,...)//nameÓÉjs´«Èë,ÊÇÇëÇóÍê±ÏºóÒªµ÷ÓõÄjs·½·¨
{
...
_beginthread(ThreadStart, ...); //ÕâÀïн¨Ò»¸öÏß³Ì,ThreadStartÊÇÏß³ÌÈë¿Úº¯Êý
...
}
void ThreadStart(name, ...)
{
//·¢ËÍÇëÇ󲢵õ½·µ»ØÊý¾ÝresponseData
...
CComPtr <IDispatch> spDisp;
m_spDoc-> get_Script(&spDisp);
CComBSTR bstrMember(name);
DISPID dispid;
spDisp-> GetIDsOfNames(IID_NULL,&bstrMember,1,LOCA
Ïà¹ØÎÊ´ð£º
ÓÃjavascript½«Êý¾Ýµ¼³öµ½Îı¾Îļþ(txt)ÖÐ..
Ê×ÏȼÙÉèÒѾÓÐÁËÐèҪдÈëµÄÎı¾ÄÚÈÝ var txtContent ="ÐèҪдÈëµÄÄÚÈÝ";
ÏÖÔÚÐèÒªÓÃjavascript½«ÄÚÈÝдÈëtxtÎļþ(Õâ¸ötxtÎļþ²»´æÔÚ,ÐèÒª´´½¨)ÖÐ,È»ºóдºÃÖ ......
ÎÒµÄÔ´ÎļþÈçÏ£º
<html>
<head> <title>show picture </title>
<script>
function change(fileName)
{
  ......
void CWEHelperDlg::OnOK(){
CString code;
//µ÷ÓÃVBSCRIPT£¬Äܵ¯³öÏûÏ¢¿ò,Ò²ÄÜÕýÈ··µ»Ø hello
code = "function main()\r\n\tMsgBox \"ok\"\r\n\tmain=\"hello\"\r\nend functio ......
ÎÊÌâÄÚÈÝ£ºÅжÏ˳ÐòºÅÁм°×ÓÐòºÅÁбØÐëΪÊý×Ö¡£
<td><div align="center"><input type="text" name="xuHao${g+1}" class="inputW" value="& ......
JScript code:
function C1(){}
function C2(){}
C2.prototype=new C1();
function C3(){}
C3.prototype=new C2();
var obj=new C3();
function C4(){}
C3.prototype=new C4();
alert(obj insta ......