Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ActiveX事件在javascript中不起作用_C#_Javascript_Html - Fatal编程技术网

C# ActiveX事件在javascript中不起作用

C# ActiveX事件在javascript中不起作用,c#,javascript,html,C#,Javascript,Html,我的网站上有下一个代码。这段代码是一个c#activex,函数alert(MyCC.GetID().Fullname)可以工作,但事件不能工作。我做错了什么 <object id="MyCC" codebase="http://localhost:3239/WebDAVCab.CAB" classid="clsid:5F9A5DDB-0D35-4893-A9ED-1FAFFE94373A" width="80" height="120" VIEWASTEXT> </obj

我的网站上有下一个代码。这段代码是一个c#activex,函数alert(MyCC.GetID().Fullname)可以工作,但事件不能工作。我做错了什么

<object id="MyCC" codebase="http://localhost:3239/WebDAVCab.CAB" 
  classid="clsid:5F9A5DDB-0D35-4893-A9ED-1FAFFE94373A" width="80" height="120" VIEWASTEXT>
</object>

<script type="text/javascript">
        MyCC = document.getElementById("MyCC");
        alert(MyCC.GetID().Fullname);

        MyCC.CardInserted = OnCardInserted;
        MyCC.CardRemoved = OnCardRemoved;

        function OnCardInserted()
        {
            alert("raised");
        }
        function OnCardRemoved()
        {
            alert("raised2");
        } 
    </script>

MyCC=document.getElementById(“MyCC”);
警报(MyCC.GetID().Fullname);
MyCC.CardInserted=心形插入;
MyCC.CardRemoved=OnCardRemoved;
函数OnCardInserted()
{
警惕(“提高”);
}
函数OnCardRemoved()
{
警惕(“提高2”);
} 
  • 尝试使用MyCC.attachEvent('CardInserted',OnCardInserted)取而代之
  • 您还需要实现

  • 在Javascript中消除这些事件的正确语法如下:

    function MyCC::CardInserted () { }
    

    当然,您不必指定匿名函数:

    MyCC::CardInserted = OnCardInserted;
    

    要将事件附加到ActiveX,您可以使用Andy E解决方案,但要使用eval:

    <object name="MyCC" id="MyCC" codebase="http://localhost:3239/WebDAVCab.CAB" 
      classid="clsid:5F9A5DDB-0D35-4893-A9ED-1FAFFE94373A" width="80" height="120" VIEWASTEXT>
    </object>
    
    <script type="text/javascript">
    
        eval("function MyCC::CardInserted () {return OnCardInserted();}");
        eval("function MyCC::CardRemoved () {return OnCardRemoved();}");
    
        function OnCardInserted()
        {
            alert("raised");
        }
        function OnCardRemoved()
        {
            alert("raised2");
        } 
    </script>
    
    
    eval(“函数MyCC::CardInserted(){return OnCardInserted();}”);
    eval(“函数MyCC::CardRemoved(){returnoncardRemoved();}”);
    函数OnCardInserted()
    {
    警惕(“提高”);
    }
    函数OnCardRemoved()
    {
    警惕(“提高2”);
    } 
    
    我试过了,但没有开火。在windows窗体中引入了此控件,并且工作得很好,所有事件都在windows窗体中触发,但在html/javascript中没有。我进行了测试,但在MyCC中返回了一个错误::我得到了预期的ie错误;
    <object name="MyCC" id="MyCC" codebase="http://localhost:3239/WebDAVCab.CAB" 
      classid="clsid:5F9A5DDB-0D35-4893-A9ED-1FAFFE94373A" width="80" height="120" VIEWASTEXT>
    </object>
    
    <script type="text/javascript">
    
        eval("function MyCC::CardInserted () {return OnCardInserted();}");
        eval("function MyCC::CardRemoved () {return OnCardRemoved();}");
    
        function OnCardInserted()
        {
            alert("raised");
        }
        function OnCardRemoved()
        {
            alert("raised2");
        } 
    </script>