本發(fā)明涉及信息處理技術(shù),尤其涉及一種頁(yè)面生成方法,以及一種頁(yè)面生成裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,人們?cè)絹?lái)越多地通過(guò)網(wǎng)絡(luò)從網(wǎng)站的一個(gè)或多個(gè)網(wǎng)頁(yè)中獲取所需信息。
現(xiàn)有技術(shù)中,用戶每次訪問(wèn)網(wǎng)頁(yè)時(shí),都需要從數(shù)據(jù)庫(kù)中讀取網(wǎng)頁(yè)所包含的所有頁(yè)面數(shù)據(jù),其中包括固定不變的固定信息和發(fā)生變化的實(shí)時(shí)信息。由于讀取頁(yè)面信息存在延遲問(wèn)題,因此每次訪問(wèn)頁(yè)面時(shí)對(duì)所有頁(yè)面數(shù)據(jù)的讀取操作會(huì)降低頁(yè)面的響應(yīng)速度,從而降低用戶的體驗(yàn)效果。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問(wèn)題,本發(fā)明的實(shí)施例提供了一種頁(yè)面生成方法,以及一種頁(yè)面生成裝置。
依據(jù)本發(fā)明的一個(gè)方面,提供了一種頁(yè)面生成方法,所述頁(yè)面中包括至少一個(gè)顯示區(qū)域,所述方法包括:
訪問(wèn)網(wǎng)頁(yè),接收頁(yè)面編輯服務(wù)器反饋的針對(duì)所述頁(yè)面設(shè)置的HTML文檔和針對(duì)所述頁(yè)面中的各個(gè)顯示區(qū)域中的動(dòng)態(tài)數(shù)據(jù)分別生成的至少一個(gè)腳本文件,所述HTML文檔中記錄有針對(duì)所述頁(yè)面中的各個(gè)顯示區(qū)域中的靜態(tài)數(shù)據(jù)分別生成的至少一個(gè)HTML片段;
針對(duì)各個(gè)顯示區(qū)域,依據(jù)對(duì)應(yīng)的HTML片段獲取在所述顯示區(qū)域內(nèi)顯示的靜態(tài)數(shù)據(jù),并緩存所述靜態(tài)數(shù)據(jù)至本地以供下次訪問(wèn)所述頁(yè)面時(shí)使用;
依據(jù)對(duì)應(yīng)的腳本文件調(diào)用在所述顯示區(qū)域內(nèi)顯示的動(dòng)態(tài)數(shù)據(jù);
生成所述頁(yè)面,在所述顯示區(qū)域內(nèi)顯示所述靜態(tài)數(shù)據(jù)和所述動(dòng)態(tài)數(shù)據(jù)。
可選地,所述方法還包括:
再次訪問(wèn)所述頁(yè)面時(shí),直接從所述本地提取在所述顯示區(qū)域內(nèi)顯示的靜態(tài)數(shù)據(jù),并將提取的靜態(tài)數(shù)據(jù)顯示在所述顯示區(qū)域內(nèi)。
可選地,所述頁(yè)面編輯服務(wù)器中記錄有所述顯示區(qū)域和針對(duì)所述顯示區(qū)域中的動(dòng)態(tài)數(shù)據(jù)生成的腳本文件之間的對(duì)應(yīng)關(guān)系。
可選地,在所述依據(jù)對(duì)應(yīng)的腳本文件調(diào)用在所述顯示區(qū)域內(nèi)顯示的動(dòng)態(tài)數(shù)據(jù)之前,所述方法還包括:
從所述頁(yè)面編輯服務(wù)器獲取所述對(duì)應(yīng)關(guān)系;
依據(jù)所述對(duì)應(yīng)關(guān)系,從接收的至少一個(gè)腳本文件中,選擇出與所述顯示區(qū)域?qū)?yīng)的腳本文件。
可選地,當(dāng)所述靜態(tài)數(shù)據(jù)以鏈接地址形式記錄在所述HTML片段中時(shí),所述依據(jù)對(duì)應(yīng)的HTML片段獲取在所述顯示區(qū)域內(nèi)顯示的靜態(tài)數(shù)據(jù)包括:
訪問(wèn)所述鏈接地址,獲取所述靜態(tài)數(shù)據(jù)。
可選地,所述依據(jù)對(duì)應(yīng)的腳本文件調(diào)用在所述顯示區(qū)域內(nèi)顯示的動(dòng)態(tài)數(shù)據(jù)包括:
向動(dòng)態(tài)數(shù)據(jù)服務(wù)器發(fā)送接口請(qǐng)求,從所述動(dòng)態(tài)數(shù)據(jù)服務(wù)器內(nèi)的預(yù)設(shè)數(shù)據(jù)庫(kù)中讀取所述動(dòng)態(tài)數(shù)據(jù)。
依據(jù)本發(fā)明的另一個(gè)方面,提供了一種頁(yè)面生成裝置,所述裝置包括:
文件接收模塊,用于訪問(wèn)網(wǎng)頁(yè),接收頁(yè)面編輯服務(wù)器反饋的針對(duì)所述頁(yè)面設(shè)置的HTML文檔和針對(duì)所述頁(yè)面中的各個(gè)顯示區(qū)域中的動(dòng)態(tài)數(shù)據(jù)分別生成的至少一個(gè)腳本文件,所述HTML文檔中記錄有針對(duì)所述頁(yè)面中的各個(gè)顯示區(qū)域中的靜態(tài)數(shù)據(jù)分別生成的至少一個(gè)HTML片段,所述頁(yè)面中包括至少一個(gè)顯示區(qū)域;
靜態(tài)數(shù)據(jù)獲取模塊,用于針對(duì)各個(gè)顯示區(qū)域,依據(jù)對(duì)應(yīng)的HTML片段獲取在所述顯示區(qū)域內(nèi)顯示的靜態(tài)數(shù)據(jù),并緩存所述靜態(tài)數(shù)據(jù)至本地以供下次訪問(wèn)所述頁(yè)面時(shí)使用;
動(dòng)態(tài)數(shù)據(jù)調(diào)用模塊,用于依據(jù)對(duì)應(yīng)的腳本文件調(diào)用在所述顯示區(qū)域內(nèi)顯示的動(dòng)態(tài)數(shù)據(jù);
頁(yè)面生成模塊,用于生成所述頁(yè)面,在所述顯示區(qū)域內(nèi)顯示所述靜態(tài)數(shù)據(jù)和所述動(dòng)態(tài)數(shù)據(jù)。
可選地,所述裝置還包括:
靜態(tài)數(shù)據(jù)直接提取模塊,用于再次訪問(wèn)所述頁(yè)面時(shí),直接從所述本地提取在所述顯示區(qū)域內(nèi)顯示的靜態(tài)數(shù)據(jù),并將提取的靜態(tài)數(shù)據(jù)顯示在所述顯示區(qū)域內(nèi)。
可選地,所述頁(yè)面編輯服務(wù)器中記錄有所述顯示區(qū)域和針對(duì)所述顯示區(qū)域中的動(dòng)態(tài)數(shù)據(jù)生成的腳本文件之間的對(duì)應(yīng)關(guān)系。
可選地,所述裝置還包括:
對(duì)應(yīng)關(guān)系獲取模塊,用于在所述依據(jù)對(duì)應(yīng)的腳本文件調(diào)用在所述顯示區(qū)域內(nèi)顯示的動(dòng)態(tài)數(shù)據(jù)之前,從所述頁(yè)面編輯服務(wù)器獲取所述對(duì)應(yīng)關(guān)系;
腳本文件選擇模塊,用于依據(jù)所述對(duì)應(yīng)關(guān)系,從接收的至少一個(gè)腳本文件中,選擇出與所述顯示區(qū)域?qū)?yīng)的腳本文件。
可選地,所述靜態(tài)數(shù)據(jù)獲取模塊,具體用于當(dāng)所述靜態(tài)數(shù)據(jù)以鏈接地址形式記錄在所述HTML片段中時(shí),訪問(wèn)所述鏈接地址,獲取所述靜態(tài)數(shù)據(jù)。
可選地,所述動(dòng)態(tài)數(shù)據(jù)調(diào)用模塊,具體用于向動(dòng)態(tài)數(shù)據(jù)服務(wù)器發(fā)送接口請(qǐng)求,從所述動(dòng)態(tài)數(shù)據(jù)服務(wù)器內(nèi)的預(yù)設(shè)數(shù)據(jù)庫(kù)中讀取所述動(dòng)態(tài)數(shù)據(jù)。
與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例中,在首次訪問(wèn)頁(yè)面時(shí),會(huì)將頁(yè)面的顯示區(qū)域中的靜態(tài)數(shù)據(jù)緩存至本地,當(dāng)再次訪問(wèn)該頁(yè)面時(shí),可以直接從本地提取顯示區(qū)域中的靜態(tài)數(shù)據(jù),將提取的靜態(tài)數(shù)據(jù)顯示在對(duì)應(yīng)的顯示區(qū)域內(nèi),從而減少了訪問(wèn)頁(yè)面時(shí)所需讀取的數(shù)據(jù)量,保證了頁(yè)面的響應(yīng)速度,保證了用戶的體驗(yàn)效果。
上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說(shuō)明
通過(guò)閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1示出了根據(jù)本發(fā)明實(shí)施例1的頁(yè)面生成方法的流程圖;
圖2示出了根據(jù)本發(fā)明實(shí)施例2的頁(yè)面生成裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開(kāi)的示例性實(shí)施例。雖然附圖中顯示了本公開(kāi)的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開(kāi)而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開(kāi),并且能夠?qū)⒈竟_(kāi)的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
實(shí)施例1
參考圖1,示出了根據(jù)本發(fā)明實(shí)施例1的頁(yè)面生成方法的流程圖,該方法具體可以包括以下步驟:
步驟101、訪問(wèn)網(wǎng)頁(yè),接收頁(yè)面編輯服務(wù)器反饋的針對(duì)所述頁(yè)面設(shè)置的HTML文檔和針對(duì)所述頁(yè)面中的各個(gè)顯示區(qū)域中的動(dòng)態(tài)數(shù)據(jù)分別生成的至少一個(gè)腳本文件。
為使本領(lǐng)域技術(shù)人員更加清楚地理解本發(fā)明實(shí)施例,現(xiàn)對(duì)網(wǎng)頁(yè)編輯、網(wǎng)頁(yè)預(yù)覽、網(wǎng)頁(yè)生成等過(guò)程進(jìn)行解釋說(shuō)明。
本發(fā)明實(shí)施例使用網(wǎng)頁(yè)管理系統(tǒng)對(duì)頁(yè)面的頁(yè)面數(shù)據(jù)進(jìn)行可視化編輯。網(wǎng)頁(yè)管理系統(tǒng)是一種位于Web前端和后端辦公系統(tǒng)或流程之間的軟件系統(tǒng)。網(wǎng)頁(yè)的創(chuàng)作人員、編輯人員、發(fā)布人員使用網(wǎng)頁(yè)管理系統(tǒng)來(lái)提交、修改、審批、發(fā)布內(nèi)容。所述內(nèi)容可以包括文件、表格、圖片、數(shù)據(jù)庫(kù)中的數(shù)據(jù)、視頻等其他預(yù)發(fā)布到Internet、Intranet以及Extranet網(wǎng)站的信息。
研發(fā)人員開(kāi)發(fā)網(wǎng)站時(shí),會(huì)對(duì)網(wǎng)站中的網(wǎng)頁(yè)配置頁(yè)面模板。同時(shí)會(huì)根據(jù)網(wǎng)頁(yè)布局需要在網(wǎng)頁(yè)中預(yù)留一定數(shù)目的編輯區(qū)域,將編輯區(qū)域?qū)懭刖W(wǎng)頁(yè)模板中,并且在網(wǎng)頁(yè)模板中限定了操作頁(yè)面中的編輯區(qū)域在對(duì)應(yīng)頁(yè)面中的顯示位置,即限定了在編輯區(qū)域內(nèi)編輯的頁(yè)面數(shù)據(jù)在頁(yè)面中的顯示區(qū)域。
進(jìn)入某一網(wǎng)站的網(wǎng)頁(yè)管理系統(tǒng)后,可以對(duì)網(wǎng)站中的多個(gè)網(wǎng)頁(yè)進(jìn)行編輯,在選擇預(yù)編輯的某一網(wǎng)頁(yè)后,展示與選擇頁(yè)面對(duì)應(yīng)的操作頁(yè)面,網(wǎng)頁(yè)和操作頁(yè)面存在一一對(duì)應(yīng)關(guān)系。由于開(kāi)發(fā)人員在開(kāi)發(fā)網(wǎng)站時(shí)針對(duì)頁(yè)面設(shè)置了至少一個(gè)編輯區(qū)域,因此展示的操作頁(yè)面中會(huì)顯示至少一個(gè)編輯區(qū)域,用戶可以在展示的編輯區(qū)域內(nèi)進(jìn)行頁(yè)面數(shù)據(jù)編輯操作,該頁(yè)面數(shù)據(jù)編輯操作是非代碼編輯操作。
具體地,根據(jù)網(wǎng)頁(yè)布局需要在網(wǎng)頁(yè)中預(yù)留一定數(shù)目的編輯區(qū)域,將編輯區(qū)域?qū)懭刖W(wǎng)頁(yè)源代碼中,并且在頁(yè)面管理系統(tǒng)的操作頁(yè)面中顯示編輯區(qū)域的實(shí)現(xiàn)過(guò)程如下:
將針對(duì)編輯區(qū)域配置的插槽寫(xiě)入頁(yè)面模板中,服務(wù)器在渲染已配置插槽的頁(yè)面模板時(shí),可以對(duì)該頁(yè)面模板進(jìn)行掃描,當(dāng)掃描出該頁(yè)面模板中包含插槽時(shí),將掃描出的所有插槽分別轉(zhuǎn)換成可編輯的編輯區(qū)域,待所有的插槽均轉(zhuǎn)換成對(duì)應(yīng)的編輯區(qū)域后,在該頁(yè)面模板中顯示出所有的編輯區(qū)域??梢酝ㄟ^(guò)多種不同的方式將編輯區(qū)域顯示出來(lái),例如,可以將編輯區(qū)域的邊框填充不同樣式的線條,可以在可編輯區(qū)域顯示“可編輯”的字樣等等,這些顯示的編輯區(qū)域可以指示操作人員在該編輯區(qū)域中進(jìn)行操作,服務(wù)器根據(jù)操作人員的操作,為編輯區(qū)域配置網(wǎng)頁(yè)元素,實(shí)現(xiàn)對(duì)網(wǎng)頁(yè)進(jìn)行編輯。
在構(gòu)建所使用的網(wǎng)頁(yè)管理系統(tǒng)時(shí),預(yù)先設(shè)置了多個(gè)頁(yè)面組件,不同頁(yè)面組件對(duì)應(yīng)不同的類型,例如:圖片類型、文本類型、鏈接類型和多媒體類型等等,因此,將頁(yè)面組件成功添加至頁(yè)面模板的編輯區(qū)域后,在對(duì)頁(yè)面組件進(jìn)行編輯時(shí),需要根據(jù)頁(yè)面組件的類型對(duì)組件進(jìn)行編輯,添加對(duì)應(yīng)的頁(yè)面數(shù)據(jù)。本發(fā)明實(shí)施例中,每個(gè)頁(yè)面組件具有唯一的標(biāo)識(shí),且每個(gè)頁(yè)面組件的功能與規(guī)定輸出的格式是不同的,例如一個(gè)圖片類型的組件,規(guī)定輸出的類型可能是gpj或bmp等,因此,當(dāng)對(duì)頁(yè)面組件進(jìn)行編輯時(shí),無(wú)論該圖片類型的頁(yè)面組件添加的是圖片或是圖片對(duì)應(yīng)的路徑,在生成對(duì)應(yīng)的網(wǎng)頁(yè)時(shí),該編輯區(qū)域顯示出圖片,因此在對(duì)頁(yè)面組件進(jìn)行編輯時(shí),根據(jù)不同的組件類型,添加對(duì)應(yīng)類型的組件參數(shù)。同時(shí),在設(shè)置頁(yè)面組件時(shí),還對(duì)頁(yè)面組件的顯示屬性進(jìn)行了設(shè)置,顯示屬性限定了對(duì)頁(yè)面組件進(jìn)行編輯時(shí)可以使用的數(shù)據(jù)狀態(tài),是動(dòng)態(tài)數(shù)據(jù)還是靜態(tài)數(shù)據(jù)。
當(dāng)進(jìn)入網(wǎng)頁(yè)管理系統(tǒng)后,頁(yè)面組件顯示在系統(tǒng)框架中,可以包括一個(gè)或多個(gè)頁(yè)面組件。操作頁(yè)面顯示的至少一個(gè)編輯區(qū)域和系統(tǒng)顯示的頁(yè)面組件之間可以是無(wú)關(guān)聯(lián)的,可以根據(jù)頁(yè)面布局需要,針對(duì)某一編輯區(qū)域選擇不同類型的頁(yè)面組件。
預(yù)對(duì)編輯區(qū)域進(jìn)行頁(yè)面數(shù)據(jù)編輯時(shí),可以將頁(yè)面管理系統(tǒng)中顯示的頁(yè)面組件添加至編輯區(qū)域中,此時(shí)頁(yè)面組件被激活,頁(yè)面組件中的預(yù)置編輯信息被釋放。可以在編輯區(qū)域上方彈出一編輯界面,供用戶輸入所需的頁(yè)面數(shù)據(jù),執(zhí)行頁(yè)面數(shù)據(jù)編輯操作。
例如,將產(chǎn)品組件拖拽至編輯區(qū)域后,會(huì)在編輯區(qū)域上方彈出一用于編輯頁(yè)面數(shù)據(jù)的編輯界面,編輯界面中顯示一編輯列表,列表中包括產(chǎn)品識(shí)別碼、產(chǎn)品名稱和產(chǎn)品價(jià)格三個(gè)標(biāo)題信息,以及多個(gè)供用戶填寫(xiě)的表格。用戶可以在表格中填寫(xiě)產(chǎn)品的相關(guān)信息,完成對(duì)該編輯區(qū)域的數(shù)據(jù)編輯操作。
在完成對(duì)頁(yè)面組件的編輯操作后,可以根據(jù)在該編輯區(qū)域內(nèi)編輯的頁(yè)面數(shù)據(jù)對(duì)頁(yè)面組件對(duì)應(yīng)的組件代碼進(jìn)行修改,以便在編輯區(qū)域內(nèi)展示編輯后的頁(yè)面組件的編輯效果。若組件源代碼中已有上述信息,則使用新編輯的組件信息替換已有組件信息。
在完成對(duì)頁(yè)面組件的組件代碼的修改操作后,在該頁(yè)面組件的編輯區(qū)域內(nèi)對(duì)修改后的組件代碼進(jìn)行渲染,將所編輯的頁(yè)面數(shù)據(jù)展示在編輯區(qū)域內(nèi),以供用戶查看頁(yè)面組件的編輯效果。用戶可以根據(jù)頁(yè)面的整體布局判斷該頁(yè)面組件的編輯效果是否滿足要求;若不滿足,則可以進(jìn)行再次編輯操作。
在完成對(duì)頁(yè)面數(shù)據(jù)的編輯操作后,會(huì)將所編輯的頁(yè)面數(shù)據(jù)即原數(shù)據(jù)發(fā)送至頁(yè)面編輯服務(wù)器,同時(shí)記錄編輯區(qū)域所在的操作頁(yè)面、編輯區(qū)域、頁(yè)面組件、在編輯區(qū)域內(nèi)編輯的頁(yè)面數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系,并將對(duì)應(yīng)關(guān)系發(fā)送至頁(yè)面編輯服務(wù)器,以供訪客訪問(wèn)該頁(yè)面時(shí),頁(yè)面服務(wù)器根據(jù)所述對(duì)應(yīng)關(guān)系提取某一頁(yè)面中的頁(yè)面組件的組件參數(shù),并根據(jù)提取的組件參數(shù)修改對(duì)應(yīng)頁(yè)面中的頁(yè)面組件的組件代碼。
頁(yè)面編輯服務(wù)器接收的頁(yè)面數(shù)據(jù)中包括靜態(tài)數(shù)據(jù)和/或動(dòng)態(tài)數(shù)據(jù),頁(yè)面編輯服務(wù)器會(huì)編輯靜態(tài)數(shù)據(jù)生成HTML片段,并根據(jù)記錄的編輯區(qū)域所在的操作頁(yè)面、編輯區(qū)域、頁(yè)面組件、在編輯區(qū)域內(nèi)編輯的頁(yè)面數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系將HTML片段寫(xiě)入頁(yè)面源代碼中;頁(yè)面服務(wù)器會(huì)編輯動(dòng)態(tài)數(shù)據(jù)生成對(duì)應(yīng)的腳本文件。
進(jìn)一步,由于在頁(yè)面管理系統(tǒng)的操作頁(yè)面中顯示的某一編輯區(qū)域在對(duì)應(yīng)頁(yè)面中具有確定的顯示區(qū)域,因此在記錄了編輯區(qū)域和在該編輯區(qū)域內(nèi)編輯的頁(yè)面數(shù)據(jù)之間的對(duì)應(yīng)關(guān)系情況下,存在顯示區(qū)域和針對(duì)顯示區(qū)域中的動(dòng)態(tài)數(shù)據(jù)生成的腳本文件之間的對(duì)應(yīng)關(guān)系,頁(yè)面編輯服務(wù)器可以記錄顯示區(qū)域和針對(duì)顯示區(qū)域中的動(dòng)態(tài)數(shù)據(jù)生成的腳本文件之間的對(duì)應(yīng)關(guān)系,以供頁(yè)面訪問(wèn)時(shí)從某一頁(yè)面的多個(gè)腳本文件中提取某一顯示區(qū)域?qū)?yīng)的腳本文件。
頁(yè)面編輯服務(wù)器在接收到針對(duì)某一頁(yè)面的訪問(wèn)請(qǐng)求后,從預(yù)設(shè)數(shù)據(jù)庫(kù)中提取出該頁(yè)面的HTML文檔以及針對(duì)該頁(yè)面中的各個(gè)顯示區(qū)域中的動(dòng)態(tài)數(shù)據(jù)分別生成的至少一個(gè)腳本文件,之后將提取的HTML文檔和至少一個(gè)腳本文件發(fā)送至訪客端。
步驟102、針對(duì)各個(gè)顯示區(qū)域,依據(jù)對(duì)應(yīng)的HTML片段獲取在所述顯示區(qū)域內(nèi)顯示的靜態(tài)數(shù)據(jù),并緩存所述靜態(tài)數(shù)據(jù)至本地以供下次訪問(wèn)所述頁(yè)面時(shí)使用。
接收到頁(yè)面編輯服務(wù)器反饋的HTML文檔后,由于HTML文檔中記錄有針對(duì)所述頁(yè)面中的各個(gè)顯示區(qū)域中的靜態(tài)數(shù)據(jù)分別生成的至少一個(gè)HTML片段,因此客戶端可以依據(jù)HTML片段,獲取靜態(tài)數(shù)據(jù)。具體地,當(dāng)靜態(tài)數(shù)據(jù)以鏈接形式記錄在HTML片段中時(shí),可以通過(guò)訪問(wèn)該鏈接,獲取靜態(tài)數(shù)據(jù)。例如,當(dāng)HTML文檔中包括圖片的url地址時(shí),可以通過(guò)訪問(wèn)該url地址,獲取所需圖片。
在獲取到靜態(tài)數(shù)據(jù)后,為了方便下次訪問(wèn)該網(wǎng)頁(yè)時(shí)使用,將獲取的靜態(tài)數(shù)據(jù)緩存至本地。
步驟103、依據(jù)對(duì)應(yīng)的腳本文件調(diào)用在所述顯示區(qū)域內(nèi)顯示的動(dòng)態(tài)數(shù)據(jù)。
在接收到頁(yè)面編輯服務(wù)器反饋的針對(duì)所述頁(yè)面設(shè)置的HTML文檔和至少一個(gè)腳本文件后,為了獲取顯示區(qū)域?qū)?yīng)的腳本文件,可以從頁(yè)面編輯服務(wù)器中獲取顯示區(qū)域和針對(duì)顯示區(qū)域中的動(dòng)態(tài)數(shù)據(jù)生成的腳本文件之間的對(duì)應(yīng)關(guān)系,之后依據(jù)該對(duì)應(yīng)關(guān)系,從接收的至少一個(gè)腳本文件中,選擇出與所述顯示區(qū)域?qū)?yīng)的腳本文件。
在選擇出與編輯區(qū)域?qū)?yīng)的腳本文件后,向動(dòng)態(tài)數(shù)據(jù)服務(wù)器發(fā)送接口請(qǐng)求,從動(dòng)態(tài)數(shù)據(jù)服務(wù)器內(nèi)的預(yù)設(shè)數(shù)據(jù)庫(kù)中讀取所需的動(dòng)態(tài)數(shù)據(jù)。
步驟104、生成所述頁(yè)面,在所述顯示區(qū)域內(nèi)顯示所述靜態(tài)數(shù)據(jù)和所述動(dòng)態(tài)數(shù)據(jù)。
根據(jù)針對(duì)顯示區(qū)域編輯的動(dòng)態(tài)數(shù)據(jù)和靜態(tài)數(shù)據(jù),生成所述頁(yè)面,在顯示區(qū)域內(nèi)顯示對(duì)應(yīng)編輯的靜態(tài)數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù)。
頁(yè)面生成的具體過(guò)程包括:渲染頁(yè)面的HTML文檔,顯示頁(yè)面模板和顯示區(qū)域中的靜態(tài)數(shù)據(jù),調(diào)用腳本文件,向動(dòng)態(tài)數(shù)據(jù)服務(wù)器發(fā)送接口請(qǐng)求,獲取所需的動(dòng)態(tài)數(shù)據(jù),最終在頁(yè)面的顯示區(qū)域中顯示對(duì)應(yīng)的動(dòng)態(tài)數(shù)據(jù)和靜態(tài)數(shù)據(jù)。
由于首次訪問(wèn)該頁(yè)面時(shí),已將針對(duì)顯示區(qū)域編輯的靜態(tài)數(shù)據(jù)下載至本地,因此再次訪問(wèn)該頁(yè)面時(shí),可以直接從本地提取針對(duì)顯示區(qū)域編輯的靜態(tài)數(shù)據(jù),將在本地提取的靜態(tài)數(shù)據(jù)顯示在顯示區(qū)域內(nèi),無(wú)需再?gòu)姆?wù)器的數(shù)據(jù)庫(kù)中提取靜態(tài)數(shù)據(jù),因而減少了訪問(wèn)頁(yè)面時(shí)所需讀取的數(shù)據(jù)量,保證了頁(yè)面的響應(yīng)速度,保證了用戶的體驗(yàn)效果。
依據(jù)本發(fā)明實(shí)施例,在首次訪問(wèn)頁(yè)面時(shí),會(huì)將頁(yè)面的顯示區(qū)域中的靜態(tài)數(shù)據(jù)緩存至本地,當(dāng)再次訪問(wèn)該頁(yè)面時(shí),可以直接從本地提取顯示區(qū)域中的靜態(tài)數(shù)據(jù),將提取的靜態(tài)數(shù)據(jù)顯示在對(duì)應(yīng)的顯示區(qū)域內(nèi),從而減少了訪問(wèn)頁(yè)面時(shí)所需讀取的數(shù)據(jù)量,保證了頁(yè)面的響應(yīng)速度,保證了用戶的體驗(yàn)效果。
實(shí)施例2
參考圖2,示出了根據(jù)本發(fā)明實(shí)施例2的頁(yè)面生成裝置的結(jié)構(gòu)框圖,具體可以包括:
文件接收模塊201,用于訪問(wèn)網(wǎng)頁(yè),接收頁(yè)面編輯服務(wù)器反饋的針對(duì)所述頁(yè)面設(shè)置的HTML文檔和針對(duì)所述頁(yè)面中的各個(gè)顯示區(qū)域中的動(dòng)態(tài)數(shù)據(jù)分別生成的至少一個(gè)腳本文件,所述HTML文檔中記錄有針對(duì)所述頁(yè)面中的各個(gè)顯示區(qū)域中的靜態(tài)數(shù)據(jù)分別生成的至少一個(gè)HTML片段,所述頁(yè)面中包括至少一個(gè)顯示區(qū)域。
靜態(tài)數(shù)據(jù)獲取模塊202,用于針對(duì)各個(gè)顯示區(qū)域,依據(jù)對(duì)應(yīng)的HTML片段獲取在所述顯示區(qū)域內(nèi)顯示的靜態(tài)數(shù)據(jù),并緩存所述靜態(tài)數(shù)據(jù)至本地以供下次訪問(wèn)所述頁(yè)面時(shí)使用。
動(dòng)態(tài)數(shù)據(jù)調(diào)用模塊203,用于依據(jù)對(duì)應(yīng)的腳本文件調(diào)用在所述顯示區(qū)域內(nèi)顯示的動(dòng)態(tài)數(shù)據(jù)。
頁(yè)面生成模塊204,用于生成所述頁(yè)面,在所述顯示區(qū)域內(nèi)顯示所述靜態(tài)數(shù)據(jù)和所述動(dòng)態(tài)數(shù)據(jù)。
本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:
靜態(tài)數(shù)據(jù)直接提取模塊,用于再次訪問(wèn)所述頁(yè)面時(shí),直接從所述本地提取在所述顯示區(qū)域內(nèi)顯示的靜態(tài)數(shù)據(jù),并將提取的靜態(tài)數(shù)據(jù)顯示在所述顯示區(qū)域內(nèi)。
本發(fā)明實(shí)施例中,優(yōu)選地,所述頁(yè)面編輯服務(wù)器中記錄有所述顯示區(qū)域和針對(duì)所述顯示區(qū)域中的動(dòng)態(tài)數(shù)據(jù)生成的腳本文件之間的對(duì)應(yīng)關(guān)系。
本發(fā)明實(shí)施例中,優(yōu)選地,所述裝置還包括:
對(duì)應(yīng)關(guān)系獲取模塊,用于在所述依據(jù)對(duì)應(yīng)的腳本文件調(diào)用在所述顯示區(qū)域內(nèi)顯示的動(dòng)態(tài)數(shù)據(jù)之前,從所述頁(yè)面編輯服務(wù)器獲取所述對(duì)應(yīng)關(guān)系;
腳本文件選擇模塊,用于依據(jù)所述對(duì)應(yīng)關(guān)系,從接收的至少一個(gè)腳本文件中,選擇出與所述顯示區(qū)域?qū)?yīng)的腳本文件。
本發(fā)明實(shí)施例中,優(yōu)選地,所述靜態(tài)數(shù)據(jù)獲取模塊202,具體用于當(dāng)所述靜態(tài)數(shù)據(jù)以鏈接地址形式記錄在所述HTML片段中時(shí),訪問(wèn)所述鏈接地址,獲取所述靜態(tài)數(shù)據(jù)。
本發(fā)明實(shí)施例中,優(yōu)選地,所述動(dòng)態(tài)數(shù)據(jù)調(diào)用模塊203,具體用于向動(dòng)態(tài)數(shù)據(jù)服務(wù)器發(fā)送接口請(qǐng)求,從所述動(dòng)態(tài)數(shù)據(jù)服務(wù)器內(nèi)的預(yù)設(shè)數(shù)據(jù)庫(kù)中讀取所述動(dòng)態(tài)數(shù)據(jù)。
依據(jù)本發(fā)明實(shí)施例,在首次訪問(wèn)頁(yè)面時(shí),會(huì)將頁(yè)面的顯示區(qū)域中的靜態(tài)數(shù)據(jù)緩存至本地,當(dāng)再次訪問(wèn)該頁(yè)面時(shí),可以直接從本地提取顯示區(qū)域中的靜態(tài)數(shù)據(jù),將提取的靜態(tài)數(shù)據(jù)顯示在對(duì)應(yīng)的顯示區(qū)域內(nèi),從而減少了訪問(wèn)頁(yè)面時(shí)所需讀取的數(shù)據(jù)量,保證了頁(yè)面的響應(yīng)速度,保證了用戶的體驗(yàn)效果。
由于所述裝置實(shí)施例基本相應(yīng)于前述圖1所示的方法實(shí)施例,故本實(shí)施例的描述中未詳盡之處,可以參見(jiàn)前述實(shí)施例中的相關(guān)說(shuō)明,在此就不贅述了。
在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見(jiàn)的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說(shuō)明書(shū)中,說(shuō)明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒(méi)有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說(shuō)明書(shū)的理解。
類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開(kāi)并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開(kāi)的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說(shuō),如下面的權(quán)利要求書(shū)所反映的那樣,發(fā)明方面在于少于前面公開(kāi)的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書(shū)由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過(guò)程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的所有特征以及如此公開(kāi)的任何方法或者設(shè)備的所有過(guò)程或單元進(jìn)行組合。除非另外明確陳述,本說(shuō)明書(shū)(包括伴隨的權(quán)利要求、摘要和附圖)中公開(kāi)的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書(shū)中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的廣告數(shù)據(jù)的播放裝置和廣告數(shù)據(jù)的投放裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說(shuō)明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過(guò)同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。