專利名稱:一種生成Widget圖標(biāo)的方法、Widget摘要文件的生成方法及Widget引擎的制作方法
技術(shù)領(lǐng)域:
本發(fā)明實(shí)施例涉及計(jì)算機(jī)領(lǐng)域,特別是涉及一種生成Widget圖標(biāo)的方法、Widget 摘要文件的生成方法及Widget引擎。
背景技術(shù):
隨著移動(dòng)互聯(lián)網(wǎng)的迅速發(fā)展,微件(Widget)的出現(xiàn)讓互聯(lián)網(wǎng)的發(fā)展又提高了一 個(gè)階段,當(dāng)然widget可以稱為微技。Widget是一種基于JavaScript的應(yīng)用程序平臺(tái),也可 以認(rèn)為是一個(gè)基于網(wǎng)絡(luò)、可以獨(dú)立在桌面運(yùn)行的實(shí)用小工具,通常是打包成一個(gè)文件被客 戶端下載并安裝使用。用戶通過Widget可以享受新聞閱讀、天氣資訊、圖片瀏覽等業(yè)務(wù)。由于每個(gè)Widget對應(yīng)一個(gè)圖標(biāo),用戶需要通過點(diǎn)擊Widget圖標(biāo)去查看該Widget 中的內(nèi)容。當(dāng)下載的Widget有內(nèi)容更新時(shí),用戶需要點(diǎn)擊每個(gè)Widget圖標(biāo)去查看更新的 內(nèi)容,這會(huì)導(dǎo)致用戶頻繁的操作,從而影響到用戶的使用心情。浮動(dòng)Widget技術(shù)的出現(xiàn),通過在Widget管理器面板的圖標(biāo)上顯示W(wǎng)idget內(nèi)容更 新的提示信息,使得用戶不需要進(jìn)入Widget的詳細(xì)頁面就可以了解到Widget內(nèi)容更新的 情況,從而減少了用戶的頻繁的操作。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下缺點(diǎn)現(xiàn)有技術(shù)中的 浮動(dòng)Widget技術(shù)需要占用大量的資源,由于該技術(shù)中的每個(gè)Widget需要在系統(tǒng)中保留一 些線程,以完成用戶操作響應(yīng)、信息更新等,以手機(jī)終端為例,由于手機(jī)終端本身能分配的 線程數(shù)很稀少,如果使用現(xiàn)有技術(shù),則會(huì)導(dǎo)致手機(jī)終端的線程資源被占用,就會(huì)造成手機(jī)的 使用效率很低。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種生成Widget圖標(biāo)的方法、Widget摘要文件的生成方法及 Widget引擎,以減少運(yùn)行Widget時(shí)所占用的系統(tǒng)資源。根據(jù)本發(fā)明的一方面,提供一種生成Widget圖標(biāo)的方法,所述方法包括獲得Widget摘要文件;解析所述Widget摘要文件,并生成DOM樹;根據(jù)所述DOM樹生成Widget圖標(biāo)。根據(jù)本發(fā)明的另一方面,還提供一種Widget摘要文件的生成方法,所述方法包 括模擬運(yùn)行Widget以生成DOM樹;獲得所述DOM樹的重要信息的代碼,所述重要信息的代碼包括執(zhí)行生成客戶端的 本地信息和從服務(wù)器獲得信息操作相關(guān)聯(lián)的代碼;將所述代碼生成所述Widget摘要文件。根據(jù)本發(fā)明的另一方面,還提供一種生成Widget圖標(biāo)的Widget引擎,所述Widget引擎包括管理單元及解析單元;所述管理單元還包括加載子單元,用于獲得Widget摘要文件,并調(diào)用所述解析單元以解析所述Widget 摘要文件和執(zhí)行解析后的Widget摘要文件;更新子單元,用于根據(jù)執(zhí)行后的Widget摘要文件生成Widget圖標(biāo)。采用上述提供的技術(shù)方案,通過獲得所述DOM樹中的重要信息的代碼以生成所述 Widget摘要文件,從而去除了與用戶交互的代碼,也就減少了在運(yùn)行Widget時(shí)需要保留執(zhí) 行與用戶的交互操作的線程,從而可以減少占用的系統(tǒng)資源。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例描述 中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些 實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些 附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例的Widget摘要文件的生成方法的流程圖;圖2為本發(fā)明實(shí)施例的Widget圖標(biāo)的生成方法的流程圖;圖3A為本發(fā)明實(shí)施例的Widget摘要文件的生成裝置的結(jié)構(gòu)圖;圖3B為本發(fā)明另一實(shí)施例的Widget摘要文件的生成裝置的結(jié)構(gòu)圖;圖4為本發(fā)明實(shí)施例的widget引擎的結(jié)構(gòu)圖;圖5為本發(fā)明實(shí)施例的客戶端設(shè)備的結(jié)構(gòu)圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于 本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。在本實(shí)施例中,Widget可以看作是運(yùn)行在Widget引擎中的WEB頁面,Widget通 過阿賈克斯(Asynchronous JavaScript and XML, Ajax)技術(shù)開發(fā),由html技術(shù)表示頁面 的內(nèi)容,由ess技術(shù)表示頁面的展現(xiàn)形式,并由javascript技術(shù)表示頁面的程序邏輯。在 通常的情況下,Widget包括HTML文件、CSS文件、JavaScript文件、配置文件、簽名文件、 圖片資源文件等。在服務(wù)器會(huì)將這些文件打包成一個(gè)特定類型的Widget包(如wgt格式 的包),供用戶下載使用。需要說明的是,HTML文件、CSS文件、JavaScript文件也可以統(tǒng) 稱為HTML文件,配置文件的格式為xml格式,用于描述配置信息;簽名文件的格式為xml格 式,用于數(shù)字簽名;圖片資源文件包括icon文件和thumbnail文件,其中,icon文件可以有 png或gif或ico或svg格式,用于估j(默認(rèn)圖標(biāo),thumbnail文件可以有png或gif或ico 或svg格式,用于做小圖標(biāo)。在本實(shí)施例中,在原有的Widget中再增加一個(gè)Widget摘要文件,即再增加一個(gè)包 括Widget的內(nèi)容的摘要的文件。需要說明的是,本實(shí)施例中的Widget摘要文件與傳統(tǒng)的 摘要文件不同,Widget摘要文件不是一個(gè)獨(dú)立的文本文件,而是一個(gè)Ajax文件,其中包括
5javascript代碼,該javascript代碼可以動(dòng)態(tài)的從服務(wù)器上獲得信息以進(jìn)行內(nèi)容更新。以 下介紹生成這種形式的Widget摘要文件,并介紹如何將這種Widget摘要文件應(yīng)用于生成 Widget的圖標(biāo)。圖1所示為Widget摘要文件的生成方法的流程圖。這個(gè)生成方法包括先模擬運(yùn) 行Widget以生成DOM樹;再,獲得所述DOM樹的重要信息的代碼,所述重要信息的代碼包括 執(zhí)行生成客戶端的本地信息和從服務(wù)器獲得信息操作相關(guān)聯(lián)的代碼,將所述代碼生成所述 Widget摘要文件。以下進(jìn)行詳細(xì)說明。在本實(shí)施例中,需要說明的是,為每個(gè)Widget生成 一個(gè)針對該Widget的摘要文件。步驟S100,模擬運(yùn)行Widget,以生成一個(gè)頁面。在本實(shí)施例中,在模擬運(yùn)行Widget 的過程中,為對Widget的詳細(xì)頁面進(jìn)行模擬運(yùn)行。Widget的詳細(xì)頁面為運(yùn)行一個(gè)Widget 的時(shí)候所產(chǎn)生的頁面。在本實(shí)施例中,可以理解為運(yùn)行html文件、javascript文件和ess 文件。在本實(shí)施例中,由于Widget為基于Ajax技術(shù)開發(fā)的,故運(yùn)行Widget后,在程序內(nèi)部, 會(huì)生成一個(gè)DOM樹,DOM樹是Ajax文件在計(jì)算機(jī)中的半結(jié)構(gòu)化的表現(xiàn)形式。該DOM樹包括 javascript代碼,該代碼可以對DOM樹操作,以生成新的DOM樹,每個(gè)代碼都有一個(gè)執(zhí)行層, 也可以理解為DOM樹分層次。在本實(shí)施例中,Widget的詳細(xì)頁面可以包括三種類型的代碼,分別為(1)不需要 與用戶交互即可執(zhí)行完的代碼,如onload事件觸發(fā)的代碼;(2)需要與用戶交互才能完成 的代碼,如onclick事件觸發(fā)的代碼;(3)需要用戶輸入?yún)?shù)才能完成的代碼,如用戶名和密碼。為更好的理解,舉例說明,當(dāng)打開一個(gè)TOB頁面后,該頁面會(huì)包括多個(gè)鏈接,相當(dāng) 于DOM樹中包括產(chǎn)生新DOM樹的代碼,這個(gè)代碼的執(zhí)行層就對應(yīng)當(dāng)前頁面的層數(shù)。用戶可 以決定點(diǎn)擊其中的鏈接,以跳轉(zhuǎn)到一個(gè)新的頁面。同時(shí),這些頁面分層次,比如第一個(gè)頁面 為第一層,依次類推,一層接著一層,最終到達(dá)用戶需要看到的具體信息的頁面。當(dāng)然,也可 以理解為頁面的層數(shù)跟DOM樹的層次或代碼的執(zhí)行層之間具有對應(yīng)的關(guān)系??梢岳斫鉃椋?DOM樹為用戶可以看到的頁面內(nèi)容,每個(gè)DOM樹與用戶看到的頁面之間存在一一對應(yīng)的關(guān) 系。當(dāng)運(yùn)行一個(gè)Widget后顯示給用戶的頁面中,會(huì)包括很多的信息,比如,產(chǎn)生新頁面的鏈 接信息、圖標(biāo)信息、數(shù)據(jù)信息,頁面的層數(shù)信息等。在本實(shí)施例中,產(chǎn)生新頁面的鏈接信息可 以是一個(gè),也可以是多個(gè)。步驟S102,記錄頁面中的信息。在本實(shí)施例中,可以理解為記錄步驟SlOO中產(chǎn)生 的新頁面的鏈接信息,圖標(biāo)信息、數(shù)據(jù)信息、頁面的層數(shù)信息等。也可以理解為,記錄步驟 SlOO中生成的DOM樹的數(shù)據(jù),包括代碼和該代碼的執(zhí)行層。步驟S104,確定該頁面是否存在產(chǎn)生新頁面的鏈接信息。在本實(shí)施例中,也可以理 解為,確定該DOM樹是否包括產(chǎn)生新DOM樹的代碼。在本實(shí)施例中,存在產(chǎn)生新頁面的鏈接 信息或存在產(chǎn)生新DOM樹的代碼,則執(zhí)行步驟S106,在本實(shí)施例中,可以理解為,具有具體 信息的頁面還沒有完全打開或沒有完成找到。若不存在產(chǎn)生新頁面的鏈接信息或存在產(chǎn)生 新DOM樹的代碼,則執(zhí)行步驟S110。在本實(shí)施例中,可以由一個(gè)頁面產(chǎn)生一個(gè)新的頁面,也 可以由一個(gè)頁面產(chǎn)生多個(gè)新的頁面。步驟S106,確定當(dāng)前頁面的層數(shù)是否小于預(yù)定閾值。在本實(shí)施例中,也可以理解 為,確定該產(chǎn)生新DOM樹的代碼的執(zhí)行層是否小于預(yù)定閾值。
在本實(shí)施例中,若當(dāng)前頁面的層數(shù)小于預(yù)定閾值,或該產(chǎn)生新DOM樹的代碼的執(zhí) 行層小于預(yù)定閾值,則執(zhí)行步驟S108。若當(dāng)前頁面的層數(shù)不小于預(yù)定閾值,或該產(chǎn)生新DOM 樹的代碼的執(zhí)行層不小于預(yù)定閾值,則執(zhí)行步驟S110。步驟S108,模擬事件觸發(fā)。在本實(shí)施例中,通過模擬事件來產(chǎn)生新的頁面或生成 新的DOM樹。在本實(shí)施例中,可以理解的是通過模擬執(zhí)行javascript代碼來生成新的DOM 樹。簡單的例子,模擬點(diǎn)擊頁面中的鏈接,出現(xiàn)一個(gè)新的頁面。表1所示為具體的事件,可 以參考以下事件進(jìn)行模擬觸發(fā)。
權(quán)利要求
一種生成Widget圖標(biāo)的方法,其特征在于,所述方法包括獲得Widget摘要文件;解析所述Widget摘要文件,并執(zhí)行解析后的Widget摘要文件;根據(jù)執(zhí)行后的Widget摘要文件生成Widget圖標(biāo)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括 確定刷新周期是否到期;當(dāng)?shù)狡跁r(shí),調(diào)用所述Widget摘要文件。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述解析所述Widget摘要文件,并執(zhí)行解 析后的Widget摘要文件的步驟包括解析所述Widget摘要文件,以獲得所述Widget摘要文件中的代碼; 根據(jù)所述代碼從服務(wù)器獲得信息和生成客戶端的本地信息;將包括所述從服務(wù)器獲得的信息和客戶端的本地信息的Widget摘要文件的格式轉(zhuǎn)換 為DOM樹的格式。
4.一種Widget摘要文件的生成方法,其特征在于,所述Widget摘要文件應(yīng)用于 Widget圖標(biāo),所述方法包括模擬運(yùn)行Widget以生成DOM樹;獲得所述DOM樹的重要信息的代碼,所述重要信息的代碼包括執(zhí)行生成客戶端的本地 信息和從服務(wù)器獲得信息操作相關(guān)聯(lián)的代碼; 將所述代碼生成所述Widget摘要文件。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括當(dāng)所述DOM樹存在產(chǎn)生新的DOM樹的代碼,并且所述DOM樹的代碼的執(zhí)行層次小于預(yù) 定閾值時(shí),模擬事件觸發(fā);模擬運(yùn)行Widget,以生成另一個(gè)DOM樹。
6.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法還包括當(dāng)所述DOM樹不存在產(chǎn)生新的DOM樹的代碼,或所述DOM樹的代碼的執(zhí)行層次不小于 預(yù)定閾值時(shí),獲得所述DOM樹中的重要信息的代碼以生成所述Widget摘要文件。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述獲得所述DOM樹中的重要信息的代碼 以生成所述Widget摘要文件的步驟包括獲得所述DOM樹的重要信息,所述重要信息包括客戶端的本地信息和從服務(wù)器獲得的 fn息;獲得生成所述重要信息的代碼。
8. 一種生成Widget圖標(biāo)的Widget引擎,其特征在于,所述Widget引擎包括管理單元 及解析單元;所述管理單元還包括加載子單元,用于獲得Widget摘要文件,并調(diào)用所述解析單元以解析所述Widget摘要 文件和執(zhí)行解析后的Widget摘要文件;更新子單元,用于根據(jù)執(zhí)行后的Widget摘要文件生成Widget圖標(biāo)。
9.根據(jù)權(quán)利要求8所述的Widget引擎,其特征在于,所述加載子單元還用于在周期到 期時(shí),獲得所述Widget摘要文件。
10.根據(jù)權(quán)利要求8所述的Widget引擎,其特征在于,所述解析單元用于解析所述 Widget摘要文件,以獲得所述Widget摘要文件中的代碼,并根據(jù)所述代碼從服務(wù)器獲得 信息和生成客戶端的本地信息,及將包括所述從服務(wù)器獲得的信息和客戶端的本地信息的 Widget摘要文件的格式轉(zhuǎn)換為DOM樹的格式。
11.一種Widget摘要文件的生成裝置,其特征在于,所述裝置包括模擬運(yùn)行單元,用于模擬運(yùn)行Widget以生成DOM樹;摘要生成單元,用于獲得所述DOM樹的重要信息的代碼,所述重要信息的代碼包括執(zhí) 行生成客戶端的本地信息和從服務(wù)器獲得信息操作相關(guān)聯(lián)的代碼,將所述代碼生成生成所 述Widget摘要文件。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括判斷單元,用于確定所 述DOM樹是否存在產(chǎn)生新的DOM樹的代碼,或確定所述DOM樹的代碼的執(zhí)行層次是否小于預(yù)定閾值。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述摘要生成單元還用于當(dāng)確定所述 DOM樹不存在產(chǎn)生新的DOM樹的代碼,或確定所述DOM樹的代碼的執(zhí)行層次不小于預(yù)定閾值 時(shí),獲得所述DOM樹中的重要信息的代碼以生成所述Widget摘要文件。
14.根據(jù)權(quán)利要求12所述的裝置,其特征在于,所述模擬運(yùn)行單元還用于當(dāng)確定所述 DOM樹存在產(chǎn)生新的DOM樹的代碼,并且確定所述DOM樹的代碼的執(zhí)行層次小于預(yù)定閾值 時(shí),模擬事件觸發(fā)。
15.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述摘要生成單元還用于獲得所述DOM 樹的重要信息,其中,所述重要信息包括客戶端的本地信息和從服務(wù)器獲得的信息。
16.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述裝置還包括記錄單元,用于記錄生 成的DOM樹的數(shù)據(jù),所述數(shù)據(jù)包括生成DOM樹的代碼和所述代碼的執(zhí)行層次。
17.一種客戶端設(shè)備,其特征在于,所述設(shè)備包括Widget摘要文件的生成裝置,用于模擬運(yùn)行Widget以生成DOM樹,并當(dāng)所述DOM樹不 存在產(chǎn)生新的DOM樹的代碼,或所述DOM樹的代碼的執(zhí)行層次不小于預(yù)定閾值時(shí),獲得所述 DOM樹中的重要信息的代碼以生成所述Widget摘要文件;Widget引擎,用于通過所述Widget摘要文件生成Widget圖標(biāo)。
18.根據(jù)權(quán)利要求17所述的設(shè)備,其特征在于,所述重要信息包括客戶端的本地信息 和從服務(wù)器獲得的信息,所述重要信息的代碼包括執(zhí)行生成客戶端的本地信息和從服務(wù)器 獲得信息操作相關(guān)聯(lián)的代碼。
全文摘要
本發(fā)明實(shí)施方式公開一種生成Widget圖標(biāo)的方法,所述方法包括獲得所述Widget摘要文件;解析所述Widget摘要文件,并執(zhí)行解析后的Widget摘要文件;根據(jù)執(zhí)行后的Widget摘要文件生成Widget圖標(biāo)。本發(fā)明實(shí)施方式還提供一種widget摘要文件的生成方法及Widget引擎,可以減少占用的系統(tǒng)資源。
文檔編號(hào)G06F9/44GK101937335SQ200910108610
公開日2011年1月5日 申請日期2009年7月1日 優(yōu)先權(quán)日2009年7月1日
發(fā)明者丘志宏, 張 杰, 符海芳, 金洪波 申請人:華為技術(shù)有限公司