浏览器使用ActiveX控件
在IE中使用ActiveX控件,需要使用HTML中的標志是<OBJECT>,該標記幾個重要的參數特性有:
1.ID:為控件提供一個標識名稱,為HTML代碼提供一種訪問該控件的入口。
2.CLASSID:是該控件唯一的UID,告訴IE裝入哪個對象。如果使用已經開發好的控件,它的CLASSID可以在系統的注冊表中查找。在注冊表中展開HKEY—CLASSES—BOOT項,可以看到按字母順序排列的注冊表,找到需要使用的控件名,展開時可看到—個CLASSID活頁夾,里面就是該控件的CLASSID。
3.CODEBASE:如果在用戶機器上沒有控件的當前版本,該參數告訴用戶瀏覽器在哪里可找到要下載的控件和最新版本號.當控件作了修改后,可以更改版本號強制用戶重新下載。
4.PARAM:該標記用于設置控件的初始屬性值,它有兩個特性:Name和Value,即屬性名稱和屬性值。
此外還有一些標記,如:Width表示該控件所占的寬度,Height表示高度等,總體來說,這樣一個插入控件的HTML代碼和插入JavaApplet的HTML代碼非常相似。
以下是嵌有ActiveX控件的HTML代碼例程:
<OBJECT
ID="MyControl"
CLASSID="classid:051D1245-9821-24G5-87CI-01A044C9698AC"
CODEBASE="http://www.abcd.ef/mycontrol.ocx#version=1,0,0,0"
WIDTH=200
HEIGHT=100
ALIGN=center
HSPACE=0
VSPACE=0
></OBJECT>
如果希望控件還能在Netscape中運行,除了Netscape需加裝插件外,HTML也要加一些附加標記。如果是自己開發的OCX控件,則有些用戶第一次訪問時除了下載OCX文件外,還要下載相應的DLL文件,使用VB5開發的OCX控件,可以打包成在客戶端自解壓安裝的CAB文件(在以下詳述)。以下為Netscape中的例程:
<OBJECT
ALIGN=“CENTER"CLASSID=“clsid:051D1245-9821-24G5-87CI-01A044C9698AC"
WIDTH=“600"HEIGHT=“300"ID=“marquee""
CODEBASE="http://www.abcd.ef/mycontrol.ocx#version=1,0,0,0">
<EMBED
ALIGN="CENTER"CLASSID="clsid:051D1245-9821-24G5-87CI-01A044C9698AC"
WIDTH="1200"HEIGHT="900"ID="marquee""
CODEBASE="http://www.abcd.ef/mycontrol.ocx#version=1,0,0,0">
TYPE="application/oleobject"
></OBJECT>
眾所周知,activex是微軟搞得,因此只有ie內核的瀏覽器才能支持。像firefox(火狐)、Chrome、Apple Safari等非ie內核瀏覽器都不支持activex控件,這樣就大大加大了系統使用的局限性。
因此考慮是不是可以讓非ie內核瀏覽器也能支持activex控件,目前火狐等瀏覽器也有類似于activex控件的技術,那就是插件。所以最終決定以插件來作為連接activex的紐帶,使非ie內核瀏覽器也可以支持activex控件。
確定了開發內容后,接下來就是上網了解相關方面的知識和技術。了解了NPAPI技術
NPAPI全稱為:Netscape Plugin Application Programming Interface (NPAPI).
NPAPI 是一個很經典的插件方案,用dll進行注入,用協定的API進行通信,用字符串描述插件能力。瀏覽器會根據能力描述,動態加載插件,并負責插件調用的流程和生命周期管理。而插件中,負責真實邏輯的處理,并可以構造UI與用戶交流。以此類方式實現的插件系統。
在firefox提供SDK的下載(https://developer.mozilla.org/en-US/docs/Gecko_SDK)
插件整體的實現思路就是通過插件調用OCX控件,也就是插件本身是銜接瀏覽器與OCX的一條橋梁,這樣做就可以簡單的實現非ie內核瀏覽器對OCX控件的支持。
經過一個多禮拜的開發,插件功能已經基本實現。并且為了方便使用已經打包成exe安裝包。在項目中可以直接讓用戶下載安裝。
安裝效果圖:
安裝完成后,可以打開火狐瀏覽器在地址欄輸入about:plugins,查看插件是否正確安裝,
如下圖所示,已經安裝成功
下面測試一下插件效果,首先找一個可用的activex控件(本人用自己寫的插件測試)html頁面代碼
<HTML>
<H1>測試頁面</H1><p>
測試頁面
<HR><center><P>
<br>
<object
id="Webplugin"http://ocxid
TYPE="application/xhanhan-activex"
BORDER="0"
WIDTH="300"
HEIGHT="300"
clsid="{A2DC9F0E-1A2D-4C6D-BB2E-053BABE17134}">//ocx插件id
</object>
</HTML>
將以上代碼保存為html文件然后用火狐打開,效果如下圖
可以看到activx控件已經可以在火狐下運行。目前插件已經在xp,vista、win7、win7(64)、windows server2003、
windows server2008等操作系統,以及火狐、Google Chrome、Opera、Apple Safari、遨游極速模式、360急速模
式下通過測試。支持市面上大部分主流瀏覽器。
參考源碼:http://code.google.com/p/ff-activex-host/source/checkout
參考:http://blog.csdn.net/guorun18/article/details/50311619
http://www.cnblogs.com/lidabo/p/3580643.html
總結
以上是生活随笔為你收集整理的浏览器使用ActiveX控件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 双子宫双阴道怎么回事
- 下一篇: 移动端网页框架