專利名稱:一種獲取網(wǎng)頁插件數(shù)據(jù)的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明是一種在瀏覽器上使用鼠標(biāo)獲得ActiveX控件的地址的方法,ActiveX控件的類型可以是Flash控件、Windows Media Player控件、或者RealPlayer控件。
背景技術(shù):
在傳統(tǒng)的瀏覽器網(wǎng)頁瀏覽中,通常會有多種網(wǎng)頁的插件,比如Flash插件、Windows Media Player插件和RealPlayer插件等。用戶一般僅可以通過這些插件本身的操作方式和插件進行交互式操作,比如播放Flash,觀看Windows Media Player插件所指定的內(nèi)容等。用戶如果想下載這些插件的對象地址,比如Flash文件,Windows Media Player對應(yīng)的多媒體文件或者流媒體文件,一般來說比較困難。常用的方法是查看網(wǎng)頁頁面的源代碼(Source Code)來獲得這些插件所對應(yīng)的網(wǎng)址。
發(fā)明內(nèi)容
本發(fā)明是一種在使用微軟瀏覽器Internet Explorer瀏覽網(wǎng)頁時,使用鼠標(biāo)事件方便地獲得網(wǎng)頁中ActiveX控件的對象地址的方法。
使用本發(fā)明,用戶在使用Internet Explorer瀏覽器瀏覽網(wǎng)頁時,如果網(wǎng)頁中有ActiveX控件,比如Flash控件、Windows Media Player控件、RealPlayer控件,當(dāng)鼠標(biāo)點擊或者在ActiveX控件的區(qū)域中移動時,利用已經(jīng)為Internet Explorer安裝的BHO,可以獲得鼠標(biāo)位置的控件類型和控件對象的地址。
對獲得的控件對象的地址,可以執(zhí)行多種類型的操作,比如把對象地址復(fù)制到剪貼板上、啟動下載程序下載對象地址所制定的文件或者流數(shù)據(jù)(Streaming Media)等等。
本發(fā)明的具體實施方案是
用戶為Internet Explorer瀏覽器安裝瀏覽器輔助對象(BHO),該BHO注冊了對于鼠標(biāo)事件的回調(diào)接口。通過該回調(diào),可以獲得鼠標(biāo)位置處ActiveX控件的控件類型和控件對象的地址。
用戶在瀏覽頁面時,如果頁面上有ActiveX控件,把鼠標(biāo)移動到ActiveX控件的區(qū)域內(nèi)或者用鼠標(biāo)點擊ActiveX控件。這時鼠標(biāo)事件觸發(fā)BHO的回調(diào)。由BHO獲得鼠標(biāo)位置處ActiveX控件的類型和控件對象的地址。
由BHO顯示用戶操作界面,接受用戶輸入,并對獲得的ActiveX控件的對象地址進行操作。
一種典型的用戶界面是,在鼠標(biāo)位置處或者控件附近顯示用戶操作的浮動條,點擊浮動條上的控件可以完成拷貝ActiveX控件對象的地址到剪貼板,或者下載ActiveX控件對象的地址所指定文件或者流媒體數(shù)據(jù)到本地。
本發(fā)明簡化了下載這些插件對象地址的方法,用戶只需要把鼠標(biāo)移動到頁面顯示的控件區(qū)域,比如Flash動畫區(qū)域內(nèi),便可以在鼠標(biāo)位置或者某特定位置顯示用戶界面,通過對界面的操作可以完成許多復(fù)雜的功能,比如下載插件網(wǎng)址的內(nèi)容、復(fù)制插件網(wǎng)址的內(nèi)容等。
圖1是系統(tǒng)本系統(tǒng)架構(gòu)圖,顯示了瀏覽器輔助對象、瀏覽器、網(wǎng)頁和插件的關(guān)系。
圖2獲取插件對象地址地址方法1,一種遍歷ActiveX控件獲得控件對象地址地址的流程圖。
圖3獲取插件對象地址地址方法2,一種直接利用BHO獲得控件對象地址地址的流程圖。
具體實施例方式
以下對本發(fā)明的的描述提供了多種實現(xiàn)方法,或者例子,來描述各種實現(xiàn)的特征。所描述的特殊的例子是為了簡化本發(fā)明的表現(xiàn)。它們僅僅是例子,但是不僅僅限于這些例子。另外,描述中可能重復(fù)引用各種例子中的數(shù)字和字母,這種重復(fù)只是為了簡明扼要,并不表示各種體現(xiàn)或者配置的關(guān)系。
圖1是本發(fā)明的基本架構(gòu)圖。其中103是微軟Windows下的瀏覽器Internet Explorer。瀏覽器在瀏覽頁面102時,如果頁面中有ActiveX控件101并且瀏覽器設(shè)置的安全級別允許ActiveX控件運行,是本發(fā)明的運行環(huán)境基礎(chǔ)。
Internet Explorer瀏覽器在啟動時自動載入瀏覽器輔助對象(BHO)105。BHO是實現(xiàn)了特定接口的COM組件。開發(fā)好的BHO插件在注冊表特定的位置注冊好后,每當(dāng)微軟的瀏覽器啟動,BHO實例就會被創(chuàng)建。在瀏覽器工作的工程中,BHO會接收到瀏覽器的很多事件,比如瀏覽器瀏覽新的地址、生成新的窗口、瀏覽器退出等等;BHO可以在這些事件的響應(yīng)中實現(xiàn)與瀏覽器的交互。在本發(fā)明中,BHO接收和處理的事件是鼠標(biāo)事件,比如鼠標(biāo)的移動事件和鼠標(biāo)的點擊事件。
實現(xiàn)本發(fā)明必須給Internet Explorer瀏覽器安裝特定的BHO。在該BHO中,響應(yīng)鼠標(biāo)的事件,并對鼠標(biāo)事件做出處理。如果鼠標(biāo)事件在瀏覽器網(wǎng)頁上的ActiveX控件顯示的區(qū)域發(fā)生,則可以使用BHO獲得被觸發(fā)的ActiveX控件的控件類型和控件的對象地址。
結(jié)合鼠標(biāo)事件和BHO獲得頁面內(nèi)控件類型和控件對象地址的方法有許多,下面列出兩種,一種是通過遍歷頁面的元素獲得控件信息,另外一種是直接從BHO注冊對鼠標(biāo)事件的回調(diào)接口獲得控件信息。
圖2是通過遍歷頁面元素獲得控件信息的方法的流程圖。當(dāng)有鼠標(biāo)事件202發(fā)生時,通過鼠標(biāo)所在的位置,以及頁面內(nèi)各種ActiveX控件的位置判斷出鼠標(biāo)所在位置的ActiveX控件。
IE瀏覽器,采用DOM(文檔對象模型)來管理網(wǎng)頁的數(shù)據(jù)。它通過一個容器(IWebBrowser2/IHTMLWindow2)來裝載網(wǎng)頁文檔(IHTMLDocument2),而一個文檔,又可以由一個或多個幀(frame)組成,管理這些幀的接口叫“框架集合(IHTMLFramesCollection2)”,而每個幀的容器又是IHTMLWindow2,和IWebBrowser2一樣,它也裝載著各自的文檔(IHTMLDocument2)。遍歷頁面中的所有元素,包含了遍歷頁面中的所有幀。
接下來判斷該ActiveX控件的類型是否是感興趣的類型(步驟206),如果不是則返回。如果是則獲得控件對象的地址(步驟208)。根據(jù)鼠標(biāo)事件信息和控件的位置信息,可以顯示用戶界面,并對控件的內(nèi)容地址進行操作,比如啟用下載軟件下載、把對象地址拷貝到剪貼板、對控件進行操作等。
圖3是直接利用BHO獲得控件對象地址地址的流程圖。在BHO中必須對所有的Document對象注冊對鼠標(biāo)事件的回調(diào)接口(步驟301),然后BHO進入對鼠標(biāo)事件的循環(huán)處理過程中,一旦有鼠標(biāo)事件發(fā)生(步驟302),則可以從BHO的回調(diào)接口中獲得觸發(fā)的對象(步驟304),然后判斷該對象是否是感興趣的ActiveX控件類型,如果不是,則等待下一個鼠標(biāo)事件,如果是,則進一步獲取控件對象的地址(步驟308),然后根據(jù)鼠標(biāo)事件和控件信息創(chuàng)建用戶界面,接受用戶輸入,對獲得的控件對象的地址進行處理。
權(quán)利要求
1.一種通過瀏覽器輔助對象(Browser Helper Object)獲得網(wǎng)頁插件的插件類型和插件對象地址的方法,其特征在于,它包含了對瀏覽器Internet Explorer安裝瀏覽器輔助對象,鼠標(biāo)事件觸發(fā)Internet Explorer瀏覽器向瀏覽器輔助對象發(fā)出該鼠標(biāo)事件,由瀏覽器輔助對象獲得觸發(fā)該鼠標(biāo)事件的ActiveX控件及ActiveX控件的類型和ActiveX控件的對象地址。
2.如權(quán)利要求1所述的方法,其特征在于,鼠標(biāo)事件是鼠標(biāo)的移動事件。
3.如權(quán)利要求1所述的方法,其特征在于,在ActiveX控件被觸發(fā)后,獲得ActiveX控件對象的地址。
4.如權(quán)利要求1所述的方法,其特征在于,使用鼠標(biāo)位置和瀏覽器頁面中各元素的位置信息,獲得瀏覽器頁面上鼠標(biāo)位置出的ActiveX控件的控件類型和控件對象的地址。
5.如權(quán)利要求1所述的方法,其特征在于,使用瀏覽器輔助對象的回調(diào)獲得瀏覽器頁面上鼠標(biāo)位置出的ActiveX控件的控件類型和控件對象的地址。
6.一種通過瀏覽器輔助對象(BHO)獲得網(wǎng)頁插件的插件類型和插件對象地址的系統(tǒng),其特征在于,它包含了Internet Explorer瀏覽器的瀏覽器輔助對象(BHO),它注冊了網(wǎng)頁文檔對于鼠標(biāo)事件的回調(diào)接口,該回調(diào)接口在有鼠標(biāo)事件發(fā)生時被觸發(fā),在回調(diào)中獲得瀏覽器顯示頁面在鼠標(biāo)位置處的ActiveX控件的控件類型和控件對象的地址。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,使用鼠標(biāo)位置和瀏覽器頁面中各元素的位置信息,獲得瀏覽器頁面上鼠標(biāo)位置出的ActiveX控件的控件類型和控件對象的地址。
8.如權(quán)利要求6所述的系統(tǒng),其特征在于,使用瀏覽器輔助對象的回調(diào)接口獲得瀏覽器頁面上鼠標(biāo)位置出的ActiveX控件的控件類型和控件對象的地址。
全文摘要
一種通過瀏覽器輔助對象(BHO)獲得瀏覽器網(wǎng)頁中ActiveX類型和插件對象地址的方法和系統(tǒng)。對瀏覽器安裝BHO,當(dāng)有鼠標(biāo)事件發(fā)生時,通過BHO獲取被觸發(fā)的ActiveX控件,如果插件是某些特定的插件類型,則獲得插件對象的地址,并對該地址做出相應(yīng)的處理。
文檔編號G06F3/033GK1920770SQ20051009304
公開日2007年2月28日 申請日期2005年8月25日 優(yōu)先權(quán)日2005年8月25日
發(fā)明者方漢, 李振春 申請人:千橡世紀(jì)科技發(fā)展(北京)有限公司