Javascript如何调用本地COM对象,并挂接COM事件?


这个是标准的COM接口文件

   
  library testScriptLib
  
{
importlib("stdole2.tlb");
[
uuid(2BF42BF6-457E-4923-9DFF-59BAD961EE6C),
helpstring("_IScriptEvents 接口")
]
dispinterface _IScriptEvents
{
properties:
methods:
[id(1), helpstring("方法add")] HRESULT add([in] BSTR a, BSTR b);
[id(2), helpstring("方法dec")] HRESULT decbbbbbb(void);
};
[
uuid(6ED96EBA-4144-47FA-9467-7C41A6BFA155),
helpstring("Script Class")
]
coclass Script
{
[default] interface IScript;
[default, source] dispinterface _IScriptEvents;
};
};


</coding>



这是javascript的调用过程
<coding-2 lang="other">
main();
var obj;

function Ondecbbbbb()
{
}

function main()
{
obj = new ActiveXObject("testScript.Script.1");
obj.attachEvent("**decbbbbbb**", hs);
obj.test("bbb");
}

问题来了,javascript如何可以在非IE环境下,正确挂接和处理_IScriptEvents::decbbbbbb事件?现在可以正常调用test(bbb)了,但无法响应decbbbbbb事件

VC JavaScript C++

Michiyo 12 years, 3 months ago

Your Answer