在脚本中,要订阅COM对象的连接点事件,必须要通过对象容器来实现,且无法对获取到的二级接口进行订阅事件。通过实现的脚本订阅器,即可轻松实现。另外通过事件中心,可以在脚本中轻松实现模块解耦。
一、事件订阅器使用
function OnTest()
{
alert( "OnTest");
}
var obj = new ActiveXObject( "Object.TestObj");
var el = new ActiveXObject( "Event.EventListener");
// 监听COM对象的事件
el.AttachEvent(obj, "OnTest",OnTest);
{
alert( "OnTest");
}
var obj = new ActiveXObject( "Object.TestObj");
var el = new ActiveXObject( "Event.EventListener");
// 监听COM对象的事件
el.AttachEvent(obj, "OnTest",OnTest);
二、事件中心使用
function OnTestEventCenter(param1,param2)
{
alert( "OnTestEventCenter");
}
var ec = new ActiveXObject( "Event.EventCenter");
// 监听事件
ec.AttachEvent( "sEventName",OnTestEventCenter);
// 触发事件
ec.FireEvent( "sEventName");
{
alert( "OnTestEventCenter");
}
var ec = new ActiveXObject( "Event.EventCenter");
// 监听事件
ec.AttachEvent( "sEventName",OnTestEventCenter);
// 触发事件
ec.FireEvent( "sEventName");
三、实现
见附件。
转载于:https://blog.51cto.com/pyhcx/327645