本頁內容
引言
編寫activex控制項
使用javascript訪問activex控制項
使用vbscript訪問activex控制項
說明
引言
現在用vb做一個axtivex控制項,然後在web中調用。可能是因為這個技術老的原因,資料很少,activex的功能還是很強大的,總結一些經驗。是關於使用javascript和vbscript訪問activex控制項的屬性、方法、和事件的。
編寫activex控制項
作為樣本性說明,這裡編寫最簡單的activex控制項,只包括一個屬性、一個方法、一個事件。具體操作如下:
1、開啟vb6,建立一個activex控制項的項目,在設計介面上拖拽兩個Command控制項,
2,在程式碼檢視中寫如下代碼:
Public MyValue As String Public Event TestEvent() Private Sub Command1_Click() MsgBox Me.MyValue End Sub Private Sub Command2_Click() RaiseEvent TestEvent End Sub Public Sub InvokeMethod(ByVal par As String) MsgBox "InvokeMethod,the parameter is:" & par End Sub |
3,然後打包這個activex控制項就可以了。
使用javascript訪問activex控制項
<script language="javascript" id="mian">
//屬性
function Go()
{
UserControl1.MyValue="get my value test!";
}
Go();
</script>
//事件
<script ID="clientEventHandlersJS" language="javascript" FOR="UserControl1" EVENT="TestEvent">
window.alert("raise event test!")
</script>
//方法
<script id="eventforbutton1" language="javascript" FOr="Button1" EVENT="onclick">
UserControl1.InvokeMethod("java parameter");
</script>
使用vbscript訪問activex控制項
<script language= "vbscript">
'屬性
UserControl1.MyValue="get my value test!"
'事件
sub UserControl1_TestEvent()
msgbox "raise event test!"
end sub
'方法
sub Button1_onclick()
UserControl1.InvokeMethod("vb parameter")
end sub
</script>
說明
需要注意的是,如果把指令碼代碼寫在activex控制項之前,IE載入整個頁面,會先執行指令檔,這時候就會出現activex對象不存在的錯誤,解決辦法是把指令碼寫在activex聲明之後就可以了。