本帖最后由 swort_177 于 2011-03-06 18:12:18 编辑

解决方案 »

  1.   

    http://www.cnitblog.com/CoffeeCat/archive/2009/10/30/62254.html
    如何用Javascript捕获ActiveX对象的事件
      

  2.   

    改成这样看看<a href="javascript:exit()" >退出</a>
    <script for="myocx" language="JavaScript"  event="CardComing()" type="text/javascript">
    function myocx::CardComing()
    {
    alert(11);
    }
    </script>
      

  3.   


    myocx = new ActiveXObject("myocx"); 
    myocx.CardComing=function()
    {
    alert("1");
    }
      

  4.   

    我记得这样引用会报错的把,CardComing并不能dispatch这个匿名函数,好像是必须是DOM之类的限制
      

  5.   

    装个ActiveXControl pad 事件会自动给你生成。
      

  6.   

    TestContner里面能调,js不能调的,多半是忘记写BEGIN_DISPATCH_MAP(XXXCtrl, COleControl)
      DISP_FUNCTION_ID(XXXCtrl, "OnMyEvent", dispidMyEvent, OnMyEvent, VT_I4, VTS_NONE)
    END_DISPATCH_MAP()里面的东东了
      

  7.   

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>UploadCtrl</title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    </head>
    <script ID=clientEventHandlersVBS language="VBScript">
    Sub button1_onclick
    UploadCtrl.DoHello()
    End SubSub button2_onclick
    UploadCtrl.AboutBox()
    End Sub</script>
    <body>
    <p> 
      <object id="UploadCtrl" classid="CLSID:608E9C2D-2E41-4968-8524-72E2BBAA4934" width="532" height="310">
      </object>
    </p>
    <p> 
      <input type="Button" id="button1" name="button1" value="DoHello" >
      <input type="Button" id="button2" name="button2" value="AboutBox" >
    </p>
    </body>
    </html>
      

  8.   

    注意事件对象要继承 COM_INTERFACE_ENTRY(IProvideClassInfo)
    COM_INTERFACE_ENTRY(IProvideClassInfo2)
    接口如果是ATL 写的话