在HTML网页中使用ActiveX控件
From:?http://blog.163.com/haizai219@126/blog/static/4441255520097264447968/
1.?摘要:
???????在企業應用中,為了實現一些特殊的功能,如播放自有協議的視頻,我們需要在傳統的HTML網頁中插入ActiveX控件,由ActiveX控件來滿足需求功能。
2.?步驟:
l?????????首先的實現一個ActiveX控件,可以使用很多種方式來實現,這里不做介紹。
l?????????將ActiveX控件嵌入HTML網頁中。
3.?說明:
???????將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是唯一的。通過OBJECT的CLASSID屬性指定ActiveX Control的ID,然后IE就可以根據CLSID找到相應的ActiveX Control。
為了能夠找到ActiveX Control,每一個ActiveX Control都必須先注冊,再使用。ActiveX Contorl的注冊和反注冊可以通過實用工具regsvr32來完成,但是,我們不需要這么做,因為當IE發現<object>標簽時,會自動加載codebase指定URL下的ActiveX Control并注冊到本地的控件庫中。
4.?延伸
問題1:一個很現實的問題,當我們的ActiveX Control升級了,該如何發布,并使得客戶端的ActiveX Control也自動更新、升級呢?
??????看見上面codebase中的參數“#version”了嗎?是的,IE會檢查本地控件庫中對應CLSID的ActiveX Control的版本,看是否比該參數小,如果小于該參數值,則自動的下載新版本的ActiveX Control,然后反注冊低版本的ActiveX Control,再注冊新版本的ActiveX Control。Ok,現在客戶端的ActiveX Control升級了。
問題2:如何查看當前安裝的ActiveX Control的版本號?
??????對于Window XP系統,在C:\WINDOWS\Downloaded Program Files目錄下可以找到已安裝的ActiveX Control。右鍵查看屬性,有三個標簽頁,在常規標簽頁中的ID為CLSID;相關內容標簽頁顯示了該控件依賴的dll或其他ActiveX Control信息;版本標簽頁中有版本號、作者、版權等信息。
問題3:ActiveX Control的發布形式?
??????一般為cab打包格式。內容有ActiveX Control的ocx實體和相關的依賴dl,以及描述信息。如圖:
?
問題 4 : Javascript 如何操作 ActiveX Control ?
可以使用window.document.getElementById(),返回該ActiveX Control的引用。然后操作該引用添加/解除事件,調用ActiveX Control的方法,也可以給ActiveX Control對象的屬性賦值。
| //獲得ActiveX Control引用 var?videoPlugin?=?window.document.getElementById(”videoPlugin”); //給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”; |
問題5:ActiveX Control是否可以通過JavaScript來動態的注冊和激活?
??????請參照:激活?ActiveX?控件。
總結
以上是生活随笔為你收集整理的在HTML网页中使用ActiveX控件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IIS上部署Net.Core
- 下一篇: SSM学习注意杂记