首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

VBScript 與 COM 事件回調機制:連接點與 HTML 頁面中的對象事件處理

     編輯:Java 相關知識

COM 連接點回調原理

COM 對象通過 IConnectionPointContainer 暴露事件接口,客戶端實現事件接口並通過 Advise 建立連接,對象觸發事件時回調客戶端方法。

VBScript 獨立腳本示例

Function myobject_onadd(v1, v2)
    MsgBox "add" & v1 & v2
End Function

Set Cnxn4 = WScript.CreateObject("ATLCom.ATL3", "myobject_")
' 此處 myobject_ 為前綴,對應事件處理函數名 myobject_onadd

HTML 頁面中嵌入 COM 對象並處理事件

<HTML>
<BODY ONLOAD="test()" LANGUAGE="VBScript">
<SCRIPT LANGUAGE="VBScript">
Function tt_onadd(v1, v2)
    MsgBox "add" & v1 & v2
End Function

Function test()
    tt.Add 1, 2  ' 觸發對象的 Add 方法,進而引發 onadd 事件
End Function
</SCRIPT>
<SPAN ID="mySpan">SPAN</SPAN>
<OBJECT classid="clsid:1C6B8199-F7EA-4D8B-9F56-7F80ABAB16D0" id="tt"></OBJECT>
</BODY>
</HTML>

關鍵點說明

  • WScript.CreateObject(ProgID, prefix) 第二個參數指定事件處理函數前綴,自動連接默認事件源。
  • HTML 中 <OBJECT> 標籤的 classid 對應 COM 組件 CLSID,id 作為腳本訪問對象的變量名。
  • 事件處理函數命名規則:對象ID_事件名,如 tt_onadd。
  • 頁面加載時 ONLOAD="test()" 觸發測試調用。

適用場景

  • 經典 ASP/HTA 應用調用本地 ActiveX 組件。
  • Windows 腳本宿主 (WSH) 自動化管理任務。
  • IE 瀏覽器中嵌入 COM 組件實現豐富客戶端功能(現代瀏覽器已棄用)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved