ActiveX , NPAPI 如何回调js代码

1.IE 插件

1)   自己定义个CComDispatchDriver 变量保存页面传过来的JS函数:

      CComDispatchDriver  m_SaveJSFun;


2)   增加插件接口,供页面调用,设置回调函数给插件
      VOID SetJSCallbackFun(IDispatch* bstrTst)

      {
           m_SaveJSFun = bstrTst;
      }
 

3)js回调(js函数需要一个字符串的参数)
 
     VOID CallJSFun()

     {

        //  构造参数
        VARIANT varArg[1];
        varArg[0].vt =VT_BSTR;
        varArg[0].bstrVal =SysAllocString(L"test");

        // 执行回调
       m_SaveJSFun.InvokeN((DISPID)DISPID_VALUE, varArg, 1);

   }

 

// web页面脚本

//其实IDispatch* 是一个供IE回调的函数指针。所以在js中要用一个自定义的函数填充这个结构;
 
//js 代码
 


 

 

 

你可能感兴趣的:(ActiveX , NPAPI 如何回调js代码)