欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種頁面加載方法、裝置、服務(wù)器和系統(tǒng)的制作方法_2

文檔序號:8282434閱讀:來源:國知局
活地采用不同的分隔符格式,只要其能用于標(biāo)識段落結(jié)束,即落在本發(fā)明的保護范圍內(nèi)。
[0048]下面以</*3*/>作為分隔符為例,對服務(wù)器返回的響應(yīng)內(nèi)容的格式進行舉例說明。
[0049]在響應(yīng)內(nèi)容中無圖片內(nèi)聯(lián)的第一情況下,響應(yīng)內(nèi)容的格式可以為:
[0050]數(shù)據(jù)內(nèi)容1〈/*3*/>數(shù)據(jù)內(nèi)容2〈/*3*/>數(shù)據(jù)內(nèi)容3〈/*3*/>數(shù)據(jù)內(nèi)容4〈/*3*/>
[0051]在響應(yīng)內(nèi)容中有圖片內(nèi)聯(lián)的第二情況下,響應(yīng)內(nèi)容的格式可以為:
[0052]數(shù)據(jù)內(nèi)容</*3*/>圖片內(nèi)容其他內(nèi)容</*3*/>
[0053]在第二情況下,“圖片內(nèi)容”優(yōu)選采用Json(Java Script Object Notat1n)數(shù)組,格式為:
[0054]{keyl:圖片I的base64編碼文本;key2:圖片2的base64編碼文本......}
[0055]其中,key為根據(jù)圖片地址生成的圖片唯一標(biāo)識,用于服務(wù)器對圖片進行標(biāo)記及提取base64內(nèi)容使用。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,base64是常用的用于傳輸8Bit字節(jié)代碼的編碼方式之一,其可用于在HTTP (Hypertext transfer protocol,超文本傳送協(xié)議)環(huán)境下傳遞較長的標(biāo)識信息,對于Internet Explorer8及以上的IE瀏覽器,和Webkit內(nèi)核瀏覽器等,支持以base64格式的文本內(nèi)容來渲染圖片,即以下形式:
[0056]〈img
[0057]src = ^data:1mage/gif ;base64, R01G0DlhAwADAIABAL6+vv///yH5BAEAAAEALAAAAAADAAMAAAIDjA9WADs = "/>
[0058]服務(wù)器生成圖片的base64內(nèi)容后,可以將該圖片key值設(shè)置到圖片的data-b64il-1d屬性中,方便客戶端的Javascript根據(jù)key值查找圖片。value值即服務(wù)器對圖片二進制內(nèi)容轉(zhuǎn)為Base64格式后的文本內(nèi)容。其中,服務(wù)器可以采用在線轉(zhuǎn)碼和離線轉(zhuǎn)碼等轉(zhuǎn)碼方式。在線轉(zhuǎn)碼即根據(jù)Ajax請求中的圖片地址,拿到圖片二進制文件,實時轉(zhuǎn)碼后再返回給客戶端,這樣可能會增加服務(wù)器的耗時。離線轉(zhuǎn)碼是服務(wù)器對可能會用到圖片提前離線轉(zhuǎn)碼處理好,將圖片的base64文本格式內(nèi)容與對應(yīng)的key值配對,存儲在可以快速獲取到的持久化服務(wù)中,如存儲在Memcached緩存服務(wù)器,這樣,當(dāng)客戶端發(fā)來請求時,可以快速地返回圖片的base64內(nèi)容。
[0059]104:客戶端接收響應(yīng)內(nèi)容,并在接收所述響應(yīng)內(nèi)容的過程中,根據(jù)響應(yīng)內(nèi)容的段落劃分,對響應(yīng)內(nèi)容進行分段落地提取和加載處理。
[0060]可選地,所述“分段落地提取和加載處理”的一種理解為:在接收響應(yīng)內(nèi)容的過程中,如果接收到完整的段落,就提取該段落的內(nèi)容并根據(jù)提取到的內(nèi)容進行加載處理。所述加載處理包括諸如以通過頁面顯示相關(guān)內(nèi)容為目的的解析、頁面渲染等處理。
[0061]可選地,在本實施例的一種實現(xiàn)方式中,客戶端在接收響應(yīng)內(nèi)容的過程中,周期性地檢查接收到的響應(yīng)內(nèi)容中是否包含用于標(biāo)識段落結(jié)束的分隔符;如果包含分隔符,則從接收到的響應(yīng)內(nèi)容中提取該分隔符所對應(yīng)段落的內(nèi)容,并根據(jù)提取到的內(nèi)容進行解析或頁面渲染。
[0062]例如,以前文提及的第一情況為例,如果檢查到第一個分隔符,說明第數(shù)據(jù)內(nèi)容I已傳輸完成,此時,客戶端可以通過字符串分割的方法,提取第一個分隔符之前的字符串作為第一段數(shù)據(jù)內(nèi)容,并進行解析或頁面渲染處理。同理,如果檢查到第二個分隔符,則說明數(shù)據(jù)內(nèi)容2已傳輸完成,此時,提取第一個分隔符和第二個分隔符之間的內(nèi)容作為第二段數(shù)據(jù)內(nèi)容,進行解析或頁面渲染處理。依此類推,可以在接收響應(yīng)內(nèi)容的過程中,逐步獲取每一段數(shù)據(jù)內(nèi)容,直至Ajax請求傳輸結(jié)束。
[0063]本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,在現(xiàn)有技術(shù)中,在響應(yīng)內(nèi)容的傳輸過程中,采用XmlHttp Request對象的屬性ready State的值來標(biāo)識響應(yīng)內(nèi)容的傳輸狀態(tài)。當(dāng)ready State=3時,表示響應(yīng)內(nèi)容正在傳輸過程中;當(dāng)ready State = 4時,表示響應(yīng)內(nèi)容已傳輸完成。ready State的值的改變會觸發(fā)事件來通知Ajax對象進行處理,同時會攜帶請求的響應(yīng)內(nèi)容,位于 response Text0
[0064]當(dāng)Ajax請求處于ready State = 3的狀態(tài)時,在一些“高級瀏覽器”中,req會收到多次事件觸發(fā)(下文稱作第一事件觸發(fā)),并可以通過response Text來實時獲取響應(yīng)內(nèi)容在傳輸過程中每個階段的具體內(nèi)容,直至響應(yīng)內(nèi)容傳輸完成,觸發(fā)ready State = 4的事件。所述“高級瀏覽器”包括:IE內(nèi)核系列的Internet Explorer 10及以上;Webkit內(nèi)核系列的Chrome、Firefox、Safari等瀏覽器。而其它瀏覽器,例如Internet Explorer 6-9等,貝Ij在ready State = 3時不會觸發(fā)事件,且無法實時獲取到傳輸內(nèi)容。
[0065]因此,在本實施例的一種具體應(yīng)用場景中,如果將本發(fā)明提供的方法應(yīng)用于高級瀏覽器中,客戶端可以在每次req收到第一事件觸發(fā)時,檢查接收到的響應(yīng)內(nèi)容中是否包含用于標(biāo)識段落結(jié)束的分隔符,從而進行周期性檢查以及相應(yīng)的提取和加載處理。當(dāng)readyState = 4時,S卩,當(dāng)響應(yīng)內(nèi)容傳輸完成時,客戶端可以直接提取接收到的響應(yīng)內(nèi)容并進行加載處理(此時,即使響應(yīng)內(nèi)容的最后一個段落不包含分隔符,也能夠加載相關(guān)內(nèi)容);也可以像確定ready State = 3時那樣,檢查接收到的響應(yīng)內(nèi)容中是否包含分隔符,以及執(zhí)行提取和加載處理(此時,需要在響應(yīng)內(nèi)容的最后一個段落設(shè)置分隔符)。
[0066]在本實施例的一種具體實現(xiàn)方式中,如果客戶端提取到Json格式的圖片內(nèi)容,則根據(jù)每一項key與img標(biāo)簽的對應(yīng)關(guān)系,將每一項key所對應(yīng)的value值設(shè)置到相應(yīng)img標(biāo)簽的src屬性中,以便進行圖片渲染。
[0067]具體而言,當(dāng)提取到圖片內(nèi)容時,對Json數(shù)組進行解析,針對每一項數(shù)據(jù),根據(jù)key去頁面DOM(Document Object Model,文件對象模型)結(jié)構(gòu)中查找對應(yīng)的img標(biāo)簽(一種示例性的查找方法如下:獲取DOM中所有的img標(biāo)簽并進行遍歷,查找各img標(biāo)簽中data-b64il-1d屬性的值與key相等的img標(biāo)簽)。找到key對應(yīng)的img標(biāo)簽后,將key對應(yīng)的value值(即圖片的內(nèi)聯(lián)數(shù)據(jù))設(shè)置到img的src屬性中,完成圖片的回填,這時客戶端(例如,瀏覽器)會自動觸發(fā)圖片渲染。
[0068]以上對根據(jù)本發(fā)明實施例的一種頁面加載方法進行了詳細說明,采用該方法,能夠在響應(yīng)內(nèi)容的傳輸過程中,分段提取、解析和展現(xiàn)響應(yīng)內(nèi)容的不同段落,從而提高頁面加載的性能和用戶體驗。并且,例如當(dāng)響應(yīng)內(nèi)容包含多幅圖片時,為了提高用戶體驗,可以由服務(wù)器按照一個段落對應(yīng)k(k為正整數(shù))幅圖片的方式進行段落劃分,從而在客戶端對多幅圖片的內(nèi)容進行分段提取和加載,提高圖片瀏覽效果。
[0069]此外,需要再次強調(diào)的是,基于本發(fā)明提供的思想,本領(lǐng)域技術(shù)人員可以靈活地采用本發(fā)明提供的頁面加載方法,實現(xiàn)對需要返回給客戶端的內(nèi)容的分段傳輸和加載處理。至于返回什么內(nèi)容、所返回內(nèi)容的格式(例如,Json格式、XML格式、HTML格式或自定義的格式)等,本發(fā)明并不做具體限制。
[0070]下面結(jié)合附圖對根據(jù)本發(fā)明實施例的裝置實施例進行說明。
[0071]圖2A是根據(jù)本發(fā)明實施例的一種頁面加載裝置的方塊示意圖。在具體應(yīng)用中,頁面加載裝置2可以是客戶端(例如,瀏覽器),或應(yīng)用于客戶端的插件、組件等。參照圖2A,頁面加載裝置2包括發(fā)送模塊21、接收模塊22和分段處理模塊23,下面分別進行說明。
[0072]發(fā)送模塊21,用于向服務(wù)器發(fā)送Ajax請求。例如,通過創(chuàng)建的Xml Http Request對象發(fā)送Ajax請求。
[0073]接收模塊22,用于接收服務(wù)器返回的響應(yīng)內(nèi)容。
[0074]分段處理模塊23,用于在接收模塊21接收響應(yīng)內(nèi)容的過程中,根據(jù)響應(yīng)內(nèi)容的段落劃分,對響應(yīng)內(nèi)容進行分段落地提取和加載處理。其中,服務(wù)器在接收到Ajax請求后,將需要返回的內(nèi)容進行段落劃分,生成包含多個段落的響應(yīng)內(nèi)容。
[0075]可選地,在本實施例的一種實現(xiàn)方式中,如圖2B所示,分段處理模塊23包括:
[0076]檢查子模塊231,用于在接收模塊22接收響應(yīng)內(nèi)容的過程中,周期性地檢查接收模塊22接收到的響應(yīng)內(nèi)容中是否包含用于標(biāo)識段落結(jié)束的分隔符,如果包含分隔符,則觸發(fā)處理子模塊232。
當(dāng)前第2頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
白河县| 乌恰县| 千阳县| 柯坪县| 商丘市| 湘阴县| 武汉市| 巢湖市| 潞城市| 古丈县| 大石桥市| 许昌市| 西盟| 明水县| 凤凰县| 嘉兴市| 固镇县| 衡阳市| 自贡市| 富民县| 梅州市| 五家渠市| 神农架林区| 凤山市| 苏尼特左旗| 剑河县| 托克逊县| 思南县| 云和县| 贡觉县| 芮城县| 盐池县| 嘉荫县| 巴楚县| 伽师县| 灯塔市| 闽清县| 遵义县| 鹿泉市| 龙游县| 全州县|