專利名稱:在客戶端中提供服務(wù)的方法和客戶端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及客戶端開發(fā)領(lǐng)域,特別涉及一種在客戶端中提供服務(wù)的方法和客戶端。
背景技術(shù):
通常,在終端上會安裝有各種應(yīng)用程序,這種應(yīng)用程序又稱為客戶端,客戶端的種類多種多樣,完成的功能也各不相同,提供的界面風(fēng)格也不盡相同。例如,word提供編輯doc文件的功能,photoshop提供繪圖的功能等。傳統(tǒng)的開發(fā)客戶端的過程中,客戶端界面的開發(fā)占據(jù)了大量的人力和時間。并且,如果要在多個不同的操作系統(tǒng)中發(fā)布客戶端,則無可避免的需要針對不同的操作系統(tǒng),開發(fā)出多套界面來滿足需求,過程復(fù)雜且周期較長。
發(fā)明內(nèi)容
為了解決現(xiàn)有技術(shù)中客戶端開發(fā)過程復(fù)雜且周期較長的問題,本發(fā)明實施例提供了一種在客戶端中提供服務(wù)的方法和客戶端。所述技術(shù)方案如下:一方面,一種在客戶端中提供服務(wù)的方法,包括:在客戶端的進程中,加載頁面文件,并加載瀏覽器內(nèi)核;所述瀏覽器內(nèi)核解析所述頁面文件,生成所述客戶端的界面,并得到腳本對象;所述瀏覽器內(nèi)核中的腳本引擎根據(jù)所述腳本對象,調(diào)用服務(wù)組件,在生成的客戶端的界面中提供相應(yīng)的服務(wù)。另一方面,一種客戶端,包括:加載模塊,用于在客戶端的進程中,加載頁面文件,并加載瀏覽器內(nèi)核;所述瀏覽器內(nèi)核,用于解析所述加載模塊加載的所述頁面文件,生成所述客戶端的界面,并得到腳本對象,還用于通過內(nèi)置的腳本引擎根據(jù)所述腳本對象,調(diào)用服務(wù)組件,在生成的客戶端的界面中提供相應(yīng)的服務(wù)。本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:通過在客戶端進程中加載頁面文件和瀏覽器內(nèi)核,由瀏覽器內(nèi)核解析頁面文件生成客戶端界面及得到腳本對象,并通過瀏覽器內(nèi)核中的腳本引擎根據(jù)腳本對象調(diào)用服務(wù)組件,在生成的客戶端的界面內(nèi)提供相應(yīng)的服務(wù),實現(xiàn)了結(jié)合web技術(shù)和瀏覽器內(nèi)核的客戶端,客戶端界面是由瀏覽器內(nèi)核解析頁面文件后生成的,與現(xiàn)有技術(shù)相比,無需在開發(fā)包中單獨編寫界面的開發(fā)代碼,使得界面開發(fā)的大量工作通過瀏覽器內(nèi)核得到了簡化,極大地縮短了開發(fā)周期;而且,瀏覽器內(nèi)核基于頁面文件中的元素進行界面繪制,這種方式不再受不同操作系統(tǒng)的限制,開發(fā)出的客戶端可以應(yīng)用于任何操作系統(tǒng),無需針對不同的操作系統(tǒng)進行不同的開發(fā),從而極大地簡化了開發(fā)過程,降低了開發(fā)的難度,提高了開發(fā)效率。
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明實施例提供的在客戶端中提供服務(wù)的方法一種流程圖;圖2是本發(fā)明實施例提供的在客戶端中提供服務(wù)的方法另一種流程圖;圖3是本發(fā)明實施例提供的客戶端的界面示意圖;圖4是本發(fā)明實施例提供的在客戶端中提供服務(wù)的流程示意圖;圖5是本發(fā)明實施例提供的客戶端的一種結(jié)構(gòu)圖;圖6是本發(fā)明實施例提供的客戶端的另一種結(jié)構(gòu)圖。
具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進一步地詳細描述。本發(fā)明實施例涉及瀏覽器內(nèi)核和腳本引擎。所述瀏覽器內(nèi)核是指“RenderingEngine”,也可翻譯為“解釋引擎”。它主要負責(zé)對網(wǎng)頁語法的解釋,并渲染網(wǎng)頁。所述網(wǎng)頁語法包括:HTML(Hypertext Markup Language,超文本標(biāo)記語言),JS (JavaScript,腳本)等等。因此,瀏覽器內(nèi)核也就是瀏覽器所采用的渲染引擎。所述腳本引擎是一個計算機編程語言的解釋器,如用于建網(wǎng)站的ASP (Active Server Page,動態(tài)服務(wù)器頁面)、PHP (HypertextPr印rocessor,超級文本預(yù)處理語言)、JS等,它的功能是解釋執(zhí)行用戶的程序文本,將它譯成計算機能執(zhí)行的機器代碼,從而完成一系列的功能。參見圖1,本發(fā)明一實施例提供了一種在客戶端中提供服務(wù)的方法,包括:101:在客戶端的進程中,加載頁面文件,并加載瀏覽器內(nèi)核;102:瀏覽器內(nèi)核解析頁面文件,生成客戶端的界面,并得到腳本對象;103:瀏覽器內(nèi)核中的腳本引擎根據(jù)腳本對象,調(diào)用服務(wù)組件,在生成的客戶端的界面中提供相應(yīng)的服務(wù)。本發(fā)明實施例中,所述頁面文件是指包含有客戶端界面上的相關(guān)信息的文件。所述客戶端界面上的相關(guān)信息包括但不限于:客戶端界面的元素布局、界面風(fēng)格、按鈕操作等等,這些信息具體地描述了客戶端的界面,因此,可以通過這些信息繪制出客戶端界面。優(yōu)選地,所述頁面文件為HTML文件。當(dāng)所述頁面文件為HTML文件時,步驟102可以具體包括:瀏覽器內(nèi)核解析HTML文件,讀取HTML文件指定的CSS (Cascading Style Sheet,層疊樣式表)和JS ;根據(jù)HTML文件中的標(biāo)記元素和CSS繪制客戶端的界面,并根據(jù)JS得到腳本對象。其中,HTML文件中的標(biāo)記元素描述界面的元素布局,CSS描述界面的風(fēng)格,JS描述界面上的控件操作。本發(fā)明實施例中,當(dāng)需要開發(fā)不同界面的客戶端時,可以創(chuàng)建不同的頁面文件,通過不同的頁面文件來得到不同的客戶端界面,充分滿足了個性化的需求。而且,通過創(chuàng)建不同的頁面文件來更改客戶端界面,與傳統(tǒng)的修改界面源代碼相比,簡單方便,極大地降低了工作量。本發(fā)明實施例中的所述腳本對象包括:腳本引擎中內(nèi)置的腳本對象,和/或,自定義的腳本對象,本發(fā)明對此不限定。用戶可以根據(jù)需要定義不同的腳本對象,腳本引擎可以在運行環(huán)境中嵌入這些自定義的腳本對象,并通過這些腳本對象來調(diào)用服務(wù)組件。不同的瀏覽器內(nèi)核,其腳本引擎嵌入腳本對象的方法各不相同,如IE、Chrome, Firefox這三種瀏覽器內(nèi)核的腳本引擎就采用不同的方法來嵌入腳本對象,此處不做過多說明。本發(fā)明實施例中的所述服務(wù)組件包括:操作系統(tǒng)提供的通用服務(wù)組件,和/或,擴展后的服務(wù)組件,本發(fā)明對此不限定。由于通用服務(wù)組件的功能通常比較有限,優(yōu)選地,采用擴展后的服務(wù)組件以完成各種需求的功能,包括但不限于:訪問文件的功能,創(chuàng)建進程線程的功能,或與其他客戶端建立TCP (Transmission Control Protocol,傳輸控制協(xié)議)或UDP(User Datagram Protocol,用戶數(shù)據(jù)包協(xié)議)通訊的功能等等,本發(fā)明對此不限定。例如,可以通過擴展網(wǎng)絡(luò)服務(wù)組件和存儲服務(wù)組件,實現(xiàn)兩個客戶端之間傳輸文件的功能,具有較強的實用性。本發(fā)明實施例中涉及的用戶是指客戶端的開發(fā)人員,后面的實施例中的用戶具有相同的含義,因此,不再一一聲明。本實施例提供的上述方法,通過在客戶端進程中加載頁面文件和瀏覽器內(nèi)核,由瀏覽器內(nèi)核解析頁面文件生成客戶端界面及得到腳本對象,并通過瀏覽器內(nèi)核中的腳本引擎根據(jù)腳本對象調(diào)用服務(wù)組件,在客戶端的界面內(nèi)提供相應(yīng)的服務(wù),實現(xiàn)了結(jié)合web技術(shù)和瀏覽器內(nèi)核的客戶端開發(fā),客戶端界面是由瀏覽器內(nèi)核解析頁面文件后生成的,與現(xiàn)有技術(shù)相比,無需在開發(fā)包中單獨編寫界面的開發(fā)代碼,使得界面開發(fā)的大量工作通過瀏覽器內(nèi)核得到了簡化,極大地縮短了開發(fā)周期;而且,瀏覽器內(nèi)核基于頁面文件中的元素進行界面繪制,這種使用web技術(shù)的方式不再受不同操作系統(tǒng)的限制,開發(fā)出的客戶端可以應(yīng)用于任何操作系統(tǒng),無需針對不同的操作系統(tǒng)進行不同的開發(fā),從而極大地簡化了開發(fā)過程,降低了開發(fā)的難度,提高了開發(fā)效率。參見圖2,本發(fā)明另一實施例提供了一種在客戶端中提供服務(wù)的方法,包括:201:在客戶端的進程中,加載頁面文件,并加載瀏覽器內(nèi)核,在本實施例中,所述頁面文件具體為HTML文件。具體地,可以通過加載器來進行頁面文件和瀏覽器內(nèi)核的加載。202:瀏覽器內(nèi)核解析該HTML文件,讀取該HTML文件中指定的CSS和JS,其中,通過讀取JS可以得到腳本對象。通常,HTML文件中都會指定待繪制的頁面所使用的CSS和JS,其中,HTML、CSS和JS的含義與上述實施例中的描述相同,此處不贅述。203:瀏覽器內(nèi)核根據(jù)HTML文件中的標(biāo)記元素和CSS繪制客戶端的界面。具體地,瀏覽器內(nèi)核根據(jù)HTML文件中的標(biāo)記元素和CSS生成界面的渲染圖片,在客戶端的窗口上繪制該渲染圖片得到客戶端的界面,其中,所述客戶端的窗口無默認的背景和邊框。所述客戶端的窗口是在創(chuàng)建客戶端的進程時就已經(jīng)創(chuàng)建的一個窗口,是客戶端界面的載體?,F(xiàn)有技術(shù)中在繪制客戶端界面時,是先在該窗口上繪制默認的背景,然后再將界面的渲染圖片繪制在該背景上,由于繪制默認的背景必然具有形狀和顏色等屬性,因此,生成的界面也必然受到這些屬性的限制,如繪制的背景為長方形時根本無法滿足正方形客戶端界面的需求等等。本發(fā)明實施例中,省略了繪制默認背景的步驟,而是直接在客戶端的窗口上繪制界面,繪制出的界面完全由頁面文件決定,繪制的界面就是渲染圖片本身,沒有不必要的界面元素,如不會附帶默認的窗口背景和邊框等,所述邊框是指窗口背景以外的部分,位于窗口的周圍,其上還可以有標(biāo)題欄,按鈕等。另外,本發(fā)明實施例中繪制出的界面可以是任意形狀,還可以包括透明的處理,如界面全部透明或局部透明等等。這種方式不受背景及窗口屬性的任何限制,可以滿足任何需求的界面,極大地提高了應(yīng)用的靈活性,具有很強的實用性。例如,參見圖3,本實施例使用HTML繪制的界面,可以為圖3左邊所示的有統(tǒng)一邊框的界面,或者也可以為圖3右邊所示的沒有邊框的界面,而現(xiàn)有技術(shù)無法做到繪制沒有邊框的界面。204:瀏覽器內(nèi)核中的腳本引擎根據(jù)所述腳本對象,調(diào)用服務(wù)組件,在生成的客戶端的界面中提供相應(yīng)的服務(wù)。本實施例中的所述腳本對象包括:腳本引擎中內(nèi)置的腳本對象,和/或,自定義的腳本對象;所述服務(wù)組件包括:操作系統(tǒng)提供的通用服務(wù)組件,和/或,擴展后的服務(wù)組件,具體同上述實施例的描述,此處不贅述。另外,本實施例中還可以采用使用插件的方式在客戶端的界面提供相應(yīng)的服務(wù)。所述插件包括但不限于:IE瀏覽器的ActiveX插件,或其它瀏覽器的NP (Netscape Plugin,網(wǎng)景插件)插件等等,這些插件可以提供客戶端界面上所需的各種功能。當(dāng)采用這種瀏覽器擴展方式時,需要單獨編寫插件的代碼且執(zhí)行插件的安裝步驟,并在頁面文件中指定所用插件。與所述瀏覽器擴展方式相比,采用腳本對象調(diào)用服務(wù)組件的方式,使用上更加簡單方便,更重要是安全性可控,通過內(nèi)嵌腳本對象的方式,可以完全控制腳本的訪問范圍以及訪問權(quán)限,從而極大地提高了安全性。參見圖4,為本實施例提供的上述方法的整體流程示意圖,其中,以加載器執(zhí)行加載操作為例進行說明。在客戶端的進程中,加載器先加載HTML文件以及瀏覽器內(nèi)核,然后通知瀏覽器內(nèi)核對HTML文件進行解析,瀏覽器內(nèi)核通過解析HTML文件以及其指定的CSS和JS,得到腳本對象,根據(jù)HTML和CSS繪制客戶端界面,并由瀏覽器內(nèi)核中的腳本引擎根據(jù)該腳本對象調(diào)用服務(wù)組件,在客戶端的界面中提供相應(yīng)的服務(wù)。在圖1或圖2所示的實施例的基礎(chǔ)上,進一步地,在加載頁面文件之后,還可以包括:在頁面文件中讀取客戶端的版本信息;向服務(wù)器查詢客戶端是否有最新版本;如果是,則提示用戶是否下載客戶端的最新版本,當(dāng)用戶選擇下載時,從服務(wù)器下載客戶端的最新版本的頁面文件。通過解析頁面文件的版本信息,可以確定客戶端是否有最新版本,從而可以根據(jù)用戶的需要完成最新版本的頁面文件的下載,能夠達到客戶端及時更新版本的效果。而且,在沒有最新的版本時,無需進行多余的下載操作,減輕了服務(wù)器的流量壓力。其中,可以在每次加載頁面文件后,都進行版本信息的判斷,或者也可以定期地對版本信息進行判斷,本發(fā)明對此不限定。另外,本發(fā)明提供的上述任一種方法中,為了進一步地提高安全性,所述頁面文件優(yōu)選地為加密的頁面文件,相應(yīng)地,所述加載頁面文件,具體包括:先對加密的頁面文件進行解密,然后加載解密后的頁面文件。例如,從服務(wù)器下載最新版本的頁面文件時,頁面文件以加密后的密文形式傳輸,從而可以避免頁面文件被非法用戶截獲,以及惡意修改等危險,提高了安全性。本實施例中,所述服務(wù)組件包括:網(wǎng)絡(luò)服務(wù)組件、存儲服務(wù)組件、進程線程服務(wù)組件和媒體服務(wù)組件中的至少一種。所述網(wǎng)絡(luò)服務(wù)組件提供網(wǎng)絡(luò)通訊的功能,如客戶端之間建立TCP或UDP連接;存儲服務(wù)組件提供讀寫文件的功能;進程線程服務(wù)組件提供創(chuàng)建進程線程的功能;媒體服務(wù)組件提供訪問媒體文件的功能等等。本實施例提供的上述方法,通過在客戶端進程中加載頁面文件和瀏覽器內(nèi)核,由瀏覽器內(nèi)核解析頁面文件生成客戶端界面及得到腳本對象,并通過瀏覽器內(nèi)核中的腳本引擎根據(jù)腳本對象調(diào)用服務(wù)組件,在客戶端的界面內(nèi)提供相應(yīng)的服務(wù),結(jié)合了 web技術(shù)和瀏覽器內(nèi)核實現(xiàn)了客戶端的開發(fā),為快速搭建客戶端提供了一種可靠的方案。其中,客戶端界面是由瀏覽器內(nèi)核解析頁面文件后生成的,與現(xiàn)有技術(shù)相比,無需在開發(fā)包中單獨編寫界面的開發(fā)代碼,使得界面開發(fā)的大量工作通過瀏覽器內(nèi)核得到了簡化,極大地縮短了開發(fā)周期。而且,瀏覽器內(nèi)核基于頁面文件中的元素進行界面繪制,這種使用web技術(shù)的方式不再受不同操作系統(tǒng)的限制,讓開發(fā)人員忽略具體平臺的實現(xiàn)細節(jié),通過簡單的標(biāo)簽標(biāo)記來描述界面,所有元素的實際繪制則由瀏覽器內(nèi)核來完成,極大地減少了工作量,且開發(fā)人員無需再面對各個操作系統(tǒng)的開發(fā)平臺和SDK (SoftwareDevelopment Kit,軟件開發(fā)工具包),而是HTML標(biāo)準(zhǔn),開發(fā)出的客戶端可以應(yīng)用于任何操作系統(tǒng),無需針對不同的操作系統(tǒng)進行不同的開發(fā),從而極大地簡化了開發(fā)過程,降低了開發(fā)的難度,提高了開發(fā)效率。另外,本實施例提供的上述方法,通過腳本對象調(diào)用組件來訪問操作系統(tǒng)的資源是完全可控的,用戶可以根據(jù)安全級別的需要來設(shè)置不同的腳本對象,有選擇性地調(diào)用服務(wù)組件,從而提高操作系統(tǒng)資源訪問的安全性,與現(xiàn)有技術(shù)中調(diào)用操作系統(tǒng)的SDK可以訪問操作系統(tǒng)的所有資源相比,減少了危險操作的發(fā)生,極大地提高了安全性。參見圖5,本發(fā)明又一實施例提供了一種客戶端,包括:加載模塊501,用于在客戶端的進程中,加載頁面文件,并加載瀏覽器內(nèi)核502 ;瀏覽器內(nèi)核502,用于解析加載模塊501加載的頁面文件,生成客戶端的界面,并得到腳本對象,還用于通過瀏覽器內(nèi)核502內(nèi)置的腳本引擎根據(jù)腳本對象,調(diào)用服務(wù)組件,在生成的客戶端的界面中提供相應(yīng)的服務(wù)。參見圖6,本實施例中,所述頁面文件為超文本標(biāo)記語言HTML文件,瀏覽器內(nèi)核502包括:解析模塊502a,用于解析HTML文件,讀取HTML文件指定的層疊樣式表CSS和腳本JS,并根據(jù)JS得到腳本對象;繪制模塊502b,用于根據(jù)解析模塊502a讀取的HTML文件中的標(biāo)記元素和CSS,繪制客戶端的界面。本實施例中,進一步地,繪制模塊502b可以具體用于:根據(jù)解析模塊502a讀取的HTML文件中的標(biāo)記元素和CSS生成界面的渲染圖片,在客戶端的窗口上繪制該渲染圖片得到客戶端的界面,其中,所述客戶端的窗口無默認的背景和邊框。本實施例中,加載模塊501還可以用于:在加載頁面文件之后,在頁面文件中讀取客戶端的版本信息,向服務(wù)器查詢客戶端是否有最新版本,如果是,則提示用戶是否下載客戶端的最新版本,當(dāng)用戶選擇下載時,從服務(wù)器下載客戶端的最新版本的頁面文件。本實施例中,所述頁面文件為加密的頁面文件,加載模塊501還用于在加載頁面文件之前,對所述加密的頁面文件進行解密。本實施例中,所述服務(wù)組件包括:網(wǎng)絡(luò)服務(wù)組件、存儲服務(wù)組件、進程線程服務(wù)組件和媒體服務(wù)組件中的至少一種。本實施例提供的上述客戶端可以執(zhí)行上述方法實施例中的任一方法,具體過程詳見方法實施例中的描述,此處不贅述。本實施例提供的上述客戶端,通過在客戶端進程中加載頁面文件和瀏覽器內(nèi)核,由瀏覽器內(nèi)核解析頁面文件生成客戶端界面及得到腳本對象,并通過瀏覽器內(nèi)核中的腳本引擎根據(jù)腳本對象調(diào)用服務(wù)組件,在客戶端的界面內(nèi)提供相應(yīng)的服務(wù),結(jié)合了 web技術(shù)和瀏覽器內(nèi)核實現(xiàn)了客戶端的開發(fā),為快速搭建客戶端提供了一種可靠的方案。其中,客戶端界面是由瀏覽器內(nèi)核解析頁面文件后生成的,與現(xiàn)有技術(shù)相比,無需在開發(fā)包中單獨編寫界面的開發(fā)代碼,使得界面開發(fā)的大量工作通過瀏覽器內(nèi)核得到了簡化,極大地縮短了開發(fā)周期。而且,瀏覽器內(nèi)核基于頁面文件中的元素進行界面繪制,這種使用web技術(shù)的方式不再受不同操作系統(tǒng)的限制,讓開發(fā)人員忽略具體平臺的實現(xiàn)細節(jié),通過簡單的標(biāo)簽標(biāo)記來描述界面,所有元素的實際繪制則由瀏覽器內(nèi)核來完成,極大地減少了工作量,且開發(fā)人員無需再面對各個操作系統(tǒng)的開發(fā)平臺和SDK (SoftwareDevelopment Kit,軟件開發(fā)工具包),而是HTML標(biāo)準(zhǔn),開發(fā)出的客戶端可以應(yīng)用于任何操作系統(tǒng),無需針對不同的操作系統(tǒng)進行不同的開發(fā),從而極大地簡化了開發(fā)過程,降低了開發(fā)的難度,提高了開發(fā)效率。另外,本實施例提供的上述客戶端,通過腳本對象調(diào)用組件來訪問操作系統(tǒng)的資源是完全可控的,用戶可以根據(jù)安全級別的需要來設(shè)置不同的腳本對象,有選擇性地調(diào)用服務(wù)組件,從而提高操作系統(tǒng)資源訪問的安全性,與現(xiàn)有技術(shù)中調(diào)用操作系統(tǒng)的SDK可以訪問操作系統(tǒng)的所有資源相比,減少了危險操作的發(fā)生,極大地提高了安全性。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種在客戶端中提供服務(wù)的方法,其特征在于,所述方法包括: 在客戶端的進程中,加載頁面文件,并加載瀏覽器內(nèi)核; 所述瀏覽器內(nèi)核解析所述頁面文件,生成所述客戶端的界面,并得到腳本對象; 所述瀏覽器內(nèi)核中的腳本引擎根據(jù)所述腳本對象,調(diào)用服務(wù)組件,在生成的客戶端的界面中提供相應(yīng)的服務(wù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述頁面文件為超文本標(biāo)記語言HTML文件,所述瀏覽器內(nèi)核解析所述頁面文件,生成所述客戶端的界面,并得到腳本對象,包括: 所述瀏覽器內(nèi)核解析所述HTML文件,讀取所述HTML文件指定的層疊樣式表CSS和腳本JS ; 根據(jù)所述HTML文件中的標(biāo)記元素和所述CSS繪制所述客戶端的界面,并根據(jù)所述JS得到腳本對象。
3.根據(jù) 權(quán)利要求2所述的方法,其特征在于,根據(jù)所述HTML文件中的標(biāo)記元素和所述CSS繪制所述客戶端的界面,包括: 根據(jù)所述HTML文件中的標(biāo)記元素和所述CSS生成界面的渲染圖片,在所述客戶端的窗口上繪制所述渲染圖片得到所述客戶端的界面,其中,所述窗口無默認的背景和邊框。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,加載頁面文件之后,還包括: 在所述頁面文件中讀取所述客戶端的版本信息; 向服務(wù)器查詢所述客戶端是否有最新版本; 如果是,則提示用戶是否下載所述客戶端的最新版本,當(dāng)用戶選擇下載時,從所述服務(wù)器下載所述客戶端的最新版本的頁面文件。
5.根據(jù)權(quán)利要求1至4中任一項所述的方法,其特征在于,所述頁面文件為加密的頁面文件,加載頁面文件具體包括: 對所述加密的頁面文件進行解密,加載解密后的頁面文件。
6.根據(jù)權(quán)利要求1至4中任一項所述的方法,其特征在于,所述服務(wù)組件包括:網(wǎng)絡(luò)服務(wù)組件、存儲服務(wù)組件、進程線程服務(wù)組件和媒體服務(wù)組件中的至少一種。
7.一種客戶端,其特征在于,包括: 加載模塊,用于在客戶端的進程中,加載頁面文件,并加載瀏覽器內(nèi)核; 所述瀏覽器內(nèi)核,用于解析所述加載模塊加載的所述頁面文件,生成所述客戶端的界面,并得到腳本對象,還用于通過內(nèi)置的腳本引擎根據(jù)所述腳本對象,調(diào)用服務(wù)組件,在生成的客戶端的界面中提供相應(yīng)的服務(wù)。
8.根據(jù)權(quán)利要求7所述的客戶端,其特征在于,所述頁面文件為超文本標(biāo)記語言HTML文件,所述瀏覽器內(nèi)核包括: 解析模塊,用于解析所述HTML文件,讀取所述HTML文件指定的層疊樣式表CSS和腳本JS,并根據(jù)所述JS得到腳本對象; 繪制模塊,用于根據(jù)所述解析模塊讀取的所述HTML文件中的標(biāo)記元素和所述CSS,繪制所述客戶端的界面。
9.根據(jù)權(quán)利要求8所述的客戶端,其特征在于,所述繪制模塊具體用于:根據(jù)所述解析模塊讀取的所述HTML文件中的標(biāo)記元素和所述CSS生成界面的渲染圖片,在所述客戶端的窗口上繪制所述渲染圖片得到所述客戶端的界面,其中,所述窗口無默認的背景和邊框。
10.根據(jù)權(quán)利要求7所述的客戶端,其特征在于,所述加載模塊還用于:在加載頁面文件之后,在所述頁面文件中讀取所述客戶端的版本信息,向服務(wù)器查詢所述客戶端是否有最新版本,如果是,則提示用戶是否下載所述客戶端的最新版本,當(dāng)用戶選擇下載時,從所述服務(wù)器下載所述客戶端的最新版本的頁面文件。
11.根據(jù)權(quán)利要求7至10中任一項所述的客戶端,其特征在于,所述頁面文件為加密的頁面文件,所述加載模塊還用于在加載頁面文件之前,對所述加密的頁面文件進行解密。
12.根據(jù)權(quán)利要求7至10中任一項所述的客戶端,其特征在于,所述服務(wù)組件包括:網(wǎng)絡(luò)服務(wù)組件、存儲服務(wù)組 件、進程線程服務(wù)組件和媒體服務(wù)組件中的至少一種。
全文摘要
本發(fā)明公開了一種在客戶端中提供服務(wù)的方法和客戶端,屬于客戶端開發(fā)領(lǐng)域。所述方法包括在客戶端的進程中,加載頁面文件,并加載瀏覽器內(nèi)核;所述瀏覽器內(nèi)核解析所述頁面文件,生成所述客戶端的界面,并得到腳本對象;所述瀏覽器內(nèi)核中的腳本引擎根據(jù)所述腳本對象,調(diào)用服務(wù)組件,在生成的客戶端的界面中提供相應(yīng)的服務(wù)。所述客戶端包括加載模塊和瀏覽器內(nèi)核。本發(fā)明實現(xiàn)了結(jié)合web技術(shù)和瀏覽器內(nèi)核的客戶端,極大地縮短了客戶端的開發(fā)周期,降低了開發(fā)難度,且可以應(yīng)用于任何操作系統(tǒng),實用性較強。
文檔編號H04L29/08GK103179166SQ201110439649
公開日2013年6月26日 申請日期2011年12月23日 優(yōu)先權(quán)日2011年12月23日
發(fā)明者董航, 譚志輝, 蔡凱捷, 謝昕虬, 王鵬, 黃奎, 楊文澤, 李斌 申請人:騰訊科技(深圳)有限公司