一種終端瀏覽器的頁面緩存方法和裝置及終端的制作方法
【專利摘要】本發(fā)明公開了一種終端瀏覽器的網(wǎng)頁緩存方法,方法包括:加載網(wǎng)頁,生成與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,并將所述DOM樹和Render樹保存在內(nèi)存中;生成與所述網(wǎng)頁對應(yīng)的索引對象,所述索引對象用于指明所述網(wǎng)頁對應(yīng)的DOM樹和Render樹的保存地址;將所述索引對象保存在索引列表中。本發(fā)明實施例還公開一種終端瀏覽器的網(wǎng)頁緩存裝置及終端。采用本發(fā)明實施例,能夠加快瀏覽器執(zhí)行頁面返回操作的速度,縮短操作時間,有利于終端的節(jié)能省電。
【專利說明】一種終端瀏覽器的頁面緩存方法和裝置及終端
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,特別涉及一種終端瀏覽器的頁面緩存方法和裝置及終端。
【背景技術(shù)】
[0002]隨著移動終端和互聯(lián)網(wǎng)技術(shù)的發(fā)展,人們越來越多的選擇通過終端瀏覽網(wǎng)頁。通過終端瀏覽網(wǎng)頁的典型用法為:打開一個網(wǎng)頁,在該網(wǎng)頁的頁面上有很多鏈接,點擊其中的一個鏈接,進(jìn)入該鏈接對應(yīng)的頁面,瀏覽完畢后,返回最初的頁面,選擇點擊其他的鏈接。
[0003]在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)至少存在以下問題:
[0004]瀏覽器在執(zhí)行返回最初頁面的操作時,很多時候還需要重新加載頁面,對該頁面重新解析和排版,由此使得返回操作的執(zhí)行過程非常緩慢,延長終端的操作時間,不利于終端的節(jié)能省電。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供了一種終端瀏覽器的頁面緩存方法及裝置,能夠加快瀏覽器執(zhí)行頁面返回操作的速度,縮短操作時間,有利于終端的節(jié)能省電。
[0006]所述技術(shù)方案如下:
[0007]第一方面,提供了一種終端瀏覽器的網(wǎng)頁緩存方法,所述方法包括:
[0008]加載網(wǎng)頁,生成與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,并將所述DOM樹和Render樹保存在內(nèi)存中;
[0009]生成與所述網(wǎng)頁對應(yīng)的索引對象,所述索引對象用于指明所述網(wǎng)頁對應(yīng)的DOM樹和Render樹的保存地址;
[0010]將所述索引對象保存在索引列表中。
[0011]較佳的,在所述將所述DOM樹和Render樹保存在內(nèi)存中之前,所述方法還包括:
[0012]確定所述網(wǎng)頁符合預(yù)設(shè)的緩存條件且所述網(wǎng)頁對應(yīng)的主文檔不存在錯誤信息。
[0013]較佳的,所述預(yù)設(shè)的緩存條件,包括:
[0014]當(dāng)所述網(wǎng)頁的網(wǎng)址屬于安全超文本傳輸協(xié)議HTTPS的鏈接時,所述網(wǎng)頁的主文檔中不存在表單FORM類型的元素;
[0015]和/ 或,
[0016]當(dāng)所述網(wǎng)頁的網(wǎng)址屬于HTTPS的鏈接時,預(yù)設(shè)的安全網(wǎng)頁列表中包含所述網(wǎng)頁。
[0017]較佳的,所述預(yù)設(shè)的緩存條件,包括:
[0018]當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁不存在卸載unload事件的監(jiān)聽機(jī)制;
[0019]和/ 或,
[0020]當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁不存在打開本地數(shù)據(jù)庫的行為;[0021]和/ 或,
[0022]當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁對應(yīng)的主文檔屬于無線標(biāo)記語言WML格式或包括WML的內(nèi)容。
[0023]較佳的,所述方法還包括:
[0024]當(dāng)所述索引列表中保存的索引對象的個數(shù)大于預(yù)設(shè)的上限值時,根據(jù)所述索引對象的保存時間刪除指定數(shù)目的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹。
[0025]較佳的,所述根據(jù)所述索引對象的保存時間刪除指定數(shù)目的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹,包括:
[0026]對所述索引列表中保存的索引對象按照保存時間由早到晚排序;
[0027]刪除排在前指定數(shù)目位的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹。
[0028]較佳的,所述方法還包括:
[0029]獲取當(dāng)前內(nèi)存空間的使用信息,根據(jù)所述內(nèi)存空間的余量,修正保存網(wǎng)頁的DOM樹和Render樹的數(shù)目的上限值。
[0030]較佳的,所述方法還包括:
[0031]接收用戶對所述網(wǎng)頁的再次訪問請求,根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,渲染顯示。
[0032]較佳的,在所述接收用戶對所述網(wǎng)頁的再次訪問請求后,所述方法還包括:
[0033]判斷內(nèi)存中是否保存有與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,如果保存有,再執(zhí)行根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹并渲染顯示的步驟。
[0034]第二方面,提供一種終端瀏覽器的網(wǎng)頁緩存裝置,所述裝置包括:
[0035]第一生成單元,用于加載網(wǎng)頁,生成與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹;
[0036]弟一保存單兀,用于將所述DOM樹和Render樹保存在內(nèi)存中;
[0037]第二生成單元,用于生成與所述網(wǎng)頁對應(yīng)的索引對象,所述索引對象用于指明所述網(wǎng)頁對應(yīng)的DOM樹和Render樹的保存地址;
[0038]第二保存單元,用于將所述索引對象保存在索引列表中。
[0039]較佳的,所述裝置還包括:
[0040]第一判斷單元,用于確定所述網(wǎng)頁符合預(yù)設(shè)的緩存條件且所述網(wǎng)頁對應(yīng)的主文檔不存在錯誤信息。
[0041]較佳的,其特征在于,所述第一判斷單元包括:
[0042]第一判斷子單元,用于當(dāng)所述網(wǎng)頁的網(wǎng)址屬于安全超文本傳輸協(xié)議HTTPS的鏈接時,所述網(wǎng)頁的文檔中不存在表單FORM類型的元素;
[0043]和/ 或,
[0044]第二判斷子單元,用于當(dāng)所述網(wǎng)頁的網(wǎng)址屬于HTTPS的鏈接時,預(yù)設(shè)的安全網(wǎng)頁列表中包含所述網(wǎng)頁。
[0045]較佳的,所述第一判斷單元還包括:
[0046]第三判斷子單元,用于當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁不存在卸載unload事件的監(jiān)聽機(jī)制;
[0047]和/ 或,
[0048]第四判斷子單元,用于當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁不存在打開本地數(shù)據(jù)庫的行為;
[0049]和/ 或,
[0050]第五判斷子單元,用于當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁對應(yīng)的主文檔屬于無線標(biāo)記語言WML格式或包括WML的內(nèi)容。
[0051]較佳的,所述裝置還包括:
[0052]刪除單元,用于當(dāng)所述索引列表中保存的索引對象的個數(shù)大于預(yù)設(shè)的上限值時,根據(jù)所述索引對象的保存時間刪除指定數(shù)目的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹。
[0053]較佳的,所述刪除單元包括:
[0054]排序子單元,用于對所述索引列表中保存的索引對象按照保存時間由早到晚排序;
[0055]刪除子單元,用于刪除排在前指定數(shù)目位的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render 樹。
[0056]較佳的,所述裝置還包括:
[0057]修正單元,用于獲取當(dāng)前內(nèi)存空間的使用信息,根據(jù)所述內(nèi)存空間的余量,修正保存網(wǎng)頁的DOM樹和Render樹的數(shù)目的上限值。
[0058]較佳的,所述裝置還包括:
[0059]讀取單元,用于接收用戶對所述網(wǎng)頁的再次訪問請求,根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,渲染顯示。
[0060]較佳的,所述裝置還包括:
[0061 ] 第二判斷單元,用于判斷內(nèi)存中是否保存有與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹;
[0062]所述讀取單元,還用于當(dāng)所述第二判斷單元的判斷結(jié)果為是時,再執(zhí)行根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹并渲染顯示的步驟。
[0063]第三方面,提供一種終端,所述終端包括如前述任一項所述的終端瀏覽器的網(wǎng)頁
緩存裝置。
[0064]第四方面,提供一種移動終端,包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器執(zhí)行所述一個或者一個以上程序包含用于進(jìn)行以下操作的指令:
[0065]加載網(wǎng)頁,生成與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,并將所述DOM樹和Render樹保存在內(nèi)存中;
[0066]生成與所述網(wǎng)頁對應(yīng)的索引對象,所述索引對象用于指明所述網(wǎng)頁對應(yīng)的DOM樹和Render樹的保存地址;
[0067]將所述索引對象保存在索引列表中。
[0068]本發(fā)明實施例提供的技術(shù)方案帶來的有益效果是:
[0069]本發(fā)明實施例所述方法,在打開網(wǎng)頁的同時,將生成的網(wǎng)頁對應(yīng)的DOM樹和Render樹保存在內(nèi)存中。當(dāng)需要返回該網(wǎng)頁或者重新打開該網(wǎng)頁時,只需要從索引列表中找到與該網(wǎng)頁對應(yīng)的索引對象,根據(jù)所述索引對象指明的地址,直接獲取到該網(wǎng)頁對應(yīng)的DOM樹和Render樹,對該網(wǎng)頁進(jìn)行l(wèi)ayout。
[0070]由此可以使得,在返回或者重新打開曾經(jīng)打開過的網(wǎng)頁時,不需要重新加載該網(wǎng)頁以及對該網(wǎng)頁重新進(jìn)行解析和排版,使得返回操作的執(zhí)行過程非常迅速,減少了終端執(zhí)行操作所需的時間,有利于終端的節(jié)能省電。
【專利附圖】
【附圖說明】
[0071]為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0072]圖1為本發(fā)明實施例一所述的終端瀏覽器的頁面緩存方法流程圖;
[0073]圖2為本發(fā)明實施例二所述的終端瀏覽器的頁面緩存方法流程圖;
[0074]圖3為本發(fā)明實施例所述的終端瀏覽器的網(wǎng)頁緩存裝置結(jié)構(gòu)圖;
[0075]圖4為本發(fā)明實施例所涉及的終端設(shè)備的結(jié)構(gòu)示意圖;
[0076]圖5為本發(fā)明實施例提供的一種服務(wù)器結(jié)構(gòu)示意圖。
【具體實施方式】
[0077]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合附圖對本發(fā)明實施方式作進(jìn)一步地詳細(xì)描述。
[0078]本發(fā)明實施例提供了一種終端瀏覽器的頁面緩存方法及裝置,能夠加快瀏覽器執(zhí)行頁面返回操作的速度,縮短操作時間,有利于終端的節(jié)能省電。
[0079]為更好的對本發(fā)明實施例所述的方法進(jìn)行介紹,首先,對瀏覽器打開網(wǎng)頁的過程進(jìn)行簡單描述。
[0080]網(wǎng)頁是一個文件,經(jīng)由統(tǒng)一資源定位符(Uniform Resource Locator, URL,簡稱網(wǎng)址)來識別與存取。網(wǎng)頁要通過瀏覽器來閱讀。當(dāng)瀏覽器接收到終端發(fā)送的打開某個網(wǎng)頁的指令時,瀏覽器向服務(wù)器請求該網(wǎng)頁對應(yīng)的主文檔,并解析該主文檔,生成該網(wǎng)址對應(yīng)的DOM樹和Render樹,根據(jù)所述Render樹對該網(wǎng)頁進(jìn)行l(wèi)ayout (布局)。
[0081]參照圖1,為本發(fā)明實施例一所述的終端瀏覽器的頁面緩存方法流程圖。如圖1所示,所述方法包括:
[0082]IO1、加載網(wǎng)頁,生成與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,并將所述DOM樹和Render樹保存在內(nèi)存中。
[0083]102、生成與所述網(wǎng)頁對應(yīng)的索引對象,所述索引對象用于指明所述網(wǎng)頁對應(yīng)的DOM樹和Render樹的保存地址。
[0084]103、將所述索引對象保存在索弓丨列表中。
[0085]本發(fā)明實施例所述方法,在打開網(wǎng)頁的同時,將生成的網(wǎng)頁對應(yīng)的DOM樹和Render樹保存在內(nèi)存中。當(dāng)需要返回該網(wǎng)頁或者重新打開該網(wǎng)頁時,只需要從索引列表中找到與該網(wǎng)頁對應(yīng)的索引對象,根據(jù)所述索引對象指明的地址,直接獲取到該網(wǎng)頁對應(yīng)的DOM樹和Render樹,對該網(wǎng)頁進(jìn)行l(wèi)ayout。
[0086]由此可以使得,在返回或者重新打開曾經(jīng)打開過的網(wǎng)頁時,不需要重新加載該網(wǎng)頁以及對該網(wǎng)頁重新進(jìn)行解析和排版,使得返回操作的執(zhí)行過程非常迅速,減少了終端執(zhí)行操作所需的時間,有利于終端的節(jié)能省電。[0087]但是,在實際應(yīng)用中,由于終端的內(nèi)存空間有限,因此并不是對所有曾經(jīng)打開過的網(wǎng)頁都需要進(jìn)行緩存。具體的,在保存所述DOM樹和Render樹之前,還可以對當(dāng)前打開的網(wǎng)頁進(jìn)行判斷,確定該網(wǎng)頁是否符合預(yù)設(shè)的緩存條件,只有確定該網(wǎng)頁需要被緩存時,才執(zhí)行保存的步驟。
[0088]具體的,參見本發(fā)明實施例二所述的方法。參照圖2,為本發(fā)明實施例二所述的終端瀏覽器的頁面緩存方法流程圖。如圖2所示,所述方法包括:
[0089]201、所述終端瀏覽器加載網(wǎng)頁,生成與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,根據(jù)所述DOM樹和Render樹進(jìn)行l(wèi)ayout (布局)。
[0090]當(dāng)用戶選擇打開一個網(wǎng)頁時,瀏覽器訪問該網(wǎng)頁對應(yīng)的URL,并向服務(wù)器請求該URL對應(yīng)的主文檔,即為該網(wǎng)頁對應(yīng)的頁面主文檔。
[0091]瀏覽器解析所述主文檔,生成所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,并根據(jù)所述DOM樹和Render樹對該網(wǎng)頁進(jìn)行l(wèi)ayout。
[0092]具體的,在瀏覽器中,內(nèi)置有渲染引擎,能夠根據(jù)從服務(wù)器獲取的頁面主文檔,自動生成該網(wǎng)頁對應(yīng)的DOM樹和Render樹。其中,所述DOM樹用于描述html頁面的信息;Render樹用于布局,具體負(fù)責(zé)如何將DOM樹中包括的內(nèi)容顯示在屏幕上。
[0093]而layout是渲染引擎對網(wǎng)頁的布局操作,在獲取到DOM樹和Render樹后,瀏覽器的渲染引擎通過layout將網(wǎng)頁布局在內(nèi)存中。當(dāng)layout完畢后,瀏覽器就可以將網(wǎng)頁繪制在顯示屏幕上,展現(xiàn)給用戶。
[0094]由此實現(xiàn)了對網(wǎng)頁的加載并顯示的全過程。本發(fā)明實施例所述方法中,在加載所述頁面時,實現(xiàn)對該頁面的緩存。
[0095]202、判斷所述網(wǎng)頁是否符合預(yù)設(shè)的緩存條件,如果符合,則進(jìn)入203;如果不符合,進(jìn)入206。
[0096]本發(fā)明實施例中,在對網(wǎng)頁進(jìn)行緩存之前,首先判斷該網(wǎng)頁是否符合預(yù)設(shè)的緩存條件,如果符合,再保存該網(wǎng)頁對應(yīng)的DOM樹和Render ;如果不符合,則刪除該網(wǎng)頁對應(yīng)的DOM 樹和 Render。
[0097]需要說明的是,在實際應(yīng)用中,在打開某些網(wǎng)頁時,有可能會出現(xiàn)網(wǎng)頁打不開的情形。例如,URL輸入錯誤、該網(wǎng)頁對應(yīng)的服務(wù)器故障、該網(wǎng)頁已過期等等,此時打開的頁面中會顯示“無法顯示該頁面”、“無法找到該頁面”或“參數(shù)不正確”等信息。對于這種情形,即使該網(wǎng)頁需要被緩存,憂郁當(dāng)前打開的網(wǎng)頁是錯誤的,因此不需要對當(dāng)前打開的該網(wǎng)頁進(jìn)行緩存,以免占用系統(tǒng)內(nèi)存,造成內(nèi)存空間的浪費。
[0098]具體的,在步驟202中,當(dāng)判斷結(jié)果為符合時還可以包括:判斷所述網(wǎng)頁對應(yīng)的主文檔(main document)是否存在錯誤信息,如果不存在錯誤信息,則進(jìn)入203 ;如果存在錯誤信息,則進(jìn)入206。
[0099]本發(fā)明實施例中,可以通過對該網(wǎng)頁對應(yīng)的主文檔中的相關(guān)參數(shù)進(jìn)行判斷來確定當(dāng)前網(wǎng)頁是否存在打不開的情形。
[0100]其中,所述主文檔是指網(wǎng)頁對應(yīng)的頁面文件。一般,主文檔可以是一個html(HyperText Markup Language,超文本標(biāo)記語言)文件,也可以是 php (Hypertext Preprocessor,超文本預(yù)處理器)文件或者是shtml文件等。具體的,當(dāng)打開網(wǎng)頁時,可以通過點擊右鍵,選擇“查看網(wǎng)頁源代碼”的方式,來查看該網(wǎng)頁對應(yīng)的主文檔。[0101]當(dāng)出現(xiàn)網(wǎng)頁打不開的情形時,該網(wǎng)頁對應(yīng)的主文檔中會包含相應(yīng)的錯誤信息,因此,可以通過判斷該網(wǎng)頁對應(yīng)的主文檔中是否存在錯誤信息來確定是否發(fā)生了網(wǎng)頁打不開的現(xiàn)象,如果存在錯誤信息,確定當(dāng)前網(wǎng)頁打不開,則沒必要對該網(wǎng)頁進(jìn)行緩存,結(jié)束本方法的流程;如果不存在錯誤信息,確定當(dāng)前網(wǎng)頁成功打開,則繼續(xù)執(zhí)行步驟2012。
[0102]下面對步驟202中判斷所述網(wǎng)頁是否需要被緩存進(jìn)行詳細(xì)介紹。本發(fā)明實施例中,對所述網(wǎng)頁分兩種情況進(jìn)行判斷,一種情況是該網(wǎng)頁是屬于HTTPS (HypertextTransfer Protocol over Secure Socket Layer,安全超文本傳輸協(xié)議)的鏈接,另一種情況是該網(wǎng)頁不屬于HTTPS的鏈接。
[0103]具體的,所述判斷所述網(wǎng)頁是否符合預(yù)設(shè)的緩存條件可以包括:
[0104]2021、判斷所述網(wǎng)頁的網(wǎng)址是否屬于HTTPS的鏈接,如果屬于,則再次判斷該HTTPS網(wǎng)頁是否符合預(yù)設(shè)的緩存條件,進(jìn)入2022或2023 ;如果不屬于,進(jìn)入2024。
[0105]本發(fā)明實施例中,可以通過查詢當(dāng)前加載的網(wǎng)頁對應(yīng)的主文檔來判斷該網(wǎng)頁是否屬于HTTPS鏈接。具體的,查詢當(dāng)前加載的網(wǎng)頁對應(yīng)的主文檔,獲取該網(wǎng)頁對應(yīng)的URL,判斷該網(wǎng)頁的URL是否以https作為開頭,如果是,則該網(wǎng)頁屬于HTTPS鏈接;如果不是,則該網(wǎng)頁不屬于HTTPS鏈接。
[0106]當(dāng)確定該網(wǎng)頁屬于HTTPS鏈接時,還需要對該網(wǎng)頁繼續(xù)進(jìn)行判斷,以確定該網(wǎng)頁是否能夠被緩存。在實際應(yīng)用中,具體的判斷方法有很多種,下面以兩種方法為例進(jìn)行說明,分別為2022和2023。
[0107]2022、判斷所述網(wǎng)頁的主文檔中是否存在FORM (表單)類型的元素,如果不存在,則進(jìn)入203 ;如果存在,則確定該網(wǎng)頁不能緩存,進(jìn)入步驟206。
[0108]具體的,當(dāng)用戶打開某個網(wǎng)頁,需要登錄到該網(wǎng)頁對應(yīng)的站點時,有時候會出現(xiàn)該站點的登錄框,需要用戶填寫用戶名(或賬號)以及密碼或類似于該內(nèi)容的信息,例如,銀行網(wǎng)站、私人郵箱等。通常,上述類型的網(wǎng)頁控件(登錄框等)基本上都是采用FORM類型的元素來實現(xiàn)的。
[0109]為確保用戶的賬戶信息的安全,對于上述類型的網(wǎng)頁,不進(jìn)行緩存。以防緩存后被其他用戶通過返回的方式獲取當(dāng)前用戶的賬戶信息,造成當(dāng)前用戶的私人信息外泄。
[0110]由于前面已經(jīng)提到,登錄框等網(wǎng)頁控件基本上都是采用FORM類型的元素實現(xiàn)的,因此本發(fā)明實施例所述方法中,可以通過判斷當(dāng)前加載的網(wǎng)頁中是否存在FORM類型的元素來確定該網(wǎng)頁中是否具有包含用戶賬戶信息的登錄框等控件,從而確定該網(wǎng)頁是否能夠被緩存。當(dāng)所述網(wǎng)頁中存在FORM類型的元素時,確定該網(wǎng)頁中可能具有登錄框等信息,為確保用戶信息的安全性,不對該網(wǎng)頁進(jìn)行緩存;當(dāng)所述網(wǎng)頁中不存在FORM類型的元素時,確定該網(wǎng)頁中沒有登錄框等信息,則進(jìn)行步驟203,對該網(wǎng)頁進(jìn)行緩存。
[0111]還需要說明的是,可以通過查詢該網(wǎng)頁對應(yīng)的主文檔來確定所述網(wǎng)頁是否存在FORM類型的元素。當(dāng)網(wǎng)頁中存在FORM類型的元素時,則能夠從該網(wǎng)頁對應(yīng)的主文檔中查詢到所述FORM類型的元素的具體信息。
[0112]當(dāng)確定該網(wǎng)頁屬于HTTPS鏈接時,還可以通過查找預(yù)設(shè)的安全網(wǎng)頁列表的方式來確定該網(wǎng)頁是否需要被緩存。具體的,見2023所不。
[0113]2023、查找預(yù)設(shè)的安全網(wǎng)頁列表,判斷所述安全網(wǎng)頁列表中是否包含所述網(wǎng)頁,如果包含,則進(jìn)入203 ;如果不包含,則確定該頁面不能緩存,進(jìn)入206。[0114]需要說明的是,本發(fā)明實施例中,可以預(yù)先設(shè)定安全網(wǎng)頁列表并儲存在服務(wù)器上。該安全網(wǎng)頁列表中列出了安全的、適合于被緩存的HTTPS網(wǎng)頁的信息,例如網(wǎng)頁的URL等。如果所述安全網(wǎng)頁列表中包含當(dāng)前加載的網(wǎng)頁的信息,則說明該網(wǎng)頁是安全的,適合于被緩存;否則,不緩存該網(wǎng)頁。
[0115]下面對不屬于HTTPS的網(wǎng)頁的判斷依據(jù)進(jìn)行介紹。
[0116]2024、判斷當(dāng)前加載的網(wǎng)頁是否存在unload (卸載)事件的監(jiān)聽機(jī)制,如果不存在,則進(jìn)入2025或者直接進(jìn)入203 ;如果存在,則確定該網(wǎng)頁不能緩存,進(jìn)入206。
[0117]需要說明的是,某些網(wǎng)頁中存在unload事件的監(jiān)聽機(jī)制,對于這些網(wǎng)頁,當(dāng)導(dǎo)航離開該網(wǎng)頁時,會自動調(diào)用unload事件的處理函數(shù),該函數(shù)有可能執(zhí)行一些操作,導(dǎo)致該網(wǎng)頁當(dāng)前顯示的某些參數(shù)發(fā)生變化。由此使得,當(dāng)返回該網(wǎng)頁或該網(wǎng)頁被重新打開時,網(wǎng)頁上某些參數(shù)將發(fā)生變化。因此,如果緩存了該網(wǎng)頁當(dāng)前顯示的內(nèi)容,則當(dāng)返回該網(wǎng)頁或重新打開該網(wǎng)頁時,該網(wǎng)頁顯示的內(nèi)容將會發(fā)生錯誤,例如需要改變的參數(shù)沒有發(fā)生變化等?;谏鲜隹紤],對該類存在unload事件的監(jiān)聽機(jī)制的網(wǎng)頁也不予緩存。
[0118]具體的,可以通過查詢當(dāng)前加載的網(wǎng)頁對應(yīng)的主文檔中是否存在unload事件的監(jiān)聽器來判斷該網(wǎng)頁是否存在unload事件的監(jiān)聽機(jī)制。如果主文檔中存在unload事件的監(jiān)聽器,則確定該網(wǎng)頁存在unload事件的監(jiān)聽機(jī)制,對該網(wǎng)頁不予緩存;如果不存在,則可以緩存該網(wǎng)頁。
[0119]2025、判斷當(dāng)前加載的網(wǎng)頁是否存在打開本地數(shù)據(jù)庫的行為,如果不存在,則進(jìn)入2026或者直接進(jìn)入203 ;如果存在,則確定該頁面不能緩存,進(jìn)入206。
[0120]需要說明的是,某些網(wǎng)頁在打開時需要使用到本地數(shù)據(jù)庫。具體的,在加載該類型網(wǎng)頁時,會同時加載本地數(shù)據(jù)庫,將本地數(shù)據(jù)庫的內(nèi)容顯示在該網(wǎng)頁的頁面上。為了保證本地數(shù)據(jù)庫的數(shù)據(jù)安全,避免出現(xiàn)因其他用戶通過返回操作等非法獲取到本地數(shù)據(jù)庫的內(nèi)容,對于該類型網(wǎng)頁也不予緩存。
[0121]具體的,可以通過查詢當(dāng)前加載的網(wǎng)頁對應(yīng)的主文檔中是否存在本地數(shù)據(jù)庫的內(nèi)容來判斷該網(wǎng)頁是否存在打開的本地數(shù)據(jù)庫。如果主文檔中存在本地數(shù)據(jù)庫的內(nèi)容,則確定該網(wǎng)頁存在打開的本地數(shù)據(jù)庫,對該網(wǎng)頁不予緩存;如果不存在,則可以緩存該網(wǎng)頁。
[0122]2026、判斷當(dāng)前加載的頁面對應(yīng)的主文檔中是否存在WML (Wireless MarkupLanguage,無線標(biāo)記語言)的內(nèi)容或者屬于WML格式,如果存在,則進(jìn)入203 ;如果不存在,則確定該頁面不能緩存,進(jìn)入206。
[0123]需要說明的是,WML是專門為手持式移動通信終端(例如手機(jī)等)設(shè)計一種標(biāo)記語言的。采用WML能夠減少終端瀏覽器占用的內(nèi)存和計算時間。
[0124]本發(fā)明實施例所述方法中,對包括WML內(nèi)容的網(wǎng)頁和/或?qū)儆赪ML格式的網(wǎng)頁進(jìn)行緩存,由此使得,對于支持WML網(wǎng)頁的終端,也可以通過緩存WML格式的網(wǎng)頁的形式,實現(xiàn)加快終端的操作速度,實現(xiàn)節(jié)能省電的目的。
[0125]上面對不屬于HTTPS鏈接的網(wǎng)頁的緩存標(biāo)準(zhǔn)進(jìn)行了介紹,其中給出了三種判斷方法,在實際應(yīng)用中,可以但不限于上述三種判斷方法,再次不再贅述。需要說明的是,上述三種判斷方法2024、2025以及2026可以單獨執(zhí)行也可以依次執(zhí)行,當(dāng)依次執(zhí)行時,其執(zhí)行的前后順序可以任意設(shè)置,不需要限定。
[0126]上面詳細(xì)介紹了如何判斷網(wǎng)頁是否需要被緩存,下面對如何實現(xiàn)網(wǎng)頁的緩存進(jìn)行詳細(xì)介紹。
[0127]203、將所述網(wǎng)頁對應(yīng)的DOM樹和Render樹保存在內(nèi)存中。
[0128]當(dāng)確定該網(wǎng)頁需要被緩存后,將該網(wǎng)頁對應(yīng)的DOM樹和Render樹保存在所述終端的內(nèi)存中。由此使得,當(dāng)需要返回或重新打開該網(wǎng)頁時,可以直接從終端內(nèi)存中獲取該網(wǎng)頁對應(yīng)的DOM樹和Render樹,并進(jìn)行l(wèi)ayout。由此避免了對網(wǎng)頁重新加載并重新解析布局的過程,可以大大加快終端執(zhí)行返回操作的速度,縮短終端的執(zhí)行時間。
[0129]204、生成與所述網(wǎng)頁對應(yīng)的索引對象,所述索引對象用于指明所述網(wǎng)頁對應(yīng)的DOM樹和Render樹的保存地址。
[0130]205、將所述索引對象保存在索引列表中,結(jié)束流程。
[0131]206、刪除所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,結(jié)束流程。
[0132]本發(fā)明實施例所述方法中,在打開網(wǎng)頁的同時對該網(wǎng)頁進(jìn)行緩存,將生成的該網(wǎng)頁對應(yīng)的DOM樹和Render樹保存在內(nèi)存中,并生成用于指明保存地址的索引對象,保存在索引列表中。當(dāng)返回該網(wǎng)頁或需要重新打開該網(wǎng)頁時,只需要從所述索引列表中找出與所述網(wǎng)頁對應(yīng)的索引對象,并按照所述索引對象指明的地址提取得到該網(wǎng)頁對應(yīng)的DOM樹和Render樹,就可以直接根據(jù)所述DOM樹和Render樹進(jìn)行l(wèi)ayout。
[0133]由此使得,采用本發(fā)明實施例所述方法,當(dāng)返回前面已打開過的網(wǎng)頁或重新打開該網(wǎng)頁時,不需要重新生成該網(wǎng)頁對應(yīng)的DOM樹和Render樹,只需要按照索引對象從內(nèi)存中找到即可。因此,使得返回該網(wǎng)頁或需要重新打開該網(wǎng)頁的操作速度很快,提高了瀏覽器的執(zhí)行速度,縮短了操作時間,有利于終端的節(jié)能省電。
[0134]需要說明的是,本發(fā)明實施例所述方法,還可以包括:在接收到用戶對所述網(wǎng)頁的再次訪問請求,根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,渲染顯示。
[0135]當(dāng)然,在實際應(yīng)用中,在接收用戶對所述網(wǎng)頁的再次訪問請求時,還可以先判斷內(nèi)存中是否保存有與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,如果保存有,再根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,并渲染顯示;如果沒有,則按照常規(guī)方式,重新生成與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹。
[0136]需要說明的是,由于終端的內(nèi)存空間有限,如果對所有打開過的網(wǎng)頁均進(jìn)行緩存,有可能會導(dǎo)致占用終端內(nèi)存過多,影響終端的其他操作。因此,本發(fā)明實施例中,還可以對緩存網(wǎng)頁的數(shù)量或時間進(jìn)行限制,保證終端內(nèi)存的占用率,確保終端的正常運行。
[0137]具體的,所述方法還包括:判斷所述索引列表中保存的索引對象的個數(shù)是否大于預(yù)設(shè)的上限值,如果是,根據(jù)所述索引對象的保存時間刪除指定數(shù)目的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹。
[0138]需要說明的是,在實際應(yīng)用中,所述預(yù)設(shè)的上限值可以根據(jù)實際情況具體設(shè)定。具體的,可以根據(jù)終端內(nèi)存空間的大小和使用情況確定能夠緩存網(wǎng)頁的最大數(shù)目值,即為預(yù)設(shè)的上限值。
[0139]當(dāng)然,在實際應(yīng)用中,所述上限值可以是一個固定值,一但設(shè)定后就不再發(fā)生改變。但是,由于終端的使用情況變化比較大,而所述上限值一般都是根據(jù)終端通常的使用情況進(jìn)行設(shè)定的。如果終端被超常使用,造成終端內(nèi)存占用量很高,而此時仍然按照該設(shè)定的上限值進(jìn)行網(wǎng)頁緩存,有可能導(dǎo)致占用終端內(nèi)存較多使得終端無法保持正常工作。
[0140]因此,本發(fā)明實施例所述方法中,還可以實現(xiàn)根據(jù)終端的實際使用情況,動態(tài)的設(shè)定所述上限值。具體的,可以包括:獲取當(dāng)前內(nèi)存空間的使用信息,根據(jù)所述內(nèi)存空間的余量,修正所述預(yù)設(shè)的上限值,即為修正保存網(wǎng)頁的DOM樹和Render樹的數(shù)目的上限值。
[0141]即為,實時獲取終端當(dāng)前內(nèi)存空間的使用情況,根據(jù)當(dāng)前內(nèi)存空間的余量,對預(yù)設(shè)的上限值進(jìn)行修正。如果當(dāng)前終端內(nèi)存占用較多,內(nèi)存的空間余量較小,則可以減少所述預(yù)設(shè)的上限值,避免因緩存網(wǎng)頁過多導(dǎo)致終端內(nèi)存不足;如果當(dāng)前終端內(nèi)存占用較少,內(nèi)存的空間余量較大,則可以增加所述預(yù)設(shè)的上限值,增加緩存網(wǎng)頁的數(shù)目,滿足用戶的瀏覽需求。由此可以實現(xiàn),根據(jù)終端內(nèi)存的實時占用情況,對網(wǎng)頁緩存數(shù)目的動態(tài)調(diào)整。
[0142]當(dāng)所述索引列表中保存的索引對象的個數(shù)達(dá)到所述預(yù)設(shè)上限值時,對內(nèi)存中已經(jīng)實現(xiàn)緩存的網(wǎng)頁進(jìn)行清理。其清理的原則一般是刪除緩存時間較長的網(wǎng)頁。
[0143]具體的,在204中將所述索引對象保存在索引列表中時,可以同時記錄該索引對象的保存時間。該索引對象的保存時間即為其對應(yīng)的網(wǎng)頁的DOM樹和Render樹的保存時間,也即為該網(wǎng)頁的緩存時間。
[0144]基于此,當(dāng)確定當(dāng)前內(nèi)存中緩存的網(wǎng)頁數(shù)目超過預(yù)設(shè)的上限值時,就可以根據(jù)所述索引列表中各索引對象的保存時間,確定保存時間最長的索引對象,并按照該索引對象指明的頁面的DOM樹和Render樹的保存地址,刪除該DOM樹和Render樹,實現(xiàn)對內(nèi)存的清理。
[0145]首先需要說明的是,在實際應(yīng)用中,如果每次內(nèi)存中緩存的網(wǎng)頁數(shù)目超過預(yù)設(shè)的上限值時,只刪除保存時間最長的索引對象對應(yīng)的網(wǎng)頁。則將會導(dǎo)致瀏覽器頻繁的進(jìn)行內(nèi)存清理工作。因此,本發(fā)明實施例所述方法還可以實現(xiàn),當(dāng)內(nèi)存中緩存的網(wǎng)頁數(shù)目超過預(yù)設(shè)的上限值時,對所述索引列表中保存的索引對象按照保存時間由早到晚排序;刪除排在前指定數(shù)目位的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹。
[0146]具體的,前述已經(jīng)說明了,在保存索引對象時,可以同時記錄該索引對象的保存時間。則所述索引列表中,可以按照所述保存時間從早到晚對各索引對象進(jìn)行排序,當(dāng)內(nèi)存中緩存的網(wǎng)頁數(shù)目超過預(yù)設(shè)的上限值時,排在前η位的索引對象對應(yīng)的網(wǎng)頁刪除。其中,η為預(yù)設(shè)數(shù)目,η為大于I的整數(shù)。
[0147]例如,按照保存時間對索引列表中的索引對象進(jìn)行排序,可以將最早保存的索引對象排在第一位,而最晚保存的索引對象排在最后一位。假設(shè)所述預(yù)設(shè)的上限值為30個,預(yù)設(shè)數(shù)目為15個,則當(dāng)索引列表中保存的索引對象達(dá)到30個時,刪除保存時間較早的前15個索引對象對應(yīng)的網(wǎng)頁,即為排在前15位的索引對象。
[0148]當(dāng)然,在本發(fā)明其他實施例中,也可以預(yù)設(shè)時間長度,當(dāng)內(nèi)存中緩存的網(wǎng)頁數(shù)目超過預(yù)設(shè)的上限值時,刪除保存時間超過所述預(yù)設(shè)時間長度的索引對象對應(yīng)的網(wǎng)頁。
[0149]例如,假設(shè)所述預(yù)設(shè)的上限值為30個,預(yù)設(shè)時間長度為一天,則當(dāng)索引列表中保存的索引對象達(dá)到30個時,則刪除保存時間超過一天的索引對象對應(yīng)的網(wǎng)頁。
[0150]對應(yīng)于本發(fā)明前述各實施例所述的終端瀏覽器的網(wǎng)頁緩存方法,本發(fā)明實施例還提供一種終端瀏覽器的網(wǎng)頁緩存裝置。參照圖3,為本發(fā)明實施例所述的終端瀏覽器的網(wǎng)頁緩存裝置結(jié)構(gòu)圖。
[0151]如圖3所示,所述裝置可以包括:第一生成單元100、第一保存單元200、第二生成單元300、以及第二保存單元400。
[0152]所述第一生成單元100,用于加載網(wǎng)頁,生成與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹。
[0153]所述第一保存單元200,用于將所述DOM樹和Render樹保存在內(nèi)存中。
[0154]所述第二生成單元300,用于生成與所述網(wǎng)頁對應(yīng)的索引對象,所述索引對象用于指明所述網(wǎng)頁對應(yīng)的DOM樹和Render樹的保存地址。
[0155]所述第二保存單元400,用于將所述索引對象保存在索引列表中。
[0156]本發(fā)明實施例所述裝置,在打開網(wǎng)頁的同時,將生成的網(wǎng)頁對應(yīng)的DOM樹和Render樹保存在內(nèi)存中。當(dāng)需要返回該網(wǎng)頁或者重新打開該網(wǎng)頁時,只需要從索引列表中找到與該網(wǎng)頁對應(yīng)的索引對象,根據(jù)所述索引對象指明的地址,直接獲取到該網(wǎng)頁對應(yīng)的DOM樹和Render樹,對該網(wǎng)頁進(jìn)行l(wèi)ayout。
[0157]由此可以使得,在返回或者重新打開曾經(jīng)打開過的網(wǎng)頁時,不需要重新加載該網(wǎng)頁以及對該網(wǎng)頁重新進(jìn)行解析和排版,使得返回操作的執(zhí)行過程非常迅速,減少了終端執(zhí)行操作所需的時間,有利于終端的節(jié)能省電。
[0158]但是,在實際應(yīng)用中,由于終端的內(nèi)存空間有限,因此并不是對所有曾經(jīng)打開過的網(wǎng)頁都需要進(jìn)行緩存。具體的,本發(fā)明實施例所述裝置,在保存所述DOM樹和Render樹之前,還可以對當(dāng)前打開的網(wǎng)頁進(jìn)行判斷,確定該網(wǎng)頁是否需要被緩存。
[0159]具體的,所述裝置還可以包括:第一判斷單元,用于確定所述網(wǎng)頁符合預(yù)設(shè)的緩存條件且所述網(wǎng)頁對應(yīng)的主文檔不存在錯誤信息。
[0160]優(yōu)選的,所述第一判斷單元可以包括:第一判斷子單元和/第二判斷子單元。
[0161]所述第一判斷子單元,用于當(dāng)所述網(wǎng)頁的網(wǎng)址屬于安全超文本傳輸協(xié)議HTTPS的鏈接時,所述網(wǎng)頁的文檔中不存在表單FORM類型的元素。
[0162]和/ 或,
[0163]所述第二判斷子單元,用于當(dāng)所述網(wǎng)頁的網(wǎng)址屬于HTTPS的鏈接時,預(yù)設(shè)的安全網(wǎng)頁列表中包含所述網(wǎng)頁。
[0164]優(yōu)選的,所述第一判斷單元還可以包括:
[0165]第三判斷子單元,用于當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁不存在卸載unload事件的監(jiān)聽機(jī)制。
[0166]和/ 或,
[0167]第四判斷子單元,用于當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁不存在打開本地數(shù)據(jù)庫的行為。
[0168]和/ 或,
[0169]第五判斷子單元,用于當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁對應(yīng)的主文檔屬于無線標(biāo)記語言WML格式或包括WML的內(nèi)容。
[0170]需要說明的是,由于終端的內(nèi)存空間有限,如果對所有打開過的網(wǎng)頁均進(jìn)行緩存,有可能會導(dǎo)致占用終端內(nèi)存過多,影響終端的其他操作。因此,本發(fā)明實施例中,還可以對緩存網(wǎng)頁的數(shù)量或時間進(jìn)行限制,保證終端內(nèi)存的占用率,確保終端的正常運行。
[0171]具體的,所述裝置還可以包括:刪除單元,用于當(dāng)所述索引列表中保存的索引對象的個數(shù)大于預(yù)設(shè)的上限值時,根據(jù)所述索引對象的保存時間刪除指定數(shù)目的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹。
[0172]優(yōu)選的,所述保存時間較長的索引對象包括:保存時間超過預(yù)設(shè)時間長度的預(yù)設(shè)數(shù)目個索引對象。
[0173]優(yōu)選的,所述刪除單元可以包括:
[0174]排序子單元,用于對所述索引列表中保存的索引對象按照保存時間由早到晚排序。
[0175]刪除子單元,用于刪除排在前指定數(shù)目位的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render 樹。
[0176]本發(fā)明實施例所述裝置中,還可以實現(xiàn)根據(jù)終端的實際使用情況,動態(tài)的設(shè)定所述上限值。具體的,所述裝置還可以包括:修正單元,用于獲取當(dāng)前內(nèi)存空間的使用信息,根據(jù)所述內(nèi)存空間的余量,修正保存網(wǎng)頁的DOM樹和Render樹的數(shù)目的上限值。
[0177]優(yōu)選的,本發(fā)明實施例所述裝置還可以包括:讀取單元,用于接收用戶對所述網(wǎng)頁的再次訪問請求,根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,渲染顯示。
[0178]當(dāng)然,所述裝置還可以包括:
[0179]第二判斷單元,用于判斷內(nèi)存中是否保存有與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹。
[0180]此時,所述讀取單元,還用于當(dāng)所述第二判斷單元的判斷結(jié)果為是時,再執(zhí)行根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹并渲染顯示的步驟。
[0181]本發(fā)明實施例還提供一種終端,所述終端包括如前述各實施例所述的終端瀏覽器的網(wǎng)頁緩存裝置。
[0182]圖4為本發(fā)明實施例所涉及的終端設(shè)備的結(jié)構(gòu)示意圖,該終端設(shè)備可以用于實施上述實施例中提供的終端瀏覽器的網(wǎng)頁緩存方法。具體來講:
[0183]終端設(shè)備1500可以包括RF (Radio Frequency,射頻)電路110、包括有一個或一個以上計算機(jī)可讀存儲介質(zhì)的存儲器120、輸入單元130、顯示單元140、傳感器150、音頻電路160、WiFi模塊170、包括有一個或者一個以上處理核心的處理器180、以及電源190等部件。本領(lǐng)域技術(shù)人員可以理解,圖4中示出的終端設(shè)備結(jié)構(gòu)并不構(gòu)成對終端設(shè)備的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中:
[0184]RF電路110可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,交由一個或者一個以上處理器180處理;另外,將涉及上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路110包括但不限于天線、至少一個放大器、調(diào)諧器、一個或多個振蕩器、用戶身份模塊(SIM)卡、收發(fā)信機(jī)、耦合器、LNA (Low Noise Amplifier,低噪聲放大器)、雙工器等。此外,RF電路110還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。該無線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于GSM(Global System of Mobile communication,全球移動通訊系統(tǒng))、GPRS (General Packet Radio Service,通用分組無線服務(wù))、CDMA(CodeDivision Multiple Access,石馬分多址)、WCDMA(Wideband Code Division MultipleAccess,寬帶碼分多址)、LTE (Long Term Evolution,長期演進(jìn))、電子郵件、SMS (ShortMessaging Service,短消息服務(wù))等。
[0185]存儲器120可用于存儲軟件程序以及模塊,處理器180通過運行存儲在存儲器120的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲器120可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)終端設(shè)備1500的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器120可以包括高速隨機(jī)存取存儲器,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。相應(yīng)地,存儲器120還可以包括存儲器控制器,以提供處理器180和輸入單元130對存儲器120的訪問。
[0186]輸入單元130可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與用戶設(shè)置以及功能控制有關(guān)的鍵盤、鼠標(biāo)、操作桿、光學(xué)或者軌跡球信號輸入。具體地,輸入單元130可包括觸敏表面131以及其他輸入設(shè)備132。觸敏表面131,也稱為觸摸顯示屏或者觸控板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸敏表面131上或在觸敏表面131附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動相應(yīng)的連接裝置??蛇x的,觸敏表面131可包括觸摸檢測裝置和觸摸控制器兩個部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點坐標(biāo),再送給處理器180,并能接收處理器180發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實現(xiàn)觸敏表面131。除了觸敏表面131,輸入單元130還可以包括其他輸入設(shè)備132。具體地,其他輸入設(shè)備132可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。
[0187]顯示單元140可用于顯示由用戶輸入的信息或提供給用戶的信息以及終端設(shè)備1500的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標(biāo)、視頻和其任意組合來構(gòu)成。顯示單元140可包括顯示面板141,可選的,可以采用IXD(Liquid CrystalDisplay,液晶顯示器)、OLED (Organic Light-Emitting Diode,有機(jī)發(fā)光二極管)等形式來配置顯示面板141。進(jìn)一步的,觸敏表面131可覆蓋顯示面板141,當(dāng)觸敏表面131檢測到在其上或附近的觸摸操作后,傳送給處理器180以確定觸摸事件的類型,隨后處理器180根據(jù)觸摸事件的類型在顯示面板141上提供相應(yīng)的視覺輸出。雖然在圖4中,觸敏表面131與顯示面板141是作為兩個獨立的部件來實現(xiàn)輸入和輸入功能,但是在某些實施例中,可以將觸敏表面131與顯示面板141集成而實現(xiàn)輸入和輸出功能。
[0188]終端設(shè)備1500還可包括至少一種傳感器150,比如光傳感器、運動傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板141的亮度,接近傳感器可在終端設(shè)備1500移動到耳邊時,關(guān)閉顯示面板141和/或背光。作為運動傳感器的一種,重力加速度傳感器可檢測各個方向上(一般為三軸)加速度的大小,靜止時可檢測出重力的大小及方向,可用于識別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計姿態(tài)校準(zhǔn))、振動識別相關(guān)功能(比如計步器、敲擊)等;至于終端設(shè)備1500還可配置的陀螺儀、氣壓計、濕度計、溫度計、紅外線傳感器等其他傳感器,在此不再贅述。
[0189]音頻電路160、揚聲器161,傳聲器162可提供用戶與終端設(shè)備1500之間的音頻接口。音頻電路160可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號,傳輸?shù)綋P聲器161,由揚聲器161轉(zhuǎn)換為聲音信號輸出;另一方面,傳聲器162將收集的聲音信號轉(zhuǎn)換為電信號,由音頻電路160接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器180處理后,經(jīng)RF電路110以發(fā)送給比如另一終端設(shè)備,或者將音頻數(shù)據(jù)輸出至存儲器120以便進(jìn)一步處理。音頻電路160還可能包括耳塞插孔,以提供外設(shè)耳機(jī)與終端設(shè)備1500的通信。[0190]WiFi屬于短距離無線傳輸技術(shù),終端設(shè)備1500通過WiFi模塊170可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖4示出了 WiFi模塊170,但是可以理解的是,其并不屬于終端設(shè)備1500的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。
[0191]處理器180是終端設(shè)備1500的控制中心,利用各種接口和線路連接整個手機(jī)的各個部分,通過運行或執(zhí)行存儲在存儲器120內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器120內(nèi)的數(shù)據(jù),執(zhí)行終端設(shè)備1500的各種功能和處理數(shù)據(jù),從而對手機(jī)進(jìn)行整體監(jiān)控??蛇x的,處理器180可包括一個或多個處理核心;優(yōu)選的,處理器180可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信??梢岳斫獾氖?,上述調(diào)制解調(diào)處理器也可以不集成到處理器180中。
[0192]終端設(shè)備1500還包括給各個部件供電的電源190 (比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器180邏輯相連,從而通過電源管理系統(tǒng)實現(xiàn)管理充電、放電、以及功耗管理等功能。電源190還可以包括一個或一個以上的直流或交流電源、再充電系統(tǒng)、電源故障檢測電路、電源轉(zhuǎn)換器或者逆變器、電源狀態(tài)指示器等任意組件。
[0193]盡管未示出,終端設(shè)備1500還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。具體在本實施例中,終端設(shè)備的顯示單元是觸摸屏顯示器,終端設(shè)備還包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器執(zhí)行,該一個或者一個以上程序包含用于進(jìn)行以下操作的指令:
[0194]加載網(wǎng)頁,生成與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,并將所述DOM樹和Render樹保存在內(nèi)存中;
[0195]生成與所述網(wǎng)頁對應(yīng)的索引對象,所述索引對象用于指明所述網(wǎng)頁對應(yīng)的DOM樹和Render樹的保存地址;
[0196]將所述索引對象保存在索引列表中。
[0197]較佳的,在所述將所述DOM樹和Render樹保存在內(nèi)存中之前,所述方法還包括:確定所述網(wǎng)頁符合預(yù)設(shè)的緩存條件且所述網(wǎng)頁對應(yīng)的主文檔不存在錯誤信息。
[0198]較佳的,所述預(yù)設(shè)的緩存條件,包括:
[0199]當(dāng)所述網(wǎng)頁的網(wǎng)址屬于安全超文本傳輸協(xié)議HTTPS的鏈接時,所述網(wǎng)頁的主文檔中不存在表單FORM類型的元素;
[0200]和/ 或,
[0201]當(dāng)所述網(wǎng)頁的網(wǎng)址屬于HTTPS的鏈接時,預(yù)設(shè)的安全網(wǎng)頁列表中包含所述網(wǎng)頁。
[0202]較佳的,所述預(yù)設(shè)的緩存條件,包括:
[0203]當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁不存在卸載unload事件的監(jiān)聽機(jī)制;
[0204]和/ 或,
[0205]當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁不存在打開本地數(shù)據(jù)庫的行為;
[0206]和/ 或,
[0207]當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁對應(yīng)的主文檔屬于無線標(biāo)記語言WML格式或包括WML的內(nèi)容。
[0208]較佳的,所述方法還包括:
[0209]當(dāng)所述索引列表中保存的索引對象的個數(shù)大于預(yù)設(shè)的上限值時,根據(jù)所述索引對象的保存時間刪除指定數(shù)目的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹。
[0210]較佳的,所述根據(jù)所述索引對象的保存時間刪除指定數(shù)目的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹,包括:
[0211]對所述索引列表中保存的索引對象按照保存時間由早到晚排序;
[0212]刪除排在前指定數(shù)目位的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹。
[0213]較佳的,所述方法還包括:
[0214]獲取當(dāng)前內(nèi)存空間的使用信息,根據(jù)所述內(nèi)存空間的余量,修正保存網(wǎng)頁的DOM樹和Render樹的數(shù)目的上限值。
[0215]較佳的,所述方法還包括:
[0216]接收用戶對所述網(wǎng)頁的再次訪問請求,根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,渲染顯示。
[0217]較佳的,在所述接收用戶對所述網(wǎng)頁的再次訪問請求后,所述方法還包括:
[0218]判斷內(nèi)存中是否保存有與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,如果保存有,再執(zhí)行根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹并渲染顯示的步驟。
[0219]本發(fā)明實施例在打開網(wǎng)頁的同時,將生成的網(wǎng)頁對應(yīng)的DOM樹和Render樹保存在內(nèi)存中。當(dāng)需要返回該網(wǎng)頁或者重新打開該網(wǎng)頁時,只需要從索引列表中找到與該網(wǎng)頁對應(yīng)的索引對象,根據(jù)所述索引對象指明的地址,直接獲取到該網(wǎng)頁對應(yīng)的DOM樹和Render樹,對該網(wǎng)頁進(jìn)行l(wèi)ayout。
[0220]由此可以使得,在返回或者重新打開曾經(jīng)打開過的網(wǎng)頁時,不需要重新加載該網(wǎng)頁以及對該網(wǎng)頁重新進(jìn)行解析和排版,使得返回操作的執(zhí)行過程非常迅速,減少了終端執(zhí)行操作所需的時間,有利于終端的節(jié)能省電。
[0221]參見圖5,圖5是本發(fā)明實施例提供的一種服務(wù)器結(jié)構(gòu)示意圖。該服務(wù)器1600可因配置或性能不同而產(chǎn)生比較大的差異,可以包括一個或一個以上中央處理器(centralprocessing units,CPU)1622 (例如,一個或一個以上處理器)和存儲器1632,一個或一個以上存儲應(yīng)用程序1642或數(shù)據(jù)1644的存儲介質(zhì)1630 (例如一個或一個以上海量存儲設(shè)備)。其中,存儲器1632和存儲介質(zhì)1630可以是短暫存儲或持久存儲。存儲在存儲介質(zhì)1630的程序可以包括一個或一個以上模塊(圖示未示出),每個模塊可以包括對服務(wù)器中的一系列指令操作。更進(jìn)一步地,中央處理器1622可以設(shè)置為與存儲介質(zhì)1630通信,在服務(wù)器1600上執(zhí)行存儲介質(zhì)1630中的一系列指令操作。服務(wù)器1600還可以包括一個或一個以上電源1626,一個或一個以上有線或無線網(wǎng)絡(luò)接口 1650,一個或一個以上輸入輸出接口 1658,一個或一個以上鍵盤1656,和/或,一個或一個以上操作系統(tǒng)1641,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,F(xiàn)reeBSDTM等等。上述圖1以及圖2所示實施例中所述的由服務(wù)器所執(zhí)行的步驟可以基于該圖5所示的服務(wù)器結(jié)構(gòu)。
[0222]本發(fā)明實施例還提供了一種終端設(shè)備,該終端設(shè)備的結(jié)構(gòu)與上述圖4所示的終端設(shè)備同理,該終端設(shè)備用于執(zhí)行上述實施例所提供的網(wǎng)絡(luò)共享方法,其中,該一個或者一個以上程序包含用于進(jìn)行以下操作的指令:[0223]加載網(wǎng)頁,生成與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,并將所述DOM樹和Render樹保存在內(nèi)存中;
[0224]生成與所述網(wǎng)頁對應(yīng)的索引對象,所述索引對象用于指明所述網(wǎng)頁對應(yīng)的DOM樹和Render樹的保存地址;
[0225]將所述索引對象保存在索引列表中。
[0226]較佳的,在所述將所述DOM樹和Render樹保存在內(nèi)存中之前,所述方法還包括:確定所述網(wǎng)頁符合預(yù)設(shè)的緩存條件且所述網(wǎng)頁對應(yīng)的主文檔不存在錯誤信息。
[0227]較佳的,所述預(yù)設(shè)的緩存條件,包括:
[0228]當(dāng)所述網(wǎng)頁的網(wǎng)址屬于安全超文本傳輸協(xié)議HTTPS的鏈接時,所述網(wǎng)頁的主文檔中不存在表單FORM類型的元素;
[0229]和/ 或,
[0230]當(dāng)所述網(wǎng)頁的網(wǎng)址屬于HTTPS的鏈接時,預(yù)設(shè)的安全網(wǎng)頁列表中包含所述網(wǎng)頁。
[0231]較佳的,所述預(yù)設(shè)的緩存條件,包括:
[0232]當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁不存在卸載unload事件的監(jiān)聽機(jī)制;
[0233]和/ 或,
[0234]當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁不存在打開本地數(shù)據(jù)庫的行為;
[0235]和/ 或,
[0236]當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁對應(yīng)的主文檔屬于無線標(biāo)記語言WML格式或包括WML的內(nèi)容。
[0237]較佳的,所述方法還包括:
[0238]當(dāng)所述索引列表中保存的索引對象的個數(shù)大于預(yù)設(shè)的上限值時,根據(jù)所述索引對象的保存時間刪除指定數(shù)目的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹。
[0239]較佳的,所述根據(jù)所述索引對象的保存時間刪除指定數(shù)目的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹,包括:
[0240]對所述索引列表中保存的索引對象按照保存時間由早到晚排序;
[0241 ] 刪除排在前指定數(shù)目位的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹。
[0242]較佳的,所述方法還包括:
[0243]獲取當(dāng)前內(nèi)存空間的使用信息,根據(jù)所述內(nèi)存空間的余量,修正保存網(wǎng)頁的DOM樹和Render樹的數(shù)目的上限值。
[0244]較佳的,所述方法還包括:
[0245]接收用戶對所述網(wǎng)頁的再次訪問請求,根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,渲染顯示。
[0246]較佳的,在所述接收用戶對所述網(wǎng)頁的再次訪問請求后,所述方法還包括:
[0247]判斷內(nèi)存中是否保存有與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,如果保存有,再執(zhí)行根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹并渲染顯示的步驟。
[0248]本發(fā)明實施例在打開網(wǎng)頁的同時,將生成的網(wǎng)頁對應(yīng)的DOM樹和Render樹保存在內(nèi)存中。當(dāng)需要返回該網(wǎng)頁或者重新打開該網(wǎng)頁時,只需要從索引列表中找到與該網(wǎng)頁對應(yīng)的索引對象,根據(jù)所述索引對象指明的地址,直接獲取到該網(wǎng)頁對應(yīng)的DOM樹和Render樹,對該網(wǎng)頁進(jìn)行l(wèi)ayout。
[0249]由此可以使得,在返回或者重新打開曾經(jīng)打開過的網(wǎng)頁時,不需要重新加載該網(wǎng)頁以及對該網(wǎng)頁重新進(jìn)行解析和排版,使得返回操作的執(zhí)行過程非常迅速,減少了終端執(zhí)行操作所需的時間,有利于終端的節(jié)能省電。
[0250]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機(jī)可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0251 ] 以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種終端瀏覽器的網(wǎng)頁緩存方法,其特征在于,所述方法包括: 加載網(wǎng)頁,生成與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,并將所述DOM樹和Render樹保存在內(nèi)存中; 生成與所述網(wǎng)頁對應(yīng)的索引對象,所述索引對象用于指明所述網(wǎng)頁對應(yīng)的DOM樹和Render樹的保存地址; 將所述索引對象保存在索引列表中。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述將所述DOM樹和Render樹保存在內(nèi)存中之前,所述方法還包括: 確定所述網(wǎng)頁符合預(yù)設(shè)的緩存條件且所述網(wǎng)頁對應(yīng)的主文檔不存在錯誤信息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述預(yù)設(shè)的緩存條件,包括: 當(dāng)所述網(wǎng)頁的網(wǎng)址屬于安全超文本傳輸協(xié)議HTTPS的鏈接時,所述網(wǎng)頁的主文檔中不存在表單FORM類型的元素; 和/或, 當(dāng)所述網(wǎng)頁的網(wǎng)址屬于HTTPS的鏈接時,預(yù)設(shè)的安全網(wǎng)頁列表中包含所述網(wǎng)頁。
4.根據(jù)權(quán) 利要求2所述的方法,其特征在于,所述預(yù)設(shè)的緩存條件,包括: 當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁不存在卸載unload事件的監(jiān)聽機(jī)制; 和/或, 當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁不存在打開本地數(shù)據(jù)庫的行為; 和/或, 當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁對應(yīng)的主文檔屬于無線標(biāo)記語言WML格式或包括WML的內(nèi)容。
5.根據(jù)權(quán)利要求1至4任一項所述的方法,其特征在于,所述方法還包括: 當(dāng)所述索引列表中保存的索引對象的個數(shù)大于預(yù)設(shè)的上限值時,根據(jù)所述索引對象的保存時間刪除指定數(shù)目的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述根據(jù)所述索引對象的保存時間刪除指定數(shù)目的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹,包括: 對所述索引列表中保存的索引對象按照保存時間由早到晚排序; 刪除排在前指定數(shù)目位的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括: 獲取當(dāng)前內(nèi)存空間的使用信息,根據(jù)所述內(nèi)存空間的余量,修正保存網(wǎng)頁的DOM樹和Render樹的數(shù)目的上限值。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 接收用戶對所述網(wǎng)頁的再次訪問請求,根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,渲染顯示。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,在所述接收用戶對所述網(wǎng)頁的再次訪問請求后,所述方法還包括: 判斷內(nèi)存中是否保存有與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,如果保存有,再執(zhí)行根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹并渲染顯示的步驟。
10.一種終端瀏覽器的網(wǎng)頁緩存裝置,其特征在于,所述裝置包括: 第一生成單元,用于加載網(wǎng)頁,生成與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹; 第一保存單元,用于將所述DOM樹和Render樹保存在內(nèi)存中; 第二生成單元,用于生成與所述網(wǎng)頁對應(yīng)的索引對象,所述索引對象用于指明所述網(wǎng)頁對應(yīng)的DOM樹和Render樹的保存地址; 第二保存單元,用于將所述索引對象保存在索引列表中。
11.根據(jù)權(quán)利要求10所述的終端瀏覽器的網(wǎng)頁緩存裝置,所述裝置還包括: 第一判斷單元,用于確定所述網(wǎng)頁符合預(yù)設(shè)的緩存條件且所述網(wǎng)頁對應(yīng)的主文檔不存在錯誤信息。
12.根據(jù)權(quán)利要求11所述的終端瀏覽器的網(wǎng)頁緩存裝置,其特征在于,所述第一判斷單元包括: 第一判斷子單元,用于當(dāng)所述網(wǎng)頁的網(wǎng)址屬于安全超文本傳輸協(xié)議HTTPS的鏈接時,所述網(wǎng)頁的文檔中不存在表單FORM類型的元素; 和/或, 第二判斷子單元,用于當(dāng)所述網(wǎng)頁的網(wǎng)址屬于HTTPS的鏈接時,預(yù)設(shè)的安全網(wǎng)頁列表中包含所述網(wǎng)頁。
13.根據(jù)權(quán)利要求12所述的終端瀏覽器的網(wǎng)頁緩存裝置,其特征在于,所述第一判斷單元還包括: 第三判斷子單元,用于當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁不存在卸載unload事件的監(jiān)聽機(jī)制; 和/或, 第四判斷子單元,用于當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁不存在打開本地數(shù)據(jù)庫的行為; 和/或, 第五判斷子單元,用于當(dāng)所述網(wǎng)頁的網(wǎng)址不屬于HTTPS鏈接時,所述網(wǎng)頁對應(yīng)的主文檔屬于無線標(biāo)記語言WML格式或包括WML的內(nèi)容。
14.根據(jù)權(quán)利要求10至13任一項所述的終端瀏覽器的網(wǎng)頁緩存裝置,其特征在于,所述裝置還包括: 刪除單元,用于當(dāng)所述索引列表中保存的索引對象的個數(shù)大于預(yù)設(shè)的上限值時,根據(jù)所述索引對象的保存時間刪除指定數(shù)目的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹。
15.根據(jù)權(quán)利要求14所述的終端瀏覽器的網(wǎng)頁緩存裝置,其特征在于,所述刪除單元包括: 排序子單元,用于對所述索引列表中保存的索引對象按照保存時間由早到晚排序; 刪除子單元,用于刪除排在前指定數(shù)目位的索引對象對應(yīng)的網(wǎng)頁的DOM樹和Render樹。
16.根據(jù)權(quán)利要求14所述的終端瀏覽器的網(wǎng)頁緩存裝置,其特征在于,所述裝置還包括: 修正單元,用于獲取當(dāng)前內(nèi)存空間的使用信息,根據(jù)所述內(nèi)存空間的余量,修正保存網(wǎng)頁的DOM樹和Render樹的數(shù)目的上限值。
17.根據(jù)權(quán)利要求10所述的終端瀏覽器的網(wǎng)頁緩存裝置,其特征在于,所述裝置還包括: 讀取單元,用于接收用戶對所述網(wǎng)頁的再次訪問請求,根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,渲染顯示。
18.根據(jù)權(quán)利要求17所述的終端瀏覽器的網(wǎng)頁緩存裝置,其特征在于,所述裝置還包括: 第二判斷單元,用于判斷內(nèi)存中是否保存有與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹;所述讀取單元,還用于當(dāng)所述第二判斷單元的判斷結(jié)果為是時,再執(zhí)行根據(jù)所述索引對象讀取所述網(wǎng)頁對應(yīng)的DOM樹和Render樹并渲染顯示的步驟。
19.一種終端,其特征在于,所述終端包括如權(quán)利要求10至18任一項所述的終端瀏覽器的網(wǎng)頁緩存裝置。
20.—種移動終端,其特征在于,包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲于存儲器中,且經(jīng)配置以由一個或者一個以上處理器執(zhí)行所述一個或者一個以上程序包含用于進(jìn)行以下操作的指令: 加載網(wǎng)頁,生成與所述網(wǎng)頁對應(yīng)的DOM樹和Render樹,并將所述DOM樹和Render樹保存在內(nèi)存中; 生成與所述網(wǎng)頁對應(yīng)的索引對象,所述索引對象用于指明所述網(wǎng)頁對應(yīng)的DOM樹和Render樹的保存地址; 將所述索引對象保存在索引列表中。
【文檔編號】G06F17/30GK103699595SQ201310676543
【公開日】2014年4月2日 申請日期:2013年12月11日 優(yōu)先權(quán)日:2013年12月11日
【發(fā)明者】張少偉, 牛磊, 左景龍 申請人:小米科技有限責(zé)任公司