本發(fā)明涉及計算機(jī)程序領(lǐng)域,尤其是一種瀏覽器擴(kuò)展組件的實(shí)現(xiàn)方法。
背景技術(shù):
在當(dāng)今的管理信息系統(tǒng)開發(fā)中,B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)的模式越來越流行。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。
B/S結(jié)構(gòu)的優(yōu)點(diǎn):具有分布性特點(diǎn),可以隨時隨地進(jìn)行查詢、瀏覽等業(yè)務(wù)處理,業(yè)務(wù)擴(kuò)展簡單方便,通過增加網(wǎng)頁即可增加服務(wù)器功能,維護(hù)簡單方便,只需要改變網(wǎng)頁,即可實(shí)現(xiàn)所有用戶的同步更新,開發(fā)簡單,共享性強(qiáng)。
但B/S模式也有一些缺點(diǎn):各瀏覽器標(biāo)準(zhǔn)不一樣,安全性高,網(wǎng)頁在瀏覽器設(shè)置的“沙箱”內(nèi)運(yùn)行,功能有限制,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。如管理信息系統(tǒng)軟件經(jīng)常要調(diào)用一些客戶端本地設(shè)備如讀卡器、加密狗等,B/S模式就必須借助一些控件技術(shù)來實(shí)現(xiàn)客戶端本地功能擴(kuò)展在當(dāng)今的管理信息系統(tǒng)開發(fā)中,B/S(Browser/Server)結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu)的模式越來越流行。它是隨著Internet技術(shù)的興起,對C/S結(jié)構(gòu)的一種變化或者改進(jìn)的結(jié)構(gòu)。
B/S結(jié)構(gòu)的優(yōu)點(diǎn):具有分布性特點(diǎn),可以隨時隨地進(jìn)行查詢、瀏覽等業(yè)務(wù)處理,業(yè)務(wù)擴(kuò)展簡單方便,通過增加網(wǎng)頁即可增加服務(wù)器功能,維護(hù)簡單方便,只需要改變網(wǎng)頁,即可實(shí)現(xiàn)所有用戶的同步更新,開發(fā)簡單,共享性強(qiáng)。
但B/S模式也有一些缺點(diǎn):各瀏覽器標(biāo)準(zhǔn)不一樣,安全性高,網(wǎng)頁在瀏覽器設(shè)置的“沙箱”內(nèi)運(yùn)行,功能有限制,難以實(shí)現(xiàn)傳統(tǒng)模式下的特殊功能要求。如管理信息系統(tǒng)軟件經(jīng)常要調(diào)用一些客戶端本地設(shè)備如讀卡器、加密狗等,B/S模式就必須借助一些控件技術(shù)來實(shí)現(xiàn)客戶端本地功能擴(kuò)展。
目前主要的瀏覽器主要有:微軟公司傳統(tǒng)IE瀏覽器和WIN10新發(fā)布的EDGE新型瀏覽器、網(wǎng)景公司FireFox和Google Chrome瀏覽器,各瀏覽器實(shí)現(xiàn)的插件技術(shù)不一樣,微軟公司IE瀏覽器使用的是COM技術(shù),也稱ActiveX控件技術(shù),用于實(shí)現(xiàn)IE瀏覽器功能的擴(kuò)展,加上數(shù)字簽名技術(shù),在不修改IE安全級別的前提下,可實(shí)現(xiàn)功能的擴(kuò)展,但WIN10新發(fā)布的EDGE瀏覽器已經(jīng)不支持微軟自己的ActiveX控件技術(shù),網(wǎng)景公司FireFox以網(wǎng)景插件應(yīng)用程序編程接口(NPAPI)技術(shù)實(shí)現(xiàn)控件擴(kuò)展,Google Chrome 42以前的版本也支持NPAPI技術(shù),但Chrome新版本已經(jīng)不再支持NPAPI技術(shù),轉(zhuǎn)為使用PPAPI技術(shù).
由于瀏覽器作為軟件界面框架廣泛應(yīng)用,給用戶帶來方便,同時也帶來了麻煩,發(fā)布支持所有瀏覽器的客戶端擴(kuò)展功能組件時需要考慮各類瀏覽器使用的技術(shù),需求重復(fù)開發(fā)插件功能。發(fā)布應(yīng)用成本相對較高,效率也低,對經(jīng)常需要修改或擴(kuò)展功能的客戶端程序維護(hù)相對復(fù)雜,而且瀏覽器的升級換代也會造成客戶端組件被迫升級。
故,需要一種新的技術(shù)方案以解決上述問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提出一種基于CORS的亞米級組合定位導(dǎo)航系統(tǒng)及導(dǎo)航方法,能夠提高衛(wèi)星定位精度,同時結(jié)合慣性導(dǎo)航在復(fù)雜環(huán)境下提供連續(xù)穩(wěn)定的位置信息。
為達(dá)到上述目的,本發(fā)明可采用如下技術(shù)方案:
一種支持瀏覽器的客戶端功能擴(kuò)展組件的實(shí)現(xiàn)方法,包括以下步驟;
(1)、在客戶端安裝HTTP服務(wù)程序框架;該HTTP服務(wù)程序框架以操作系統(tǒng)服務(wù)形式安裝;
(2)、提供瀏覽器與HTTP服務(wù)程序框架交互的API,瀏覽器通過標(biāo)準(zhǔn)的HTTP訪問技術(shù)與HTTP服務(wù)程序框架交互;
(3)、客戶端的擴(kuò)展功能通過開發(fā)功能DLL,可將DLL放入WEB應(yīng)用遠(yuǎn)程服務(wù)器,HTTP服務(wù)程序框架在調(diào)用時將該DLL下載到本地進(jìn)行調(diào)用;
(4)、當(dāng)用戶使用頁面交互功能時,程序頁面通過調(diào)用API方法,該API方法按功能模塊的DLL名稱來調(diào)用具體該模塊中的功能函數(shù);
(5)、本地HTTP服務(wù)程序框架加載服務(wù)DLL,然后根據(jù)功能名稱查找到服務(wù)DLL中的功能函數(shù)。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:
本發(fā)明提供一種支持瀏覽器的客戶端功能擴(kuò)展組件的實(shí)現(xiàn)方法,在不修改代理框架的情況下,可以擴(kuò)展組件的功能,有效代替目前Internet上發(fā)布跨瀏覽器插件。并且,本發(fā)明也實(shí)現(xiàn)一種本地HTTP WEB服務(wù)器的技術(shù),將瀏覽器控件以提供的功能轉(zhuǎn)化為服務(wù),并將服務(wù)功能獨(dú)立與瀏覽器本身,使用DLL(動態(tài)連接庫)技術(shù)實(shí)現(xiàn)擴(kuò)展的具體功能實(shí)現(xiàn)。
附圖說明
圖1是本發(fā)明支持瀏覽器的客戶端功能擴(kuò)展組件的實(shí)現(xiàn)方法流程圖。
具體實(shí)施方式
本發(fā)明主要針目前編寫支持所有瀏覽器的客戶端功能擴(kuò)展組件的實(shí)現(xiàn)過于復(fù)雜而提出的一種支持所有瀏覽器的客戶端功能擴(kuò)展組件的實(shí)現(xiàn)方法,針對現(xiàn)在缺陷,本發(fā)明將實(shí)現(xiàn)一個通用的支持所有瀏覽器的客戶端功能擴(kuò)展組件的技術(shù)框架,使用所有瀏覽器都必須支持的HTTP技術(shù)來統(tǒng)一實(shí)現(xiàn)客戶端功能擴(kuò)展,不依賴于瀏覽器本身的插件技術(shù),同時也可以無限擴(kuò)展組件的功能,有效低降低Internet上發(fā)布跨瀏覽器插件的成本。
本發(fā)明所提供的支持所有瀏覽器的客戶端功能擴(kuò)展組件的實(shí)現(xiàn)方法,是基瀏覽器的HTTP協(xié)議實(shí)現(xiàn)的,瀏覽器本身是一個支持HTTP協(xié)議調(diào)用的客戶端,可以發(fā)出標(biāo)準(zhǔn)的HTTP請求,并將請求的返回的HTML顯示在頁面上,本發(fā)明主要思路是在本地操作系統(tǒng)中實(shí)現(xiàn)一個輕量級的HTTP服務(wù)程序框架,瀏覽器通過HTTP協(xié)議與這個HTTP服務(wù)程序交互,通過本發(fā)明的客戶端封裝的Javascript Api,瀏覽器可以實(shí)現(xiàn)與本地HTTP服務(wù)程序交互,并可以調(diào)用HTTP服務(wù)程序中的擴(kuò)展功能模塊,實(shí)現(xiàn)支持所有瀏覽器的客戶端功能擴(kuò)展的方法。本發(fā)明主要包括以下步驟:
在客戶端安裝HTTP服務(wù)程序框架(或稱為HTTP服務(wù)器),該HTTP服務(wù)程序框架以操作系統(tǒng)服務(wù)形式安裝,如WINDOW操作系統(tǒng)下為window Services并運(yùn)行在session0/system用戶權(quán)限中,在LINUX操作系統(tǒng)下為etc/init.d。
提供瀏覽器與本地HTTP服務(wù)程序框架交互的API,瀏覽器通過標(biāo)準(zhǔn)的HTTP訪問技術(shù)與HTTP服務(wù)程序框架交互,因本地HTTP服務(wù)與WEB應(yīng)用本身的遠(yuǎn)程服務(wù)器不可能在同一個網(wǎng)絡(luò)域,本發(fā)明巧妙通過所有瀏覽器都支持的標(biāo)準(zhǔn)script標(biāo)簽解決HTTP跨域訪問的問題。
本地HTTP服務(wù)程序框架的擴(kuò)展功能通過開發(fā)功能DLL(動態(tài)連接庫模塊),可將DLL放入WEB應(yīng)用遠(yuǎn)程服務(wù)器,本地的HTTP服務(wù)器在調(diào)用時將該DLL下載到本地進(jìn)行調(diào)用,,如果本地版本與服務(wù)器版本不一致,將重新更新本地的服務(wù)DLL.
當(dāng)用戶使用頁面交互功能時,程序頁面通過調(diào)用本發(fā)明提供的API方法CallExtension(‘模塊名稱’,’函數(shù)名稱’),該方法按功能模塊的DLL名稱來調(diào)用具體該模塊中的功能函數(shù)。
本地HTTP服務(wù)程序加載服務(wù)DLL,然后根據(jù)功能名稱查找到服務(wù)DLL中的功能函數(shù),本發(fā)明將服務(wù)DLL中的功能函數(shù)接口模式進(jìn)行了統(tǒng)一的規(guī)范,所以的功能函數(shù)都使用簡單的IPO(輸入緩存區(qū)-處理-輸出緩存區(qū))定義,將輸入?yún)?shù)設(shè)置入輸入緩存區(qū),進(jìn)行統(tǒng)一的調(diào)用處理后,將結(jié)果輸出到輸出緩存區(qū)。