在腳本中,要訂閱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");
三、實現
見附件。