在HTML網頁中使用ActiveX控件

ActiveX控件嵌入HTML網頁中的方法很簡單,在網頁適當位置添加如下代碼:

<object  id=”videoPlugin” class="objectClass" classid="clsid:BC06B658-5DD5-4DA4-8A5B-F7ECB1A3FC8C" codebase="explorer/lib/bsrPlugin.cab#version=2,2,0,1"></object>

每一個ActiveX Control都會有一個對應的CLSID,該ID是唯一的。通過OBJECTCLASSID屬性指定ActiveX ControlID,然後IE就可以根據CLSID找到相應的ActiveX Control

爲了能夠找到ActiveX Control,每一個ActiveX Control都必須先註冊,再使用。ActiveX Contorl的註冊和反註冊可以通過實用工具regsvr32來完成,但是,我們不需要這麼做,因爲當IE發現<object>標籤時,會自動加載codebase指定URL下的ActiveX Control並註冊到本地的控件庫中。


問題1:一個很現實的問題,當我們的ActiveX Control升級了,該如何發佈,並使得客戶端的ActiveX Control也自動更新、升級呢?

看見上面codebase中的參數“#version了嗎?是的,IE會檢查本地控件庫中對應CLSIDActiveX Control的版本,看是否比該參數小,如果小於該參數值,則自動的下載新版本的ActiveX Control,然後反註冊低版本的ActiveX Control,再註冊新版本的ActiveX ControlOk,現在客戶端的ActiveX Control升級了。

問題2:如何查看當前安裝的ActiveX Control的版本號?

對於Window XP系統,在C:\WINDOWS\Downloaded Program Files目錄下可以找到已安裝的ActiveX Control。右鍵查看屬性,有三個標籤頁,在常規標籤頁中的IDCLSID相關內容標籤頁顯示了該控件依賴的dll或其他ActiveX Control信息;版本標籤頁中有版本號、作者、版權等信息。

問題3ActiveX Control的發佈形式?

一般爲cab打包格式。內容有ActiveX Controlocx實體和相關的依賴dl,以及描述信息。如圖:


問題4Javascript如何操作ActiveX Control

可以使用window.document.getElementById(),返回該ActiveX Control的引用。然後操作該引用添加/解除事件,調用ActiveX Control的方法,也可以給ActiveX Control對象的屬性賦值。

//獲得ActiveX Control引用

var videoPlugin = window.document.getElementByIdvideoPlugin;

//ActiveX Control添加事件映射

videoPlugin.attachEvent("OnMouseHover",function(lx, ly){hoverAX(lx,ly,1)});

//調用ActiveX Control的方法

var res = videoPlugin.Open(vparam);

//ActiveX Control屬性賦值

videoPlugin.startTime = “2009-8-26”;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章