根據微軟權威軟件開發指南MSDN(Microsoft Developer Network)的定義,ActiveX插件過去被稱為OLE控件或OCX控件。它們是壹些可以插入網頁或其他應用程序的軟件組件或對象。
ActiveX內容
[編輯此段落]
ActiveX控件
ActiveX以前稱為OLE控件或OCX控件,是壹種封裝組件(或對象)和由他人編程的功能,以便您可以在網頁或其他程序中重用插入內容。例如,InternetExplorer提供的ActiveX控件可用於增強具有復雜格式的網頁的功能和動畫。
通過Java程序和Netscape插件實現ActiveX控件的關鍵優勢在於,它還可以用於許多編程語言,包括所有的微軟編程和數據庫語言。
ActiveX文檔
使用ActiveX標識Web瀏覽器,如InternetExplorer。瀏覽時,ActiveX文檔使您能夠使用自己的工具欄和菜單來打開程序。這意味著您可以使用支持ActiveX的Web瀏覽器打開非HTML文件,如MicrosoftExcel或MicrosoftWord文件。
ActiveX腳本
ActiveX腳本支持最常用的腳本語言,包括Microsoft VisualBasic腳本和JavaScript。ActiveX腳本可用於集成幾個ActiveX控件或Java程序的行為,以從Web瀏覽器或服務器擴展它們的功能。
ActiveX的特點
[編輯此段落]
在互聯網上,ActiveX插件軟件的特點是:壹般軟件需要用戶單獨下載後再安裝,而ActiveX插件可以在用戶瀏覽到特定網頁時,由IE瀏覽器自動下載,並提示用戶安裝。安裝ActiveX插件的先決條件是它們必須得到用戶的批準和確認。
ActiveX插件技術是國際上通用的基於Windows平臺的軟件技術。除了網絡實名插件,很多軟件都是這樣開發的,比如Flash動畫播放器插件,微軟MediaPlayer插件,CNNIC通用網站插件。
相關內容
[編輯此段落]
1.瀏覽器如何保證ActiveX插件的安全性?
當通過互聯網分發軟件時,軟件的安全性是壹個非常值得註意的問題。IE瀏覽器通過以下方式確保ActiveX插件的安全性:
ActiveX使用兩種互補的策略:安全級別和認證來追求進壹步的軟件安全性;
Microsoft提供了壹組工具,可用於提高ActiveX對象的安全性;
通過微軟的驗證碼工具,妳可以給壹個ActiveX控件簽名,它告訴用戶妳確實是這個控件的作者,沒有其他人篡改過它。
為了使用驗證碼工具來簽署組件,必須從認證機構獲得數字證書;證書包含指示特定軟件程序是正版的信息,這確保其他程序不能再使用原始程序的徽標。證書還記錄了簽發日期。當您嘗試下載該軟件時,Internet Explorer會驗證證書中的信息以及當前日期是否早於證書的到期日期。如果信息在下載時不是最新的和有效的,Internet Explorer將顯示警告;
在IE默認的安全級別中,在安裝ActiveX控件之前,用戶可以根據自己對軟件發行商和軟件本身的信任程度,選擇是否繼續安裝和運行軟件。
在最新的IE 7中,安全性得到了進壹步的提升。
2.關於三個概念:ActiveX,OLE,COM。
熟悉面向對象編程和網絡編程的人壹定熟悉ActiveX、OLE和COM/DCOM的概念,但它們之間是什麽樣的關系,很多同學還很模糊。在詳細介紹它們的關系之前,首先要明確組件和對象的區別。組件是可重用的模塊,是由壹組處理過程、數據封裝和用戶界面組成的規則對象。組件看起來像對象,但不符合對象的學術定義。它們的主要區別是:1)組件可以在另壹個叫做容器的應用程序中使用(有時叫做載體或主機)或者作為壹個獨立的進程使用;2)壹個組件可以由壹個類、多個類或者壹個完整的應用組成;3)組件被模塊重用,對象被代碼重用。目前比較流行的組件模型有COM(組件對象模型)/DCOM(分布式COM)和CORBA(通用對象請求代理架構)。至此,與本文相關的話題COM已經出現,而CORBA與本文無關,就不介紹了。之所以說組件和對象的區別,是為了明確COM和CORBA是整個架構的底層。如果妳暫時不能理解這壹點,不妨繼續讀下去,最後妳回頭看的時候就明白了。現在,將解釋ActiveX、OLE和COM之間的關系。首先讓大家有個整體概念。從時間上看,OLE最先出現,其次是COM和ActiveX。從架構上看,OLE和ActiveX都是建立在COM之上的,所以COM是基礎。從名稱上看,OLE和ActiveX是兩個品牌名稱,而COM則是壹個純技術術語,這也是為什麽人們對ActiveX和OLE的聽到更多的原因。既然OLE最早出現,那就從OLE說起吧。自Windows操作系統普及以來,“剪貼板”首先解決了不同程序之間的通信問題(利用剪貼板作為數據交換中心進行復制粘貼),但剪貼板傳輸的是“死”數據,應用程序開發者要自己編寫和分析數據格式代碼。因此,動態數據交換(DDE)的通信協議應運而生,它允許應用程序自動獲取彼此的最新數據。但是,解決它們之間的“數據格式”轉換仍然是程序員的沈重負擔。對象鏈接與嵌入(OLE)的誕生,將原來應用程序的數據交換改進為“對象交換”,使得程序不僅可以獲取數據還可以獲取對方的應用對象,可以直接使用對方的數據內容。其實OLE是微軟的復合文檔技術,最初的版本只針對復合文檔,但是在後來的OLE2版本中,導入了COM。可見COM是在OLE的需求下誕生的,所以雖然COM是OLE的基礎,但是OLE是在COM之前產生的。COM的基本出發點是讓壹個軟件通過壹個公共的組織為另壹個軟件提供服務。COM是在OLE的需求下誕生的,但它的第壹個用戶是OLE2,所以COM和復合文檔並沒有太大的關系。事實上,COM作為壹種與復合文檔完全無關的技術被廣泛使用。這樣,微軟開始“染指”通用平臺技術。但COM不是產品,它需要壹個品牌名稱。當時微軟的營銷專家已經選擇OLE作為商標名,於是每個使用COM技術的人都開始給OLE貼標簽。雖然這些技術大多與復合文檔無關。微軟的這種做法讓人誤以為OLE只指復合文檔。或者不僅僅是復合文檔?其實OLE是COM的商標名,自然不僅僅指復合文檔。但恐怕微軟自己也解釋不清楚,這就需要相當大的精力和時間。然後隨著互聯網的發展,1996年春天,微軟改變主意,選擇ActiveX作為新的商標名稱。ActiveX指的是基於COM的松散定義的技術集合,而OLE仍然僅指復合文檔。當然,ActiveX的核心技術是COM。ActiveX和OLE最大的區別在於,OLE的目標是應用軟件和桌面上文件的集成,而ActiveX主要提供進壹步的網絡應用和用戶交互。至此,大家應該對ActiveX、OLE、COM之間的關系有了清晰的認識。COM是最根本的核心技術,所以下面重點介紹COM。讓對象模型完全獨立於編程語言是壹個非常新穎的想法。這壹點可以從C++和Java的對象概念來理解。但是所謂的COM對象是什麽呢?為了便於理解,可以把COM看作是壹種封裝技術,即把它看作是軟件的不同部分,按照壹定的面向對象的形式組合成交互的進程和支持的庫。COM對象可以用任何語言編寫,如C++、Java、VB等,並可以針對不同的進程以dll或可執行文件的形式實現。使用COM對象的瀏覽器不需要關心對象是用什麽語言編寫的,或者它是在DLL還是在另壹個進程中執行的。從瀏覽器端來看,沒有區別。這種通用的處理技術非常有用。比如用戶協同運行的兩個應用,可以把它們的* * *和作業部分實現為COM對象之間的交互(當然現在OLE復合文檔也可以做到)。為了在瀏覽器中執行從Web服務器下載的代碼,瀏覽器可以將其視為COM對象,也就是說,COM技術也是封裝可下載代碼的標準方法(ActiveX控件執行該功能)。甚至應用程序與本機OS交互的方法也可以由COM指定,例如在Windows和Windows中。
NT中使用了新的API,大部分都被定義為COM對象。可以看出,COM雖然起源於復合文檔,但卻可以有效地應用於很多軟件問題。畢竟是底層的基礎技術。總之,COM是壹種獨立於語言的組件架構,允許組件之間相互通信。隨著計算機網絡的發展,COM進壹步發展成為分布式組件對象模型,這就是DCOM,類似於CORBA的ORB,本文不再贅述。相信通過上面的描述,妳壹定對ActiveX、OLE和COM/DCOM的關系有了清晰的認識。
評論
[編輯此段落]
在編輯過程中,采用了壹些機器翻譯的內容。
記名票據
[編輯此段落]
2008年,ActiveX位列微軟十大垃圾軟件之首。..