Firefox瀏覽器下運(yùn)行ActiveX控件的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及Linux系統(tǒng)中Firefox瀏覽器下運(yùn)行ActiveX控件的方法和系統(tǒng),采用雙計算單元體系結(jié)構(gòu)的計算機(jī)系統(tǒng),客戶端計算單元的操作系統(tǒng)基于Linux,服務(wù)端計算單元的操作系統(tǒng)基于Windows,客戶端的Firefox通過Firefox插件經(jīng)交互代理中間件同服務(wù)端的ActiveX容器交互,ActiveX控件信息數(shù)據(jù)形成控制命令,ActiveX容器根據(jù)控制命令攜帶的相關(guān)信息調(diào)用相應(yīng)ActiveX控件進(jìn)行處理,最后,將處理結(jié)果及ActiveX控件本身界面通過交互代理中間件返回給Firefox瀏覽器。本發(fā)明使得ActiveX控件能在Linux系統(tǒng)客戶端上的Firefox瀏覽器中無縫運(yùn)行。
【專利說明】 Fi refox瀏覽器下運(yùn)行ActiveX控件的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機(jī)插件領(lǐng)域,特別是涉及基于Linux系統(tǒng)中Firefox瀏覽器插件領(lǐng)域。具體而言,本發(fā)明涉及一種Firefox瀏覽器下運(yùn)行ActiveX控件的方法和系統(tǒng)。
【背景技術(shù)】
[0002]由于ActiveX控件是基于COM的通用組件,開發(fā)人員可以使用它方便地構(gòu)建圖形用戶界面并使用其提供的類來創(chuàng)建各種對象,并調(diào)用該對象的屬性、方法和響應(yīng)該對象的事件。然而,基于Mozilla開發(fā)的Firefox瀏覽器在Linux平臺上尚不能運(yùn)行ActiveX控件。要實現(xiàn)Firefox對ActiveX控件的支持,必須解決四個問題,包括如何創(chuàng)建和初始化控件對象,如何在Firefox瀏覽器中顯示和現(xiàn)場激活控件,如何使JavaScript能訪問控件的屬性和方法以及如何捕獲控件事件并將其轉(zhuǎn)發(fā)給JavaScript。
[0003]目前國內(nèi)外所支持Firefox插件只簡單在本地運(yùn)行ActiveX控件,而在客戶端計算單元和服務(wù)端計算單元組成的雙計算單元體系結(jié)構(gòu)的計算機(jī)系統(tǒng)中,客戶端計算單元的操作系統(tǒng)基于Linux,服務(wù)端計算單元的操作系統(tǒng)基于Windows, Windows平臺可完美支持ActiveX控件,而客戶端Linux平臺無法支持Firefox瀏覽器下運(yùn)行ActiveX插件,因此急需一種能跨平臺的使用服務(wù)端的ActiveX控件的方法。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的是針對現(xiàn)有技術(shù)存在的問題,提供一種Firefox瀏覽器下運(yùn)行ActiveX控件的方法和系統(tǒng),能跨平臺的使用服務(wù)端的ActiveX控件,使ActiveX控件能在Linux平臺上的Firefox瀏覽器中無縫運(yùn)行。其中ActiveX控件只是針對那些擁有窗體界面內(nèi)嵌在Firefox中運(yùn)行并實現(xiàn)IDispatch接口的ActiveX控件。
[0005]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:提供一種Linux系統(tǒng)中的Firefox瀏覽器下運(yùn)行ActiveX控件的方法,采用雙計算單元體系結(jié)構(gòu)的計算機(jī)系統(tǒng),其中,客戶端計算單元的操作系統(tǒng)基于Linux系統(tǒng),服務(wù)端計算單元的操作系統(tǒng)基于Windows系統(tǒng),客戶端計算單元中的Firefox瀏覽器通過Firefox插件經(jīng)交互代理中間件同服務(wù)端計算單元中的ActiveX容器交互,具體包括以下步驟:
(1)在Linux系統(tǒng)中的Firefox瀏覽器中創(chuàng)建Firefox插件,并在Firefox瀏覽器中顯示服務(wù)端的ActiveX控件信息;
(2)對ActiveX控件屬性和方法的處理,F(xiàn)irefox插件解析JavaScript腳本用于ActiveX控件的操作行為,通過交互代理中間件來間接訪問ActiveX控件的屬性和方法;
(3)對ActiveX控件事件的處理,在服務(wù)端的ActiveX容器可以捕獲ActiveX控件事件信息并發(fā)送到客戶端通知Firefox插件處理。
[0006]以下是本發(fā)明進(jìn)一步的技術(shù)方案:
優(yōu)選的,所述的在Linux系統(tǒng)中的Firefox瀏覽器中創(chuàng)建Firefox插件,該插件用于ActiveX控件讀取和顯示,對服務(wù)端的ActiveX控件操作行為實時反映在客戶端的Firefox瀏覽器中;所述的Firefox插件實現(xiàn)了 Firefox瀏覽器的JavaScript腳本支持框架所定義的相關(guān)接口。
[0007]優(yōu)選的,所述步驟(I)中的在Firefox瀏覽器中顯示服務(wù)端的ActiveX控件信息步驟為:
(11)Firefox插件利用交互代理中間件啟動服務(wù)端的ActiveX容器;
(12)Firefox插件通過窗口消息通訊將創(chuàng)建ActiveX控件對象所需CLSID及相關(guān)初始化參數(shù)傳遞給ActiveX容器,ActiveX容器使用COM庫函數(shù)創(chuàng)建ActiveX控件對象;
(13)通過Firefox插件將處理結(jié)果及ActiveX控件本身界面返回給Firefox瀏覽器,并在Firefox瀏覽器相應(yīng)位置呈現(xiàn)出來。
[0008]優(yōu)選的,所述的步驟(2)中包括以下子步驟:
(21)客戶端的Firefox插件解析ActiveX控件操作行為的JavaScript腳本,獲取JavaScript腳本作用于ActiveX控件的操作行為,通過交互代理中間件通知服務(wù)端ActiveX容器需要訪問ActiveX控件的屬性和方法;
(22)服務(wù)端ActiveX容器接收交互代理中間件訪問ActiveX控件的屬性和方法的消息,同時把消息攜帶數(shù)據(jù)中的屬性或方法參數(shù)解析為Variant數(shù)據(jù)類型,通過IDispatch接口訪問ActiveX控件的屬性和方法。
[0009]優(yōu)選的,所述的步驟(3)中對ActiveX控件事件的處理,其中ActiveX容器實現(xiàn)了COM事件接口的接收器,通過該容器來捕獲ActiveX控件事件。
[0010]優(yōu)選的,所述的步驟(3)包括以下子步驟:
(31)當(dāng)ActiveX控件事件發(fā)生時,在ActiveX容器的事件響應(yīng)函數(shù)中,使用ActiveX控件的方法來獲取事件DISPID對應(yīng)的事件名;
(32)ActiveX容器將上述事件名發(fā)送到交互代理中間件,通知客戶端Firefox插件處理。
[0011]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:還提供一種在Linux系統(tǒng)中Firefox瀏覽器下運(yùn)行ActiveX控件的系統(tǒng),基于雙計算單元體系結(jié)構(gòu)的計算機(jī)系統(tǒng),其中,客戶端計算單元的操作系統(tǒng)基于Linux系統(tǒng),服務(wù)端計算單元的操作系統(tǒng)基于Windows系統(tǒng),客戶端計算單元中的Firefox瀏覽器通過Firefox插件經(jīng)交互代理中間件同服務(wù)端計算單元中的ActiveX容器交互;所述Firefox插件用于解析整理網(wǎng)頁中定義的ActiveX控件信息數(shù)據(jù)形成控制命令;所述ActiveX容器用于根據(jù)控制命令攜帶的相關(guān)信息調(diào)用相應(yīng)ActiveX控件進(jìn)行處理,并將處理結(jié)果及ActiveX控件本身界面返回給客戶端計算單元中的Firefox瀏覽器。
[0012]優(yōu)選的,所述客戶端計算單元的Firefox瀏覽器還用于創(chuàng)建Firefox插件,通過交互代理中間件通知服務(wù)端計算單元創(chuàng)建ActiveX控件對象;所述ActiveX容器還用于創(chuàng)建ActiveX控件和初始化所述ActiveX控件。
[0013]優(yōu)選的,所述ActiveX控件為針對窗體界面內(nèi)嵌在Firefox瀏覽器中運(yùn)行并實現(xiàn)IDispatch 接口的 ActiveX 控件。
[0014]本發(fā)明的有益效果主要有:
由于采用了上述的技術(shù)方案,本發(fā)明與現(xiàn)有技術(shù)相比,具有以下優(yōu)點(diǎn)和積極效果:
相比于現(xiàn)有Firefox插件只能在本地進(jìn)行交互,本發(fā)明依據(jù)交互代理中間件進(jìn)行跨平臺的交互。不僅如此,ActiveX控件使用環(huán)境和ActiveX控件運(yùn)行環(huán)境還分屬于不同的計算單元,本發(fā)明還實現(xiàn)了 Firefox瀏覽器與ActiveX控件之間提供一層供二者交互的機(jī)制。
[0015]本發(fā)明中Firefox插件解析整理網(wǎng)頁中定義的ActiveX控件信息數(shù)據(jù)形成控制命令,ActiveX容器根據(jù)控制命令攜帶的相關(guān)信息調(diào)用相應(yīng)ActiveX控件進(jìn)行處理,最后,將處理結(jié)果及ActiveX控件本身界面返回給Firefox瀏覽器,并在Firefox瀏覽器相應(yīng)位置呈現(xiàn)出來,使得ActiveX控件能在Linux平臺上的Firefox瀏覽器中無縫運(yùn)行。
【專利附圖】
【附圖說明】
[0016]圖1為本發(fā)明的總體結(jié)構(gòu)圖;
圖2為本發(fā)明的客戶端流程圖;
圖3為本發(fā)明的服務(wù)端流程圖;
圖4為本發(fā)明的創(chuàng)建和初始化ActiveX控件的流程圖;
圖5為本發(fā)明的處理ActiveX控件方法和屬性的流程圖;
圖6為本發(fā)明的處理ActiveX控件事件的流程圖。
【具體實施方式】
[0017]下面結(jié)合具體實施例,進(jìn)一步闡述本發(fā)明。應(yīng)理解,這些實施例僅用于說明本發(fā)明而不用于限制本發(fā)明的范圍。此外應(yīng)理解,在閱讀了本發(fā)明講授的內(nèi)容之后,本領(lǐng)域技術(shù)人員可以對本發(fā)明作各種改動或修改,這些等價形式同樣落于本申請所附權(quán)利要求書所限定的范圍。
[0018]本發(fā)明的第一實施方式涉及一種Linux系統(tǒng)中Firefox瀏覽器下運(yùn)行ActiveX控件的方法,采用雙計算單元體系結(jié)構(gòu)的計算機(jī)系統(tǒng),其中,客戶端計算單元的操作系統(tǒng)基于Linux系統(tǒng),服務(wù)端計算單元的操作系統(tǒng)基于Windows系統(tǒng),客戶端計算單元中的Firefox瀏覽器通過Firefox插件經(jīng)交互代理中間件同服務(wù)端計算單元中的ActiveX容器交互,具體包括以下步驟:
(1)在Linux系統(tǒng)中的Firefox瀏覽器中創(chuàng)建Firefox插件,并在Firefox瀏覽器中顯示服務(wù)端的ActiveX控件信息;
(2)對ActiveX控件屬性和方法的處理,F(xiàn)irefox插件解析JavaScript腳本用于ActiveX控件的操作行為,通過交互代理中間件來間接訪問ActiveX控件的屬性和方法;
(3)對ActiveX控件事件的處理,在服務(wù)端的ActiveX容器可以捕獲ActiveX控件事件信息并發(fā)送到客戶端通知Firefox插件處理。
[0019]圖1為本發(fā)明的總體結(jié)構(gòu)圖,說明在Linux系統(tǒng)的Firefox瀏覽器中運(yùn)行的ActiveX控件一個實施例。描述用戶在客戶端計算單元上打開Firefox瀏覽器,訪問內(nèi)嵌ActiveX控件的網(wǎng)頁,客戶端Firefox插件解析整理網(wǎng)頁中定義的ActiveX控件信息數(shù)據(jù)形成控制命令,并通過交互代理中間件傳遞給服務(wù)端計算單元的ActiveX容器,ActiveX容器根據(jù)控制命令攜帶的相關(guān)信息調(diào)用相應(yīng)ActiveX控件進(jìn)行處理,最后,將處理結(jié)果及ActiveX控件本身界面返回給客戶端Firefox瀏覽器,并在客戶端Firefox瀏覽器相應(yīng)位置呈現(xiàn)出來??蛻舳薋irefox插件用于ActiveX控件讀取和顯示,該插件實現(xiàn)Firefox瀏覽器的JavaScript腳本支持框架所定義的相關(guān)接口,獲取JavaScript腳本作用于ActiveX控件的操作行為,通過交互代理中間件間接訪問服務(wù)端ActiveX控件的屬性和方法,對服務(wù)端的ActiveX控件操作行為實時反映在客戶端的Firefox瀏覽器中。
[0020]上述步驟(I)中的在Firefox瀏覽器中顯示服務(wù)端的ActiveX控件信息步驟為:
(11)Firefox插件利用交互代理中間件啟動服務(wù)端的ActiveX容器;
(12)Firefox插件通過窗口消息通訊將創(chuàng)建ActiveX控件對象所需CLSID及相關(guān)初始化參數(shù)傳遞給ActiveX容器,ActiveX容器使用COM庫函數(shù)創(chuàng)建ActiveX控件對象;
(13)通過Firefox插件將處理結(jié)果及ActiveX控件本身界面返回給Firefox瀏覽器,并在Firefox瀏覽器相應(yīng)位置呈現(xiàn)出來。
[0021]上述步驟(2)中包括以下子步驟:
(21)客戶端的Firefox插件解析ActiveX控件操作行為的JavaScript腳本,獲取JavaScript腳本作用于ActiveX控件的操作行為,通過交互代理中間件通知服務(wù)端ActiveX容器需要訪問ActiveX控件的屬性和方法;
(22)服務(wù)端ActiveX容器接收交互代理中間件訪問ActiveX控件的屬性和方法的消息,同時把消息攜帶數(shù)據(jù)中的屬性或方法參數(shù)解析為Variant數(shù)據(jù)類型,通過IDispatch接口訪問ActiveX控件的屬性和方法。
[0022]上述步驟(3)中對ActiveX控件事件的處理,其中ActiveX容器實現(xiàn)了 COM事件接口的接收器,通過該容器來捕獲ActiveX控件事件。
[0023]上述步驟(3)包括以下子步驟:
(31)當(dāng)ActiveX控件事件發(fā)生時,在ActiveX容器的事件響應(yīng)函數(shù)中,使用ActiveX控件的方法來獲取事件DISPID對應(yīng)的事件名;
(32)ActiveX容器將上述事件名發(fā)送到交互代理中間件,通知客戶端Firefox插件處理。
[0024]圖2為本發(fā)明的客戶端處理流程圖,客戶端Firefox插件獲取Javascript腳本所提供的ActiveX控件信息后通知服務(wù)端創(chuàng)建ActiveX控件對象,并關(guān)聯(lián)到ActiveX控件顯示和現(xiàn)場激活的窗口,監(jiān)聽并發(fā)送需訪問的ActiveX控件的屬性、方法的信息以及事件的處理。具體為,首先客戶端Firefox瀏覽器創(chuàng)建Firefox插件并通知服務(wù)端創(chuàng)建Active控件對象1001,然后是Firefox瀏覽器顯示服務(wù)端Active控件信息1005,訪問ActiveX控件屬性和方法1009,接下去為處理ActiveX控件事件1013。
[0025]圖3為本發(fā)明的服務(wù)端處理流程圖,所描述的是服務(wù)端利用ActiveX容器來創(chuàng)建ActiveX控件并現(xiàn)場激活,處理ActiveX控件的屬性、方法及發(fā)送需要處理的事件信息。具體為,首先ActiveX容器創(chuàng)建ActiveX控件1014,之后顯示并現(xiàn)場激活A(yù)ctiveX控件1018,接下去處理ActiveX控件屬性和方法1022,最后發(fā)送ActiveX控件事件信息1026。
[0026]圖4為本發(fā)明的創(chuàng)建和初始化ActiveX控件的流程圖,說明如何創(chuàng)建和初始化ActiveX控件的一個實施例。所描述的是在客戶端Firefox瀏覽器創(chuàng)建FireFox插件2001,并通過交互代理中間件來通知服務(wù)端啟動ActiveX容器2005,接下去ActiveX容器創(chuàng)建ActiveX控件對象2009及初始化ActiveX控件2013。
[0027]圖5為本發(fā)明的處理ActiveX控件方法和屬性的流程圖,說明如何對ActiveX控件方法和屬性進(jìn)行處理的一個實施例。由于ActiveX控件與Firefox瀏覽器分屬于不同的計算單元,訪問ActiveX控件屬性和方法的用戶操作需要由客戶端Firefox插件和交互代理中間件配合完成。首先客戶端Firefox插件解析ActiveX控件的操作行為的JavaScript腳本3001,然后通過交互代理中間件發(fā)送給服務(wù)端的ActiveX容器3005,接著ActiveX容器接收ActiveX控件的操作行為信息3009,最后執(zhí)行ActiveX控件的操作行為3013。從而完成客戶端Linux系統(tǒng)中Firefox瀏覽器通過Firefox插件和交互代理中間件間接訪問ActiveX控件的屬性和方法。
[0028]ActiveX容器接收交互代理中間件訪問ActiveX控件的屬性和方法的消息,同時把消息攜帶數(shù)據(jù)中的屬性或方法參數(shù)解析為Variant數(shù)據(jù)類型。通過IDispatch接口訪問ActiveX控件的屬性和方法。其處理過程是利用IDispatch接口的GetIDsOfNames方法獲取ActiveX控件的屬性名或方法名對應(yīng)的DISPID,然后將DISPID作為參數(shù)調(diào)用Invoke方法訪問ActiveX控件的屬性和方法。
[0029]圖6為本發(fā)明的處理ActiveX控件事件的流程圖,說明對ActiveX控件事件進(jìn)行處理的一個實施例。在服務(wù)端的ActiveX容器捕獲ActiveX控件事件信息,通過交互代理中間發(fā)送給Firefox插件進(jìn)行處理。具體流程為:首先ActiveX容器捕獲Active控件時間3016,然后把控件時間信息發(fā)送給Firefox插件3019,最后解析事件信息并處理3023。
[0030]不難發(fā)現(xiàn),相比現(xiàn)有的Firefox插件只能在Windows系統(tǒng)下的Firefox瀏覽器進(jìn)行運(yùn)行,本發(fā)明實現(xiàn)了在Linux系統(tǒng)下的Firefox瀏覽器中運(yùn)行并顯示ActiveX控件。相比于現(xiàn)有Firefox插件只能在本地進(jìn)行交互,本發(fā)明依據(jù)交互代理中間件進(jìn)行跨平臺的交互。不僅如此,ActiveX控件使用環(huán)境和ActiveX控件運(yùn)行環(huán)境還分屬于不同的計算單元,本發(fā)明還實現(xiàn)了 Firefox瀏覽器與ActiveX控件之間提供一層供二者交互的機(jī)制。
[0031]本發(fā)明的第二實施方式涉及一種在Linux系統(tǒng)中Firefox瀏覽器下運(yùn)行ActiveX控件的系統(tǒng),基于雙計算單元體系結(jié)構(gòu)的計算機(jī)系統(tǒng),其中,客戶端計算單元的操作系統(tǒng)基于Linux系統(tǒng),服務(wù)端計算單元的操作系統(tǒng)基于Windows系統(tǒng),客戶端計算單元中的Firefox瀏覽器通過Firefox插件經(jīng)交互代理中間件同服務(wù)端計算單元中的ActiveX容器交互;所述Firefox插件用于解析整理網(wǎng)頁中定義的ActiveX控件信息數(shù)據(jù)形成控制命令;所述ActiveX容器用于根據(jù)控制命令攜帶的相關(guān)信息調(diào)用相應(yīng)ActiveX控件進(jìn)行處理,并將處理結(jié)果及ActiveX控件本身界面返回給客戶端計算單元中的Firefox瀏覽器。
[0032]所述客戶端計算單元的Firefox瀏覽器還用于創(chuàng)建Firefox插件,通過交互代理中間件通知服務(wù)端計算單元創(chuàng)建ActiveX控件對象;所述ActiveX容器還用于創(chuàng)建ActiveX控件和初始化所述ActiveX控件。
[0033]所述ActiveX控件為針對窗體界面內(nèi)嵌在Firefox瀏覽器中運(yùn)行并實現(xiàn)IDispatch 接口的 ActiveX 控件。
[0034]值得一提的是,本實施方式中的ActiveX控件可以為針對窗體界面內(nèi)嵌在Firefox瀏覽器中運(yùn)行并實現(xiàn)IDispatch接口的ActiveX控件。
[0035]由此可見,本發(fā)明實現(xiàn)了在Linux系統(tǒng)下的Firefox瀏覽器中運(yùn)行并顯示ActiveX控件,并且實現(xiàn)了依據(jù)交互代理中間件進(jìn)行跨平臺的交互。不僅如此,ActiveX控件使用環(huán)境和ActiveX控件運(yùn)行環(huán)境還分屬于不同的計算單元,本發(fā)明還實現(xiàn)了 Firefox瀏覽器與ActiveX控件之間提供一層供二者交互的機(jī)制。
【權(quán)利要求】
1.一種Linux系統(tǒng)中Firefox瀏覽器下運(yùn)行ActiveX控件的方法,采用雙計算單元體系結(jié)構(gòu)的計算機(jī)系統(tǒng),其中,客戶端計算單元的操作系統(tǒng)基于Linux系統(tǒng),服務(wù)端計算單元的操作系統(tǒng)基于Windows系統(tǒng),其特征在于,客戶端計算單元中的Firefox瀏覽器通過Firefox插件經(jīng)交互代理中間件同服務(wù)端計算單元中的ActiveX容器交互,具體包括以下步驟: (1)在Linux系統(tǒng)中的Firefox瀏覽器中創(chuàng)建Firefox插件,并在Firefox瀏覽器中顯示服務(wù)端的ActiveX控件信息; (2)對ActiveX控件屬性和方法的處理,F(xiàn)irefox插件解析JavaScript腳本用于ActiveX控件的操作行為,通過交互代理中間件來間接訪問ActiveX控件的屬性和方法; (3)對ActiveX控件事件的處理,在服務(wù)端的ActiveX容器可以捕獲ActiveX控件事件信息并發(fā)送到客戶端通知Firefox插件處理。
2.按照權(quán)利要求1所述的Linux系統(tǒng)中Firefox瀏覽器下運(yùn)行ActiveX控件的方法,其特征在于,所述的在Linux系統(tǒng)中的Firefox瀏覽器中創(chuàng)建Firefox插件,該插件用于ActiveX控件讀取和顯示,對服務(wù)端的ActiveX控件操作行為實時反映在客戶端的Firefox瀏覽器中;所述的Firefox插件實現(xiàn)了 Firefox瀏覽器的JavaScript腳本支持框架所定義的相關(guān)接口。
3.按照權(quán)利要求1所述的Linux系統(tǒng)中Firefox瀏覽器下運(yùn)行ActiveX控件的方法,其特征在于,所述步驟(1)中的在Firefox瀏覽器中顯示服務(wù)端的ActiveX控件信息步驟為: (11)Firefox插件利用交互代理中間件啟動服務(wù)端的ActiveX容器; (12)Firefox插件通過窗口消息通訊將創(chuàng)建ActiveX控件對象所需CLSID及相關(guān)初始化參數(shù)傳遞給ActiveX容器,ActiveX容器使用COM庫函數(shù)創(chuàng)建ActiveX控件對象; (13)通過Firefox插件將處理結(jié)果及ActiveX控件本身界面返回給Firefox瀏覽器,并在Firefox瀏覽器相應(yīng)位置呈現(xiàn)出來。
4.按照權(quán)利要求1所述的Linux系統(tǒng)中Firefox瀏覽器下運(yùn)行ActiveX控件的方法,其特征在于,所述的步驟(2)中包括以下子步驟: (21)客戶端的Firefox插件解析ActiveX控件操作行為的JavaScript腳本,獲取JavaScript腳本作用于ActiveX控件的操作行為,通過交互代理中間件通知服務(wù)端ActiveX容器需要訪問ActiveX控件的屬性和方法; (22)服務(wù)端ActiveX容器接收交互代理中間件訪問ActiveX控件的屬性和方法的消息,同時把消息攜帶數(shù)據(jù)中的屬性或方法參數(shù)解析為Variant數(shù)據(jù)類型,通過IDispatch接口訪問ActiveX控件的屬性和方法。
5.按照權(quán)利要求1所述的Linux系統(tǒng)中Firefox瀏覽器下運(yùn)行ActiveX控件的方法,其特征在于,所述的步驟(3)中對ActiveX控件事件的處理,其中ActiveX容器實現(xiàn)了 COM事件接口的接收器,通過該容器來捕獲ActiveX控件事件。
6.按照權(quán)利要求5所述的Linux系統(tǒng)中Firefox瀏覽器下運(yùn)行ActiveX控件的方法,其特征在于,所述的步驟(3)包括以下子步驟: (31)當(dāng)ActiveX控件事件發(fā)生時,在ActiveX容器的事件響應(yīng)函數(shù)中,使用ActiveX控件的方法來獲取事件DISPID對應(yīng)的事件名;(32)ActiveX容器將上述事件名發(fā)送到交互代理中間件,通知客戶端Firefox插件處理。
7.一種在Linux系統(tǒng)中Firefox瀏覽器下運(yùn)行ActiveX控件的系統(tǒng),基于雙計算單元體系結(jié)構(gòu)的計算機(jī)系統(tǒng),其中,客戶端計算單元的操作系統(tǒng)基于Linux系統(tǒng),服務(wù)端計算單元的操作系統(tǒng)基于Windows系統(tǒng),其特征在于,客戶端計算單元中的Firefox瀏覽器通過Firefox插件經(jīng)交互代理中間件同服務(wù)端計算單元中的ActiveX容器交互;所述Firefox插件用于解析整理網(wǎng)頁中定義的ActiveX控件信息數(shù)據(jù)形成控制命令;所述ActiveX容器用于根據(jù)控制命令攜帶的相關(guān)信息調(diào)用相應(yīng)ActiveX控件進(jìn)行處理,并將處理結(jié)果及ActiveX控件本身界面返回給客戶端計算單元中的Firefox瀏覽器。
8.按照權(quán)利要求7所述的在Linux系統(tǒng)中Firefox瀏覽器下運(yùn)行ActiveX控件的系統(tǒng),其特征在于,所述客戶端計算單元的Firefox瀏覽器還用于創(chuàng)建Firefox插件,通過交互代理中間件通知服務(wù)端計算單元創(chuàng)建ActiveX控件對象;所述ActiveX容器還用于創(chuàng)建ActiveX控件和初始化所述ActiveX控件。
9.按照權(quán)利要求8所述的在Linux系統(tǒng)中Firefox瀏覽器下運(yùn)行ActiveX控件的系統(tǒng),其特征在于,所述ActiveX控件為針對窗體界面內(nèi)嵌在Firefox瀏覽器中運(yùn)行并實現(xiàn)IDispatch 接口的 ActiveX 控件。
【文檔編號】G06F9/44GK103699380SQ201310703576
【公開日】2014年4月2日 申請日期:2013年12月19日 優(yōu)先權(quán)日:2013年12月19日
【發(fā)明者】劉毅, 梁雄偉, 彭濤, 馬小峰, 范天田 申請人:瑞達(dá)信息安全產(chǎn)業(yè)股份有限公司