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

顯示網(wǎng)頁的方法和電子設(shè)備與流程

文檔序號:12071189閱讀:285來源:國知局
顯示網(wǎng)頁的方法和電子設(shè)備與流程

本發(fā)明一般地涉及電子設(shè)備和通信技術(shù)領(lǐng)域,并且,更特別地,涉及使用展示網(wǎng)頁的方法和設(shè)備。



背景技術(shù):

隨著4G時代的到來,使用手機瀏覽器訪問互聯(lián)網(wǎng)獲取信息成為一個主流的方式。用手機瀏覽器的優(yōu)勢在于隨時隨刻可以使用碎片時間來瀏覽互聯(lián)網(wǎng)網(wǎng)頁。移動網(wǎng)絡(luò)速度的提高以及手機硬件性能的提高也帶來了對網(wǎng)頁的顯示速度提高的需求。根據(jù)數(shù)據(jù)統(tǒng)計,用戶最滿意的打開網(wǎng)頁時間為2秒以下,用戶能夠忍受的最長等待時間在6至8秒間。如果一個頁面打開時間超過8秒,則大部分用戶會放棄訪問。

在手機瀏覽器中,用戶關(guān)注的頁面顯示時間點主要有兩個。第一個時間點為頁面第一次的顯示時間,也被稱為“第一時刻顯示”時間點。在這個時間點,通常顯示的只是頁面一少部分內(nèi)容,例如頁面的標題文字等,通常只占整個屏幕的十分之一左右。第二個時間點為頁面第一次占滿整個屏幕的顯示時間,也被稱為“首屏顯示”時間點。

上述打開網(wǎng)頁時間通常指的是完成“首屏顯示”需要的時間,即頁面第一次占滿整個屏幕的“首屏顯示”時間。用戶最滿意的“首屏顯示”時間為2秒以下。因此,如果手機瀏覽器能加快顯示頁面首屏的時間,則可以給用戶帶來極好的使用體驗。

然而,現(xiàn)有技術(shù)的首屏顯示速度仍然需要提高。本發(fā)明披露的方法和系統(tǒng)可用來解決上述一個或多個問題,以及其他問題。具體地,本發(fā)明對加速網(wǎng)頁首屏顯示時間以滿足用戶需要的技術(shù)問題提供了解決方案,并且為促進計算機技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展做出了貢獻。



技術(shù)實現(xiàn)要素:

本發(fā)明的一個方面包括一種網(wǎng)頁顯示方法。所述方法包括獲取所述網(wǎng)頁的元數(shù)據(jù)。所述元數(shù)據(jù)指定了首屏關(guān)鍵元素并且包括首屏策略擴展屬性,所述首屏策略擴展屬性的值用于表明頁面定義的首屏顯示策略為強制的或可選的。解析所述網(wǎng)頁中的元素,以來判斷所述元素是否為所述首屏關(guān)鍵元素。當(dāng)所述元素是所述首屏關(guān)鍵元素時,顯示所述網(wǎng)頁的首屏。當(dāng)所述元素不是所述首屏關(guān)鍵元素,并且首屏顯示條件獲得滿足時,顯示所述網(wǎng)頁的首屏。所述首屏顯示條件是所述首屏策略擴展屬性的值的函數(shù)。

本發(fā)明的另一個方面包括一種用于顯示網(wǎng)頁的電子設(shè)備。所述電子設(shè)備包括處理器、顯示系統(tǒng)和存儲器。所述存儲器包含令所述電子設(shè)備在所述顯示系統(tǒng)上顯示網(wǎng)頁的方法的編碼指令,所述方法包括獲取所述網(wǎng)頁的元數(shù)據(jù)。所述元數(shù)據(jù)指定了首屏關(guān)鍵元素并且包括首屏策略擴展屬性,所述首屏策略擴展屬性的值用于表明頁面定義的首屏顯示策略為強制的或可選的。所述方法還包括解析所述網(wǎng)頁中的元素,以來判斷所述元素是否為所述首屏關(guān)鍵元素。當(dāng)所述元素是所述首屏關(guān)鍵元素時,顯示所述網(wǎng)頁的首屏。當(dāng)所述元素不是所述首屏關(guān)鍵元素,并且首屏顯示條件獲得滿足時,顯示所述網(wǎng)頁的首屏。所述首屏顯示條件是所述首屏策略擴展屬性的值的函數(shù)。

本發(fā)明的另一個方面包括一種包含可執(zhí)行計算機程序的非臨時性計算機可讀存儲介。所述可執(zhí)行計算機程序在被計算機執(zhí)行時實施一個令電子設(shè)備顯示網(wǎng)頁的方法。所述方法包括獲取所述網(wǎng)頁的元數(shù)據(jù)。所述元數(shù)據(jù)指定了首屏關(guān)鍵元素并且包括首屏策略擴展屬性。所述首屏策略擴展屬性的值用于表明頁面定義的首屏顯示策略為強制的或可選的。所述方法還包括解析所述網(wǎng)頁中的元素,以來判斷所述元素是否為所述首屏關(guān)鍵元素。當(dāng)所述元素是所述首屏關(guān)鍵元素時,顯示所述網(wǎng)頁的首屏。當(dāng)所述元素不是所述首屏關(guān)鍵元素,并且首屏顯示條件獲得滿足時,顯示所述網(wǎng)頁的首屏。所述首屏顯示條件是所述首屏策略擴展屬性的值的函數(shù)。

本發(fā)明的其他方面能夠根據(jù)披露的說明書,權(quán)利要求書和附圖被本領(lǐng)域技術(shù)人員所理解。

附圖說明

以下附圖僅僅是為了示意的目的根據(jù)所披露的實施例提供的例子,并不意在限制本發(fā)明的范圍。

圖1A示出了與披露的實施例相一致的顯示網(wǎng)頁的示意系統(tǒng)環(huán)境;

圖1B示出了與披露的實施例相一致的顯示網(wǎng)頁的示意電子設(shè)備的框架圖;

圖2示出了與披露的實施例相一致的網(wǎng)頁顯示方法的示意流程;

圖3示出了另一種與披露的實施例相一致的網(wǎng)頁顯示方法的示意流程;

圖4示出了與披露的實施例相一致的示意的提供給瀏覽器的網(wǎng)頁文檔的一部分;

圖5A示出了與披露的實施例相一致的示意的部分瀏覽器編碼指令;

圖5B示出了與披露的實施例相一致的示意的另一部分瀏覽器編碼指令;

圖6示出了另一種與披露的實施例相一致的網(wǎng)頁顯示方法的示意流程;

圖7示出了另一種與披露的實施例相一致的網(wǎng)頁顯示方法的示意流程;以及

圖8示出了另一種與披露的實施例相一致的網(wǎng)頁顯示方法的示意流程。

具體實施方式

下面將詳細地參考如附圖所示的本發(fā)明的示意實施例。在可能的情況下,附圖中的各個部分提到的相同或相似的部分將采用相同的參考標記。

本發(fā)明可以解決移動電子設(shè)備的技術(shù)問題。所披露的系統(tǒng)和方法可以縮短在顯示屏上顯示網(wǎng)頁首屏的時間,并準確地顯示頁面首屏的內(nèi)容。

電子設(shè)備用戶可以通過一個特定操作使電子設(shè)備中的瀏覽器打開某個網(wǎng)頁。這個特定操作可以包括,但不限于,鍵入地址欄網(wǎng)站地址,點擊后退/前進按鈕,在書簽菜單中選擇一個網(wǎng)站,點擊一個鏈接至網(wǎng)頁等。然后瀏覽器發(fā)出一系列請求從服務(wù)器下載該網(wǎng)頁?;蛘?,該網(wǎng)頁可以被預(yù)先存儲在所述電子設(shè)備的存儲器中,并可以由瀏覽器檢索獲得。

一般來說,在電子設(shè)備的顯示屏上顯示所請求的網(wǎng)頁是由安裝在電子設(shè)備上的瀏覽器的渲染引擎實現(xiàn)的。渲染引擎可以用來顯示請求的內(nèi)容。

所述網(wǎng)頁的源代碼可以是超文本標記語言(HyperText Markup Language,HTML),或任何其他的可以提供與所披露的實施例描述的類似功能的編程語言。為了示意性的目的,在所披露的一些實施例中,網(wǎng)頁文檔是HTML文檔。當(dāng)所請求的網(wǎng)頁內(nèi)容是HTML時,渲染引擎可以解析HTML和層疊樣式表(Cascading Style Sheets,CSS),并且在顯示屏上顯示所解析的內(nèi)容。

在所披露的實施例中,頁面可以是適用于任何適當(dāng)?shù)男畔⑾到y(tǒng)并可以被瀏覽器處理和顯示的文檔。網(wǎng)頁可以是適用于萬維網(wǎng)(World Wide Web)并可以被網(wǎng)絡(luò)瀏覽器處理和顯示網(wǎng)絡(luò)文檔。所披露的實施例中使用“網(wǎng)頁”來做舉例說明。然而,本發(fā)明不限于網(wǎng)頁,且可以運用于任何其它合適的頁面。

HTML文檔由HTML元素組成。通常,在顯示網(wǎng)頁時,渲染引擎開始解析HTML文檔并將其元素轉(zhuǎn)換為一個樹里的文檔對象模型(Document Object Model,DOM)節(jié)點。該樹可稱為“內(nèi)容樹”。所述引擎可以分析樣式數(shù)據(jù),包括外部CSS文件和樣式元素。樣式信息和HTML中的圖形指令可一起用于創(chuàng)建渲染樹。

所述渲染樹可以包含帶有顏色和尺寸等可視屬性的矩形。所述矩形會以正確的順序顯示在屏幕上。

建成所述渲染樹后,所述節(jié)點(即元素)會通過一個“排版”過程。在排版過程中,給每個節(jié)點賦予其在顯示屏上的精確坐標。在所披露的實施例中,“元素排版”指的是“對一個元素進行排版處理”。

所述渲染引擎會維護一個“排版區(qū)域”。該排版區(qū)域是所述電子設(shè)備的顯示屏區(qū)域的虛擬表示。在該排版區(qū)域放置已排版的元素,則該元素應(yīng)該會在所述電子設(shè)備的實際顯示屏上顯示。

排版過程之后繼續(xù)進行繪制過程,在此期間,遍歷所述渲染樹,并調(diào)用所述渲染引擎的“Paint()”函數(shù)在屏幕上顯示內(nèi)容。也就是說,在繪制過程中,在所述電子設(shè)備的實際顯示屏上顯示所述排版區(qū)域。用戶界面(UI)的后端層可以用來繪制每個節(jié)點。所述UI后端層可以使用任何合適的操作系統(tǒng)的用戶界面函數(shù)。因此,在繪制所述元素時,瀏覽器可以與操作系統(tǒng)的各種部件交互,例如向操作系統(tǒng)發(fā)送命令以使所述電子設(shè)備的顯示屏顯示繪制的元素。例如,操作系統(tǒng)的各種部件可以包括圖1B所示的圖形模塊132。

為了加速頁面首屏的顯示時間,許多手機瀏覽器廠商采用一些方案來設(shè)定首屏顯示的時間點。當(dāng)?shù)竭_設(shè)定的首屏顯示時間點時,瀏覽器將在屏幕上顯示一個或多個元素作為網(wǎng)頁的首屏。

一種方案是根據(jù)元素位置確定首屏顯示的時間點。也就是,每次瀏覽器完成一個元素的排版后,瀏覽器判斷該元素內(nèi)容的上下左右的邊界坐標。當(dāng)排版導(dǎo)致某個元素的坐標超過顯示屏,則判定已排版的元素可以填滿屏幕并且已達到設(shè)定的首屏顯示時間點。此時,已正常排版的任何元素可用來顯示頁面。所述某個元素的坐標超過顯示屏是指顯示屏的底邊坐標值小于該元素的頂邊坐標值和該元素的高度的和,即屏幕底邊<元素頂邊+元素高度。然而,該元素的所有坐標和高寬是從當(dāng)前排版過程中獲得的。該元素的所有坐標、寬度和高度都有可能受到其它因素的影響,例如加載新的樣式,訪問內(nèi)部資源,或者JavaScript(js)動態(tài)調(diào)整等。

另一種方案是根據(jù)預(yù)先設(shè)定的打開頁面時長來確定首屏顯示的時間點。也就是說,開始打開頁面后,到達預(yù)先設(shè)定的時長時,則確定首屏顯示的時間點已達到。例如,假設(shè)預(yù)先設(shè)定的打開頁面的時長是1秒,則在嘗試打開某個網(wǎng)頁時長到達1秒后,則確定首屏顯示的時間點已達到。所以,此時即使已正常排版的元素并不能填滿顯示屏,或者已正常排版的元素的個數(shù)很少甚至為0,頁面首屏將顯示已正常排版的所有元素。

但是,上述方案只能對應(yīng)通常的網(wǎng)頁,或是用戶訪問量較大的網(wǎng)頁。對于某些種類的特殊頁面,或是存在著會影響處理時間的特殊內(nèi)容的頁面,瀏覽器無法使用上述的方案處理。在這些情況下就會導(dǎo)致首屏顯示的時間大大延遲。

在一些提議的方案中,網(wǎng)頁開發(fā)者可以控制網(wǎng)頁來決定首屏顯示的時間點。然而,當(dāng)頁面定義首屏顯示策略與瀏覽器的首屏顯示策略出現(xiàn)沖突時,瀏覽器無法正確處理首屏顯示。所以,網(wǎng)頁首屏顯示也會延遲。

除了設(shè)定首屏?xí)r間顯示點,其他因素也可能導(dǎo)致首屏顯示的延遲。例如,一個網(wǎng)頁可能有多個需要顯示的元素。所述多個元素可以包括第一元素,第二元素,第三元素等。通常情況下會進行以下的處理:解析和排版第一元素,繪制第一元素;然后解析和排版第二元素,繪制第二元素等。

通常來說,每個元素完成排版后,產(chǎn)生排版區(qū)域變更請求。渲染引擎響應(yīng)排版區(qū)域變更請求,重新計算該排版區(qū)域?qū)Ρ认惹芭虐鎱^(qū)域是否產(chǎn)生變更。當(dāng)排版區(qū)域變更時,發(fā)出繪制請求。繪畫程序響應(yīng)繪制請求,繪制并顯示該排版區(qū)域。換句話說,排版區(qū)域變更請求可能引發(fā)更新排版區(qū)域,重新繪制和顯示全部或部分排版區(qū)域。

對于許多操作系統(tǒng)來說,由于渲染引擎會奪取繪畫程序的資源來解析和排版下一個元素,繪畫程序可能被終止,所以更新排版區(qū)域后的繪畫程序可能可以完成,也有可能不能完成。例如,假設(shè)一個更新的排版區(qū)域中有四個元素,繪畫程序響應(yīng)屏幕繪制請求進行繪制,繪畫程序可能僅僅繪制和顯示了兩個元素就不得不停止了。當(dāng)下一個元素的解析和排版完成后,繪畫程序可以再次響應(yīng)屏幕繪制請求,并基于更新后的排版區(qū)域繪制。

在許多情況下,一個元素的排版處理可導(dǎo)致排版區(qū)域發(fā)生變化。因此,當(dāng)瀏覽器配置為在每個元素的排版處理后都生成排版區(qū)域變更請求,則會導(dǎo)致經(jīng)常發(fā)送屏幕繪制請求。

屏幕繪制請求通常屬于消息類型的通知。在各種操作系統(tǒng)中,處理消息類型通知的優(yōu)先級比處理其他動作的優(yōu)先權(quán)低,例如解析和排版下一個元素。由此,當(dāng)操作系統(tǒng)需要對屏幕繪制請求作出響應(yīng)時,會出現(xiàn)暫停或延遲。也就是說,當(dāng)瀏覽器和/或操作系統(tǒng)響應(yīng)屏幕繪制請求之前,屏幕繪制請求可能需要等待一些時間,在等待的時間里,瀏覽器和/或操作系統(tǒng)會進行排版相關(guān)的處理。另一方面,下一個元素的排版過程可能需要暫停等待繪畫程序的執(zhí)行,所以排版處理也可能需要等待一定的時間。

因此,每次排版后更新排版區(qū)域會在網(wǎng)頁首屏顯示期間引入延遲。然而,每次排版后更新排版區(qū)域并不是必須的。例如,第二元素的排版處理后,產(chǎn)生排版區(qū)域變更請求,響應(yīng)排版區(qū)域變更請求,更新并繪制排版區(qū)域。更新后的排版區(qū)域包括第二元素。然后解析和排版第三元素。在排版區(qū)域中,如果第三元素覆蓋第二元素,就浪費了之前花費在基于第二元素排版區(qū)域變更請求而更新和繪制排版區(qū)域的時間,而且與第二元素排版后發(fā)出的排版區(qū)域變更請求相關(guān)聯(lián)的任何延遲,都是在不必要的浪費時間。

為了進一步改善上述方案,本發(fā)明的所披露的實施例提供了一種用于顯示網(wǎng)頁的方法和電子設(shè)備。圖1A示出了與披露的實施例相一致的用于網(wǎng)頁顯示的示意系統(tǒng)環(huán)境。

在圖1所示的系統(tǒng)中,客戶端100a,客戶端100b和客戶端100c可以通過網(wǎng)絡(luò)300與服務(wù)器200a和服務(wù)器200b進行通信。網(wǎng)絡(luò)300可以是局域網(wǎng)(local area network,LAN),廣域網(wǎng)(wide area network,WAN),企業(yè)內(nèi)部網(wǎng),公共互聯(lián)網(wǎng),無線或蜂窩網(wǎng)絡(luò),或任何其它類型的為聯(lián)網(wǎng)設(shè)備提供通信路徑的網(wǎng)絡(luò)。網(wǎng)絡(luò)300也可以是一個或多個局域網(wǎng),廣域網(wǎng),企業(yè)內(nèi)聯(lián)網(wǎng),和/或公共互聯(lián)網(wǎng)的組合。

盡管圖1A只示出了兩個服務(wù)器,所述系統(tǒng)可以包括一個,三個,四個,十個,或更多個服務(wù)器設(shè)備,服務(wù)器的數(shù)量沒有限制。服務(wù)器200a和200b可以執(zhí)行一個或多個由客戶端100a,100b和/或100c發(fā)出的服務(wù)請求。舉例來說,服務(wù)器200a和/或200b可以給客戶端100a,100b和/或100c提供內(nèi)容。該內(nèi)容可包括,但不限于,網(wǎng)頁,超文本,腳本,二進制數(shù)據(jù)如編譯軟件,圖像,音頻和/或視頻。該內(nèi)容可以包括壓縮和/或未壓縮的內(nèi)容。該內(nèi)容可以是加密的和/或加密。也可以是其他類型的內(nèi)容。

再舉例來說,服務(wù)器200a和/或200b可以給客戶端100a,100b和/或100c提供權(quán)限訪問各種軟件如數(shù)據(jù)庫,檢索,計算,圖形,音頻,視頻,萬維網(wǎng)/互聯(lián)網(wǎng)應(yīng)用等。其他例子也可實施服務(wù)器的許多其它應(yīng)用。

每個服務(wù)器200a和200b和每個客戶端100a,100b和100c分別可以包括合適的計算設(shè)備。每個計算設(shè)備可執(zhí)行服務(wù)器200a和200b,網(wǎng)絡(luò)300和客戶端100a,100b和100c的一個或多個功能。

服務(wù)器200a或200b可包括計算設(shè)備。所述計算設(shè)備可包括用戶接口模塊,網(wǎng)絡(luò)通信接口模塊,一個或多個處理器,存儲器等元件。所有元件均可通過系統(tǒng)總線,網(wǎng)絡(luò)或其它連接機制以物理和/或通信方式連接在一起。所述用戶界面模塊可以發(fā)送和/或接收客戶端100a-100c的數(shù)據(jù)。所述網(wǎng)絡(luò)通信接口模塊可包括一個或多個無線接口和/或一個或多個有線接口,經(jīng)由網(wǎng)絡(luò)進行通信,如圖1A中所示的網(wǎng)絡(luò)300。所述處理器可以包括一個或多個通用處理器和/或一個或多個專用處理器(例如,數(shù)字信號處理器,專用集成電路等)。所述處理器可執(zhí)行在存儲器中存儲的計算機可讀程序指令和/或如本文中所描述的其他指令。所述存儲器可包括一個或多個計算機可讀存儲介質(zhì),可以被至少一個所述處理器讀取和/或訪問。

盡管圖1A僅示出了三個客戶端,所述系統(tǒng)可以用于數(shù)十,數(shù)百或數(shù)千的客戶端。此外,客戶端100a,100b和100c(或任何其他客戶端)可以是任何類型的計算設(shè)備,如一個普通的筆記本電腦,臺式計算機,網(wǎng)絡(luò)終端,無線通信設(shè)備(例如,蜂窩電話,智能電話,或平板電腦)等。在一些實施例中,客戶端100a,100b和100c可以專門用來設(shè)計和使用軟件應(yīng)用程序。在其他實施例中,客戶端100a,100b和100c可以是能執(zhí)行多項任務(wù)的通用計算機,不必要專門用于軟件開發(fā)工具。

圖1B示出了與披露的實施例相一致的示意電子設(shè)備的框架圖。如圖1B所示,所述電子設(shè)備100可包括存儲器102(包括一個或多個計算機可讀存儲介質(zhì)),存儲器控制器122,一個或多個處理單元(CPU)120,外設(shè)接口118,RF電路108,音頻電路110,揚聲器111,麥克風(fēng)113,輸入/輸出(I/O)子系統(tǒng)106,其它輸入或控制設(shè)備116和外部端口124。這些組件可通過一個或多個通信總線或信號線103進行通信。

進一步地,所述電子設(shè)備100可包括顯示系統(tǒng)112。在一些實施例中,顯示系統(tǒng)112可以包括觸敏顯示器,也可稱為“觸摸屏”。應(yīng)當(dāng)理解的是,所述電子設(shè)備100僅僅是電子設(shè)備100的一個例子,并且電子設(shè)備100可以具有多于或少于所示的組件,可以組合兩個或多個組件,可以有不同配置的組件,或?qū)M件進行不同的布置。圖1B中的各種組件可以由硬件,軟件或硬件和軟件的組合實現(xiàn),包括一個或多個信號處理和/或?qū)S眉呻娐贰?/p>

存儲器102可包括高速隨機存取存儲器(random access memory,RAM),也可包括非易失性存儲器如一個或多個磁盤存儲設(shè)備,閃存設(shè)備或其它非易失性固態(tài)存儲器器件。存儲器控制器122可控制所述電子設(shè)備100的其它組件對訪問存儲器102的訪問,其他組件如處理器120和外設(shè)接口118。

外設(shè)接口118可與處理器120和存儲器102的輸入輸出外設(shè)配套。一個或多個處理器120可為電子設(shè)備100運行或執(zhí)行存儲在存儲器102中的實現(xiàn)各種功能的各種軟件程序和/或指令集,并處理數(shù)據(jù)。

在一些實施例中,外設(shè)接口118,處理器120和存儲器控制器122可在單個芯片上實現(xiàn),例如芯片104。在一些其他實施例中,它們也可分別在單獨的芯片上實現(xiàn)。

射頻(radio frequency,RF)電路108可接收和發(fā)送RF信號,也稱電磁信號。RF電路108進行電信號和電磁信號間的相互轉(zhuǎn)化,并通過電磁信號與通信網(wǎng)絡(luò)和其它通信設(shè)備進行通信。RF電路108可包括任何適用于執(zhí)行這些功能的電路,包括但不限于天線系統(tǒng),RF收發(fā)器,一個或多個放大器,調(diào)諧器,一個或多個振蕩器,數(shù)字信號處理器,CODEC芯片組,SIM(subscriber identity module)卡,存儲器等等。RF電路108可以與網(wǎng)絡(luò)通信,諸如因特網(wǎng)即萬維網(wǎng)(World Wide Web,WWW),內(nèi)聯(lián)網(wǎng)和/或無線網(wǎng)絡(luò),諸如蜂窩諸如蜂窩電話網(wǎng)絡(luò),局域網(wǎng)和/或城域網(wǎng)(MAN)以及其它設(shè)備通過無線通信。無線通信可以使用任何多個通信標準,協(xié)議和技術(shù),包括但不限于全球移動通信系統(tǒng)(GSM),增強數(shù)據(jù)GSM環(huán)境(EDGE),寬帶碼分多址(W-CDMA),碼分多路存取(CDMA),時分多址(TDMA),藍牙,無線保真(Wi-Fi)的(例如,IEEE 802.11,IEEE 802.11,IEEE 802.11g和/或IEEE 802.11n)的,基于因特網(wǎng)的語音協(xié)議電話(VoIP),無線-MAX,用于電子郵件的協(xié)議(例如,互聯(lián)網(wǎng)消息訪問協(xié)議(IMAP)和/或郵局協(xié)議(POP)),即時通訊(如,可擴展消息處理現(xiàn)場協(xié)議(XMPP),會話發(fā)起協(xié)議即時消息和狀態(tài)利用擴展(SIMPLE),和/或即時消息和狀態(tài)服務(wù)(IMPS)),和/或短消息服務(wù)(SMS)),或任何其他合適的通信協(xié)議,包括通信協(xié)議尚未開發(fā)的本公開的申請日。

音頻電路110、揚聲器111和麥克風(fēng)113提供用戶和電子設(shè)備100之間的音頻接口。音頻電路110接收來自外設(shè)接口118的音頻數(shù)據(jù),將音頻數(shù)據(jù)轉(zhuǎn)換為電信號,并且發(fā)送該電信號給揚聲器111。揚聲器111將電信號轉(zhuǎn)換為人可以聽到的聲波。音頻電路110還接收來自麥克風(fēng)113進行聲波轉(zhuǎn)換后的電信號。音頻電路110將電信號轉(zhuǎn)換為音頻數(shù)據(jù),并發(fā)送所述音頻數(shù)據(jù)給外設(shè)接口118進行處理。存儲器102和/或RF電路108可以通過外設(shè)接口118檢索和接收音頻數(shù)據(jù)。在一些實施例中,音頻電路110還包括耳塞插孔。所述耳塞插孔可以給音頻電路110提供可移動的音頻輸入/輸出外設(shè),例如,耳機可作為輸出外設(shè),耳麥可同時具有輸出(例如,用于一只或兩只耳朵的耳機)和輸入功能(例如,麥克風(fēng))。

I/O子系統(tǒng)106與電子設(shè)備100的輸入/輸出外設(shè)接口連接,例如顯示系統(tǒng)112和其他輸入/控制設(shè)備116接到I/O子系統(tǒng)后與外設(shè)接口118連接。I/O子系統(tǒng)106可以包括顯示控制器156和一個或多個用于其它輸入或控制設(shè)備的輸入控制器160。所述輸入控制器160可與其他輸入或控制設(shè)備116之間傳輸電信號。其他輸入或控制設(shè)備116可以包括物理按鈕(例如,按鈕,搖桿按鈕等),刻度盤,滑塊開關(guān),操縱桿,點擊式觸摸轉(zhuǎn)盤等。在一些實施例中,輸入控制器160可以獨自工作,也可以與下列任一裝置配合使用:鍵盤,紅外端口,USB端口,指針裝置如鼠標。

顯示系統(tǒng)112可包括觸摸屏。觸摸屏可以給所述設(shè)備和用戶之間提供輸入/輸出接口。顯示控制器156接收和/或發(fā)送從/向觸摸屏的電信號。觸摸屏可以向用戶展示可視化輸出??梢暬敵霭▓D案,文本,圖標,視頻和它們的任意組合(統(tǒng)稱為“圖形”)。在一些實施例中,某些可視化輸出的部分或全部可以對應(yīng)于用戶界面對象,進一步的細節(jié)將在下面進行描述。

所述的顯示系統(tǒng)112包括顯示屏幕。顯示屏幕是利用某些顯示技術(shù)提供一個表面區(qū)域來向用戶顯示可視內(nèi)容的設(shè)備。例如,該可視內(nèi)容可以包括網(wǎng)頁的內(nèi)容。顯示屏幕可以采用液晶顯示(liquid crystal display,LCD)技術(shù),有機發(fā)光二極管(organic light-emitting diode,OLED)技術(shù)或發(fā)光聚合物顯示(light emitting polymer display,LPD)技術(shù)來制成。另外,任何其它適當(dāng)?shù)娘@示技術(shù)均可在一些實施例中使用。當(dāng)顯示系統(tǒng)112的顯示屏幕包括觸摸屏?xí)r,觸摸屏和顯示控制器156可用任何已知的或?qū)黹_發(fā)的觸摸感測技術(shù)來檢測接觸,運動或中斷信息。觸摸感測技術(shù)包括但不限于電容,電阻,紅外線和表面聲波技術(shù),以及其它距離傳感器陣列或可檢測單點或多點接觸的其他技術(shù)。

顯示系統(tǒng)112可以具有超過100dpi的分辨率。在一些實施例中,顯示系統(tǒng)112可以具有大約160dpi的分辨率。

電子設(shè)備100還包括用于給各種組件供電的電源系統(tǒng)162。電源系統(tǒng)162可以包括電源管理系統(tǒng),一個或多個電源(例如,電池,交流電),充電系統(tǒng),電源故障檢測電路,電源轉(zhuǎn)換器或逆變器,電源狀態(tài)指示器(例如,一個發(fā)光二極管(light-emitting diode,LED)),以及在便攜式設(shè)備中與產(chǎn)生、管理和配電相關(guān)聯(lián)的任何其他組件。

電子設(shè)備100還可以包括一個或多個傳感器166。例如,傳感器166可以包括距離傳感器,加速度計等。傳感器166可以與外設(shè)接口118連接?;蛘?,傳感器166可與I/O子系統(tǒng)106的輸入控制器160連接。

在一些實施例中,存儲器102中保存的軟件組件可以包括操作系統(tǒng)126,通信模塊(或通信指令集)128,接觸/動作模塊(或接觸/動作指令集)130,圖形模塊(或圖像指令集)132,文本輸入模塊(或文本輸入指令集)134,以及瀏覽模塊(或瀏覽指令集)136。

操作系統(tǒng)126(例如,Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或嵌入式操作系統(tǒng)如VxWorks)包括各種軟件組件和/或用于控制和管理一般系統(tǒng)任務(wù)的驅(qū)動程序(例如,存儲器管理,存儲設(shè)備控制,電源管理等),并且可以用來幫助各種硬件和軟件組件之間的通信。

通信模塊128負責(zé)通過一個或多個外部端口124與其它設(shè)備通信,并且還包括各種軟件組件來處理從RF電路108和/或外部端口124接收到的數(shù)據(jù)。外部端口124(例如USB、FIREWIRE等)可適用于直接連接其它設(shè)備或間接地通過網(wǎng)絡(luò)(例如,因特網(wǎng),無線LAN等)連接其他設(shè)備。

接觸/動作模塊130可以檢測與觸摸屏(結(jié)合顯示控制器156)和其它觸敏設(shè)備(例如,觸摸板或點擊式轉(zhuǎn)盤)的接觸。接觸/動作模塊130包括各種軟件組件來執(zhí)行與檢測接觸有關(guān)的各種操作,諸如確定是否發(fā)生了接觸,確定是否存在接觸的移動并跟蹤在觸摸屏上的運動,確定接觸是否中斷(即接觸是否停止)。圖形模塊132包括各種已知軟件組件來在觸摸屏上渲染和顯示圖形,包括用于改變所顯示的圖形的亮度的組件。

文本輸入模塊134可以是圖形模塊132的一個組件,在各種應(yīng)用程序中提供軟鍵盤來輸入文本。應(yīng)用程序可以是瀏覽模塊(或瀏覽器)136和需要文本輸入的任何其它應(yīng)用程序。

結(jié)合射頻電路108,顯示系統(tǒng)112,顯示控制器156,接觸模塊130,圖形模塊132和文本輸入模塊134,瀏覽器模塊136可用于瀏覽因特網(wǎng),包括搜索,鏈接到,接收和顯示部分或全部網(wǎng)頁,以及附件和網(wǎng)頁鏈接的其他文件。瀏覽器模塊136的用戶界面和相關(guān)處理的實施例在以下篇幅中進一步描述。

上述的每個模塊和應(yīng)用程序都對應(yīng)一組用來執(zhí)行上述一個或多個功能的指令集。這些模塊(即,指令集合)不必為單獨的軟件程序,過程或模塊。在一些實施例中,這些模塊中的各種子集可被組合或以其他方式重新布置。在一些實施例中,存儲器102可以存儲以上敘述的模塊和數(shù)據(jù)結(jié)構(gòu)的子集。此外,存儲器102可以存儲上面未描述的其他模塊和數(shù)據(jù)結(jié)構(gòu)。

本發(fā)明實施例提供的方法和電子設(shè)備可用于顯示網(wǎng)頁。披露的用于顯示網(wǎng)頁的方法可以用在顯示網(wǎng)頁的電子設(shè)備上。用于顯示網(wǎng)頁的電子設(shè)備可以包含如圖1B所示客戶端的結(jié)構(gòu),并且可以實施顯示網(wǎng)頁的功能和特征。在所披露的實施例中,用于顯示網(wǎng)頁的電子設(shè)備可以包括如圖1B所示的瀏覽模塊(或瀏覽器)136。所述瀏覽器可用來實現(xiàn)本發(fā)明披露的顯示網(wǎng)頁的方法。此外,在某些實施例中,用于顯示網(wǎng)頁的電子設(shè)備可以包括移動電話,智能電話,平板計算機等。

圖2示出了與披露的實施例相一致的網(wǎng)頁顯示方法的示意流程。如圖2所示,所述網(wǎng)頁顯示方法可以包括以下步驟。

步驟201:獲取網(wǎng)頁的元數(shù)據(jù)(metadata)。所述元數(shù)據(jù)可指定首屏關(guān)鍵元素和首屏策略擴展屬性。該步驟還可獲取首屏策略擴展屬性的值。

步驟202:判斷一個網(wǎng)頁元素是否為所述首屏關(guān)鍵元素。

步驟203:當(dāng)網(wǎng)頁元素是首屏關(guān)鍵元素時,顯示所述網(wǎng)頁首屏。步驟204:當(dāng)網(wǎng)頁元素不是首屏關(guān)鍵元素,并且首屏顯示條件得到滿足時,顯示所述網(wǎng)頁首屏幕。首屏顯示條件可以是首屏策略擴展屬性的值的函數(shù)。

為了進一步說明圖2所示的方法,本文披露了一些實施例。圖3示出了另一種與披露的實施例相一致的網(wǎng)頁顯示方法的示意流程。如圖3所示,所處網(wǎng)頁顯示方法可以包括以下流程。該流程可以用來實施圖2所示的方法。

步驟301:獲取網(wǎng)頁的元數(shù)據(jù)(metadata)。所述網(wǎng)頁的元數(shù)據(jù)可包含關(guān)于網(wǎng)頁數(shù)據(jù)的信息。例如,在HTML中,元數(shù)據(jù)通過<meta>標簽提供。所以,解析<meta>標簽即可獲得所述元數(shù)據(jù)。

一般地,<meta>標簽可以定義一個元數(shù)據(jù)元素。使用<meta>標簽的元數(shù)據(jù)是不顯示在頁面上的,但是可以被機器解析。元數(shù)據(jù)元素通常用來指示頁面描述,關(guān)鍵詞,文檔作者,最后改動和其他元數(shù)據(jù)。所述元數(shù)據(jù)可以指示瀏覽器如何顯示內(nèi)容或加載網(wǎng)頁。

舉例來說,提供元數(shù)據(jù)的<meta>標簽可以用如下語法:

<meta name=“first-screen-paint”content=“element-id:specified element ID;

element-paint:must/optionally;priority:high/normal”>

在上述語法中,“name”屬性可以用于指定該元數(shù)據(jù)的名稱。“name”屬性的值是為元數(shù)據(jù)的名稱。“name”屬性的值可以是瀏覽器支持和識別的任何名稱。在上述的例子中,元數(shù)據(jù)的名稱是“first-screen-paint”(首屏繪制)。當(dāng)瀏覽器解析到名稱為“first-screen-paint”的元數(shù)據(jù)時,瀏覽器可以識別出該元數(shù)據(jù)的值可用來為網(wǎng)頁首屏顯示提供指令。.

“content”屬性可以給出與“name”屬性相關(guān)聯(lián)的值。也就是說,“content”屬性的值可以是與元數(shù)據(jù)的名稱相關(guān)聯(lián)的值。在上述的例子中,“content”屬性的值是文本字符串“element-id:specified element ID;element-paint:must/optionally;priority:high/normal”,并且這個值與所述元數(shù)據(jù)名稱“first-screen-paint”相關(guān)聯(lián)。

在上述例子中,“content”屬性的值可包括一個或多個擴展屬性。每個擴展屬性可以分別有一個值。在各種不同的實施方案中,“擴展屬性”可能有也可能沒有在不同的瀏覽器制造商生產(chǎn)的瀏覽器中被廣泛支持。然而,某個瀏覽器制造商制造的某個瀏覽器可以識別和支持所述的擴展屬性。因此,“擴展屬性”可以是超越HTML現(xiàn)有屬性的擴展,并且可以由瀏覽器制造商通過擴展現(xiàn)有普遍認可的HTML屬性列表來定義。網(wǎng)頁開發(fā)人員可以為一個網(wǎng)頁添加“擴展屬性”并選擇“擴展屬性”的值。

擴展屬性可以包括關(guān)鍵元素擴展屬性“element-id”。當(dāng)瀏覽器解析名稱為“first-screen-paint”的元數(shù)據(jù)的關(guān)鍵元素擴展屬性“element-id”時,瀏覽器可以識別出這個關(guān)鍵元素擴展屬性“element-id”的值指定了首屏關(guān)鍵元素。首屏關(guān)鍵元素可使用合適的方法來指定。如上述例子所示,關(guān)鍵元素擴展屬性“元素的id”的值是一個元素的ID。根據(jù)萬維網(wǎng)聯(lián)盟(W3C)標準,在HTML中,網(wǎng)頁中每個元素都有唯一對應(yīng)的一個ID。

此外,擴展屬性可以包括首屏策略擴展屬性“element-paint”。當(dāng)瀏覽器解析到名稱為“first-screen-paint”的元數(shù)據(jù)的首屏策略擴展屬性“element-paint”時,瀏覽器可以識別出這個首屏策略擴展屬性“element-paint”的值指定了使用何種策略來顯示網(wǎng)頁首屏。所述策略可使用合適的方法來指定。如上述例子所示,首屏策略擴展屬性“element-paint”的值可設(shè)定為“must”和“optionally”其中一種,用來指定所述策略。

進一步地,擴展屬性可以包括首屏優(yōu)先級擴展屬性“priority”。當(dāng)瀏覽器解析到名稱為“first-screen-paint”的元數(shù)據(jù)的首屏優(yōu)先級擴展屬性“priority”時,瀏覽器可以識別出這個首屏優(yōu)先級擴展屬性“priority”的值指定了顯示網(wǎng)頁首屏的優(yōu)先級。所述優(yōu)先級可使用合適的方法來指定。如上述例子所示,首屏優(yōu)先級擴展屬性“priority”的值可設(shè)定為“high”和“normal”其中一種。

因此,在步驟301中,瀏覽器可以解析<meta>標簽,并獲得的首屏關(guān)鍵元素信息,例如,首屏關(guān)鍵元素的ID。舉例來說,圖4示出了與披露的實施例相一致的提供給瀏覽器的網(wǎng)頁中的文檔部分。<meta>標簽401描述了在網(wǎng)頁的源代碼中使用的<meta>標簽的一個例子。首屏關(guān)鍵元素的ID為“yui_3_12_0_1_1422584402305_895”。首屏策略擴展屬性“element-paint”的值是“optionally”。首屏優(yōu)先級擴展屬性“priority”的值是“high”。所以,ID為“yui_3_12_0_1_1422584402305_895”的元素402是該網(wǎng)頁的首屏關(guān)鍵元素。在源代碼中,首屏關(guān)鍵元素前面還有一個或多個其它元素403。

回到圖3,步驟302包括解析一個元素。該元素可以是在瀏覽器顯示網(wǎng)頁首屏之前需要解析的任何合適的元素。

在所披露的實施例中,在首屏顯示時間點時顯示的網(wǎng)頁部分稱為該網(wǎng)頁的首屏。在某些情況下,步驟302中解析的元素可以是包含在網(wǎng)頁首屏中的元素。

所述網(wǎng)頁的“首屏”可能包括也可能不包括所述網(wǎng)頁在“第一時刻”時間點所顯示的元素。如前面提到的,在“第一時刻顯示”的時間點,僅在屏幕的一小部分上顯示部分頁面。在某些情況下,網(wǎng)頁開發(fā)人員,瀏覽器,或任何其它適當(dāng)?shù)某绦蚧騻€體可以用特定的流程來實現(xiàn)“第一時刻顯示”,并指定所述網(wǎng)頁在“第一時刻”顯示的特定元素。在一些其他情況下,“第一時刻顯示”沒有指定的流程。也就是說,所述網(wǎng)頁在“第一時刻”不在顯示屏上顯示任何內(nèi)容。

在一些實施例中,在“首屏顯示”時間點所顯示的網(wǎng)頁部分,除去在“第一時刻”顯示的網(wǎng)頁元素,稱為該頁面的“首屏”。在一些其他實施例中,在“首屏顯示”時間點所顯示的網(wǎng)頁部分,包括在“第一時刻”顯示的網(wǎng)頁元素,稱為該頁面的“首屏”。無論網(wǎng)頁的“首屏”是否包含“第一時刻”顯示的網(wǎng)頁元素,本發(fā)明所公開的方法和設(shè)備均可適用。

舉例來說,網(wǎng)頁開發(fā)人員,瀏覽器,或任何其它適當(dāng)?shù)某绦蚧騻€體可以用特定的流程來實現(xiàn)“第一時刻顯示”,并指定所述網(wǎng)頁在“第一時刻”顯示的特定元素。如果網(wǎng)頁的“首屏”不包括“第一時刻”顯示的網(wǎng)頁元素,則在步驟302中解析不屬于“第一時刻”元素的其他一個元素(例如源代碼中“第一時刻”元素之后描述的元素),并用本發(fā)明公開的方法來顯示首屏。如果網(wǎng)頁的“首屏”包括“第一時刻”顯示的網(wǎng)頁元素,則在步驟302中解析一個元素(該元素可以是一個“第一時刻”元素),并用本發(fā)明公開的方法來顯示首屏。

回到圖3,步驟303中,判斷所述元素是否為首屏關(guān)鍵元素。當(dāng)已解析的元素是首屏關(guān)鍵元素時,執(zhí)行步驟309,并且跳過步驟304-308。當(dāng)已解析的元素不是首屏關(guān)鍵元素時,執(zhí)行步驟304。

在所披露的實施例中,元數(shù)據(jù)可以通過指定首屏關(guān)鍵元素的ID來指定首屏關(guān)鍵元素。因此,可以將已解析元素的ID與首屏關(guān)鍵元素的ID進行比較。當(dāng)已解析元素的ID是與首屏關(guān)鍵元素的ID相同,則判斷該已解析元素是首屏關(guān)鍵元素。當(dāng)已解析元素的ID是與首屏關(guān)鍵元素的ID不同,則判斷該已解析元素不是首屏關(guān)鍵元素。

當(dāng)已解析元素不是首屏關(guān)鍵元素時,執(zhí)行步驟304。在源代碼中,在首屏關(guān)鍵元素之前可以存在一個或多個元素。通常情況下,可以按照在源代碼中的出現(xiàn)順序來解析元素。因此,在首屏關(guān)鍵元素被解析之前可以有其他元素存在,并且瀏覽器可以判斷這個解析后的元素不是首屏關(guān)鍵元素。

步驟304處理元素排版。在步驟305中,判斷首屏策略擴展屬性“element-paint”的值是否為“must”。當(dāng)首屏策略擴展屬性“element-paint”的值為“must”,則執(zhí)行步驟307。當(dāng)首屏策略擴展屬性“element-paint”的值不是“must”,則執(zhí)行步驟306。

首屏策略擴展屬性“element-paint”的值可以通知瀏覽器使用何種策略來執(zhí)行網(wǎng)頁的首屏顯示。在一些實施例中,“must”值表示頁面定義的首屏顯示策略是強制性的。

頁面定義的首屏顯示策略是在網(wǎng)頁的源代碼中定義的一種策略。根據(jù)頁面定義的首屏顯示策略,網(wǎng)頁的首屏僅在首屏關(guān)鍵元素解析后才顯示。也就是說,首屏關(guān)鍵元素在網(wǎng)頁源代碼中標志了一個界限。網(wǎng)頁的首屏是通過在首屏關(guān)鍵元素被解析之前繪制一個或多個已經(jīng)被解析和排版的元素來顯示的。當(dāng)頁面定義的首屏顯示策略是強制的時,只有在判斷一個元素為首屏關(guān)鍵元素后才能顯示網(wǎng)頁首屏。

瀏覽器定義的首屏顯示策略可以包括本發(fā)明先前描述的一些策略,例如,根據(jù)元素的位置來確定首屏顯示的時間點,或根據(jù)預(yù)先設(shè)定的時間長度來打開頁面。若頁面定義的首屏顯示策略是強制的,顯示網(wǎng)頁首屏?xí)r不用判斷瀏覽器定義的首屏顯示策略是否滿足。

因此,當(dāng)首屏策略擴展屬性“element-paint”的值為“must”,則執(zhí)行步驟307,并且相應(yīng)的跳過步驟306。

在一些實施例中,“must”值表示頁面定義的首屏顯示策略是可選的而并不是強制的。也就是說,當(dāng)一個元素不是首屏關(guān)鍵元素時,可判斷瀏覽器定義的首屏顯示策略是否滿足。因此,當(dāng)首屏策略擴展屬性“element-paint”的值不是“must”,則執(zhí)行步驟306。

步驟306中,判斷瀏覽器定義的首屏顯示策略是否滿足。當(dāng)瀏覽器定義的首屏顯示策略滿足時,則執(zhí)行步驟309。當(dāng)瀏覽器定義的首屏顯示策略沒有滿足時,則執(zhí)行步驟307。

步驟307中,判斷首屏優(yōu)先級擴展屬性“priority”的值是否為“high”。當(dāng)首屏優(yōu)先級擴展屬性“priority”的值為“high”時,執(zhí)行步驟302。當(dāng)首屏優(yōu)先級擴展屬性“priority”的值不為“high”時,則執(zhí)行步驟308。

首屏優(yōu)先級擴展屬性“priority”的值可以指定網(wǎng)頁首屏顯示的優(yōu)先級。在一些實施例中,“high”值表示首屏顯示具有高優(yōu)先級。所以,在排版流程后,不發(fā)出排版區(qū)域變更請求。如前所述,生成排版區(qū)域變更請求會導(dǎo)致首屏顯示時間延長。

因此,當(dāng)首屏優(yōu)先級擴展屬性“priority”的值為“high”,則執(zhí)行步驟302。此時,繼續(xù)解析下一個元素,并且相應(yīng)的跳過步驟308。

在一些實施例中,“normal”值,或者不為“high”的值,表示首屏顯示具有普通優(yōu)先級。所以,在排版流程后,可以發(fā)出排版區(qū)域變更請求。可以接受由生成排版區(qū)域變更請求而導(dǎo)致的首屏顯示時間延遲。因此,當(dāng)首屏優(yōu)先級擴展屬性“priority”的值不為“high”,則執(zhí)行步驟308。

在步驟308中,生成排版區(qū)域變更請求。為了響應(yīng)排版區(qū)域變更請求,渲染引擎會重新計算排版區(qū)域是否由于先前的排版流程而產(chǎn)生變更。當(dāng)排版區(qū)域變更時,發(fā)出繪制屏幕請求。繪畫程序響應(yīng)繪制請求,繪制并顯示更新后的排版區(qū)域。在這種情況下,當(dāng)前已經(jīng)完成解析和排版處理的部分或全部元素會顯示在電子設(shè)備的屏幕上。當(dāng)完成步驟308后,可執(zhí)行步驟302,即解析下一個元素。

步驟309中,顯示網(wǎng)頁首屏。步驟309可以在步驟303或者步驟306后執(zhí)行。

如前所述,步驟303中,當(dāng)解析的元素是首屏關(guān)鍵元素時,執(zhí)行步驟309。也就是說,首屏關(guān)鍵元素在網(wǎng)頁的源代碼中標志著一個界線。當(dāng)首屏關(guān)鍵元素被解析,則意味著這個標志的界線達到了。當(dāng)這個標志的界線達到時,就要完成網(wǎng)頁的首屏顯示流程。

在一些實施例中,首屏優(yōu)先級擴展屬性“priority”的值為“high”,每個經(jīng)過排版處理的元素均跳過步驟308。在步驟309中,繪制所有已完成解析和排版處理的元素。網(wǎng)頁的首屏顯示流程就此完成。在所述繪制過程之前,所有之前已解析(步驟302)的和已排版的(步驟304)元素都沒有被繪制,并且僅在步驟308中繪制。因此,只形成一次排版區(qū)域和執(zhí)行一次繪制過程,網(wǎng)頁“首屏”的所有元素會一次性顯示在屏幕上。

將所有元素只繪制一次的過程可以稱作“強制繪制”過程或“強制顯示”過程。“強制繪制”使網(wǎng)頁的元素在顯示屏上一次出現(xiàn),而不是先顯示一些元素,再顯示其他一些元素。例如,可在顯示屏上首先顯示網(wǎng)頁的第一個時刻元素(例如,網(wǎng)頁的標題),并在一定時間長度如1秒后,將顯示屏一次性填充,而不是逐步填補。

在一些實施例中,首屏優(yōu)先級擴展屬性“priority”的值不為“high,對每個已通過排版處理的元素執(zhí)行步驟308。此時,為排版后的每個元素發(fā)送排版區(qū)域變更請求。一些元素的繪制過可能已經(jīng)完成,所以這些元素可能在步驟309之前已經(jīng)在屏幕上顯示。因此,在步驟309中,可以繪制所有元素,這樣所有元素都顯示在顯示屏上,完成網(wǎng)頁首屏顯示流程。

如前所述,步驟306中,當(dāng)瀏覽器定義的首屏顯示策略滿足時,則執(zhí)行步驟309。在這種情況下,步驟309還可包括讓瀏覽器根據(jù)瀏覽器定義的首屏顯示策略來顯示首屏的任何合適的步驟。

在一些實施例中,當(dāng)滿足瀏覽器定義的首屏顯示策略,并且首屏優(yōu)先級擴展屬性“priority”的值為“high”,則每個已經(jīng)通過排版處理的元素均跳過步驟308。因此,在步驟309中,所有經(jīng)過解析和排版的元素可以在強制繪制過程中進行繪制,完成網(wǎng)頁首屏顯示流程。

在一些其他實施例中,當(dāng)滿足瀏覽器定義的首屏顯示策略,并且首屏優(yōu)先級擴展屬性“priority”的值不為“high”,則對每個已通過排版處理的元素執(zhí)行步驟308。此時,為排版后的每個元素發(fā)送排版區(qū)域變更請求。一些元素的繪制過可能已經(jīng)完成。因此,在步驟309中,繪制過程可以繪制所有元素,這樣所有元素都顯示在顯示屏上,完成網(wǎng)頁首屏顯示流程。

步驟309中,當(dāng)頁面的首屏顯示完成后,瀏覽器可以繼續(xù)處理網(wǎng)頁并顯示網(wǎng)頁的第二屏幕,第三屏幕等,這樣用戶在瀏覽窗口中滾動頁面時即可觀看頁面中的更多內(nèi)容。

所以,如圖3所示,步驟301可以完成圖2所示的步驟201的部分或全部功能。步驟302-303可以完成圖2所示的步驟202的部分或全部功能。另外,步驟304-309可以完成圖2所示的步驟203-204的部分或全部功能。

在步驟303中,判斷元素是否為首屏關(guān)鍵元素。當(dāng)解析的元素是首屏關(guān)鍵元素時,則執(zhí)行步驟309,即顯示網(wǎng)頁首屏并且完成網(wǎng)頁首屏顯示流程。

當(dāng)解析的元素不是首屏關(guān)鍵元素時,在步驟305中,首屏策略擴展屬性“element-paint”的值可判斷為“must”。當(dāng)首屏策略擴展屬性“element-paint”的值為“must”,則解析下一個元素并重復(fù)步驟302-309。

當(dāng)首屏策略擴展屬性“element-paint”的值不為“must”,則執(zhí)行步驟306,即判斷瀏覽器定義的首屏顯示策略是否滿足。當(dāng)瀏覽器定義的首屏顯示策略滿足時,則執(zhí)行步驟309,即顯示網(wǎng)頁首屏并且完成網(wǎng)頁首屏顯示流程。當(dāng)瀏覽器定義的首屏顯示策略沒有滿足時,則解析下一個元素并重復(fù)步驟302-309。

換句話說,首屏關(guān)鍵元素可在網(wǎng)頁的源代碼中標志一個界限,并用作一個指標來通知瀏覽器當(dāng)首屏關(guān)鍵元素被解析時必須顯示網(wǎng)頁首屏,不論首屏策略擴展屬性“element-paint”的值為“must”或“optionally”。這個步驟與圖2中的步驟203相同或相似。

此外,在解析首屏關(guān)鍵元素之前,源代碼中的一個或多個元素可能已通過解析和排版處理。當(dāng)首屏策略擴展屬性的值表示頁面定義的首屏策略是“optionally”,而且之前已解析和排版一個或多個元素滿足某個首屏顯示策略(例如,瀏覽器定義的首屏顯示策略)時,顯示網(wǎng)頁首屏并且完成網(wǎng)頁首屏顯示流程。在這種情況下,首屏關(guān)鍵元素的解析可能在完成網(wǎng)頁首屏顯示后發(fā)生,并且因此不包括首屏顯示的過程中。

因此,當(dāng)一個元素不是首屏關(guān)鍵元素并且首屏顯示的標準得到滿足時,即可顯示首屏。首屏顯示標準可以是首屏策略擴展屬性的值的一個函數(shù),即依賴于首屏策略擴展屬性的值。在一些實施例中,首屏顯示標準可包括使首屏策略擴展屬性的值表示頁面定義的首屏顯示策略是“optional”。

此外,首屏顯示判據(jù)還可以包括滿足其他不是頁面定義的首屏顯示策略的首屏顯示策略。例如,不是頁面定義的首屏顯示策略的其他首屏顯示策略可以是一個瀏覽器定義的首顯示策略。因此,首屏顯示判據(jù)還可以包括滿足瀏覽器定義的首屏顯示策略。所以,這個步驟可以與圖2所示的步驟204相同或相似。

因此,本發(fā)明披露了顯示網(wǎng)頁的方法的實施例。使用所披露的方法,網(wǎng)頁的首屏可以顯示的更快。更準確的說,用本發(fā)明公開的實施例中的方法,網(wǎng)頁開發(fā)人員可以更好地控制顯示網(wǎng)頁首屏的過程。

如前所述,顯示首屏的時間點可根據(jù)元素的位置來確定??蛇x地,顯示首屏的時間點可以根據(jù)預(yù)設(shè)的打開頁面的時長來確定。然而在許多情況下,某些類型的特殊網(wǎng)頁,或具有特殊內(nèi)容會影響處理時間的網(wǎng)頁,并不能用這種方法在瀏覽器中打開。在這些情況下,顯示首屏可以顯著延遲。

在本發(fā)明實施例所披露的方法中,網(wǎng)頁開發(fā)人員可以在元數(shù)據(jù)中指定首屏關(guān)鍵元素,以此在網(wǎng)頁的源代碼中標記網(wǎng)頁首屏的邊界。因此,當(dāng)在源代碼中解析并識別到首屏關(guān)鍵元素的時候,瀏覽器可判斷首屏顯示的時間點到達。這樣,即使是對于具有特殊內(nèi)容會影響處理時間的網(wǎng)頁,瀏覽器可以更容易地通過元數(shù)據(jù)來確定首屏顯示的時間點,防止在確定首屏顯示的時間點有難度時造成延遲。

進一步地,本發(fā)明公開的方法中,網(wǎng)頁開發(fā)人員可以確保網(wǎng)頁首屏根據(jù)開發(fā)意圖來顯示。例如,一個瀏覽器可能有瀏覽器定義的首屏顯示策略。網(wǎng)頁開發(fā)人員可能會認為某一個元素,例如,一個圖片或一個標題,對展現(xiàn)首屏是至關(guān)重要的,而且必須顯示在首屏。然而,這個重要元素通常會在滿足瀏覽器定義的首屏策略后才進行解析。在這種情況下,開發(fā)人員可以使用本發(fā)明所公開的方法,將排在這個“重要元素”之后解析的元素指定為首屏關(guān)鍵元素,并設(shè)置首屏策略擴展屬性“element-paint”的值是“must”。因此,可以確保“重要元素”在網(wǎng)頁首屏顯示。盡管,在這個例子中,首屏顯示的實際時間長度可能大于用瀏覽器定義的首屏策略來顯示首屏的時間長度,首屏顯示的內(nèi)容符合開發(fā)者的意圖。

更進一步地,在另一例子中,開發(fā)人員可以使用本發(fā)明公開的方法,將排在滿足瀏覽器定義的首屏策略的元素之前的一個元素指定為首屏關(guān)鍵元素。在這種情況下,首屏顯示的實際時間長度會小于用瀏覽器定義的首屏策略來顯示首屏的時間長度,并且首屏顯示的內(nèi)容與開發(fā)者的意圖一致。

此外,瀏覽器定義的首屏顯示策略會根據(jù)一個元素的位置來確定首屏顯示時間點,當(dāng)一個元素具有超出底部邊界或超過顯示屏的底部邊界時,瀏覽器確定首屏顯示的時間點已經(jīng)達到。然而,在顯示屏的高度不盡相同,例如,可以是3英寸,4英寸,或任何其他適當(dāng)?shù)某叽?,這取決于具體的電子設(shè)備型號和制造商。這種瀏覽器定義的首屏顯示策略可能導(dǎo)致的在不同的電子設(shè)備上首屏顯示的內(nèi)容不同。使用本發(fā)明公開的方法,網(wǎng)頁開發(fā)人員可以定義網(wǎng)頁首屏的內(nèi)容,這樣在不同的電子設(shè)備上首屏顯示的內(nèi)容也是相同的。

再者,元數(shù)據(jù)可以包括首屏優(yōu)先級擴展屬性“priority”的值,以用來指定首屏顯示的優(yōu)先級。當(dāng)該值指示首屏顯示是高優(yōu)先級的,則在排版完成后不生成排版區(qū)域變更請求,并且防止其他任何潛在的由于生成排版區(qū)域變更請求導(dǎo)致的必然延遲。此外,先前已經(jīng)解析和布排版的元素可以一次性繪制,即用單個繪制過程繪制,并且在這個繪制過程之前不進行繪制(如步驟309)。

用本發(fā)明公開的方法,網(wǎng)頁開發(fā)人員還能夠控制元素出現(xiàn)在首屏的順序或方式,比如首屏內(nèi)容是同時顯示還是逐漸顯示。當(dāng)首屏優(yōu)先級擴展屬性的值指示首屏顯示是高優(yōu)先級的,先前解析和排版的元素可以一次性進行繪制并作為首屏顯示的內(nèi)容(如步驟309)。也就是說,用第一時刻顯示過程可以先在網(wǎng)頁上顯示某些網(wǎng)頁元素,例如,一行填滿屏幕10%的文本。然后,首屏可以基本上一次性完全填充。

可選的,當(dāng)首屏優(yōu)先級擴展屬性的值指示首屏顯示是普通優(yōu)先級,當(dāng)一個完成排版后即可生成排版區(qū)域變更請求。相應(yīng)的,排版區(qū)域可以進行必要的更新。排版區(qū)域的繪制可以部分完成或全部完成。因此,在步驟302-308中,首屏的一些元素會逐漸的顯示在屏幕上。舉例來說,顯示屏可能25%被填滿,50%填滿,并且顯示內(nèi)容可能會改變一次或多次,直到步驟309中整個首屏內(nèi)容顯示完成。

元數(shù)據(jù)可以在任何基于HTML的網(wǎng)頁文檔中使用。在某些實施例中,“name”屬性的值是“first-screen-paint”,然而“name”屬性的值可以包括能讓瀏覽器識別和支持的用于實現(xiàn)所公開功能的任何適當(dāng)?shù)淖址?。在某些實施例中,關(guān)鍵元素擴展屬性是“element-id”,關(guān)鍵元素擴展屬性可以包括能讓瀏覽器識別和支持的用于實現(xiàn)所公開功能的任何適當(dāng)?shù)奈谋敬?/p>

在某些實施例中,首屏策略擴展屬性是“element-paint”,其值為“must”或“optionally”,然而首屏策略擴展屬性和它的值可以包括能讓瀏覽器識別和支持的用于實現(xiàn)所公開功能的任何適當(dāng)?shù)奈谋敬?。在某些實施例中,首屏?yōu)先級擴展屬性是“priority”,其值為“high”或“normal”,然而首屏優(yōu)先級擴展屬性和它的值可以包括能讓瀏覽器識別和支持的用于實現(xiàn)所公開功能的任何適當(dāng)?shù)奈谋敬?/p>

瀏覽器的制造商可通過任何合適的規(guī)定的方式向網(wǎng)頁開發(fā)人員提供元數(shù)據(jù)名稱的說明以及擴展屬性及其值的說明,如瀏覽器的說明書。因此,網(wǎng)頁開發(fā)人員可以在創(chuàng)建網(wǎng)頁的過程中在網(wǎng)頁源代碼里添加元數(shù)據(jù)。

進一步的,在一些實施例中,即使擴展屬性沒有明確寫在元數(shù)據(jù)中,瀏覽器也可以用來獲取元數(shù)據(jù)的擴展屬性的值。舉例來說,當(dāng)首屏策略擴展屬性和其值沒有明確寫在元數(shù)據(jù)里時,可以配置瀏覽器選擇“must”作為首屏策略擴展屬性的值。也就是說,首屏策略擴展屬性可以默認設(shè)為“must”,并且首屏策略擴展屬性的默認值可以在瀏覽器解析元數(shù)據(jù)時獲得?;蛘?,首屏策略擴展屬性的默認值也可設(shè)為“optionally”。

再舉一例,當(dāng)首屏優(yōu)先級擴展屬性和其值沒有明確寫在元數(shù)據(jù)里時,可以配置瀏覽器選擇“high”作為首屏優(yōu)先級擴展屬性的值。也就是說,首屏優(yōu)先級擴展屬性的默認值可設(shè)為“high”,并且首屏優(yōu)先級擴展屬性的默認值可以在瀏覽器解析元數(shù)據(jù)時獲得?;蛘撸灼羶?yōu)先級擴展屬性的默認值也可設(shè)為“normal”。

所披露的實施例可以通過電子設(shè)備的處理器執(zhí)行合適的算法來實現(xiàn)。這樣的算法可以用編碼指令來描述和實現(xiàn)。圖5A示出了與披露的實施例相一致的示意的瀏覽器部分編碼指令。圖5B示出了與披露的實施例相一致的示意的瀏覽器另一部分編碼指令。圖示的編碼指令可以包括在瀏覽器的程序中,這樣,可以配置瀏覽器成實現(xiàn)在圖2和圖3中所描述的功能。為了示意性目的,所述編碼指令用C++編寫。然而,其他任何適當(dāng)?shù)木幊陶Z言,例如,BASIC,Java等也可以使用。圖中省略了一些指令,以更好的展示與本發(fā)明披露的方法相關(guān)的指令。為了說明的目的,在圖5A和圖5B中,元數(shù)據(jù)的名稱為“first-page-paint”。

如圖5A中所示的編碼指令可用于解析元數(shù)據(jù)標簽,如步驟301。如圖5B所示的編碼指令可用于執(zhí)行本發(fā)明披露的各種流程,如步驟302-309。

如圖5B所示,指令501可以用于判斷元數(shù)據(jù)標簽“first-screen-paint”是否存在(如步驟301)。指令502可用于判斷一個元素的ID是否與元數(shù)據(jù)中指定的元素ID相同(如步驟303)。根據(jù)指令502的結(jié)果,當(dāng)確定所述元素是首屏關(guān)鍵元素時,指令503可以用于顯示網(wǎng)頁首屏(如步驟309)。

指令504可以用于判斷首屏優(yōu)先級擴展屬性“priority”的值是否為“high”或“normal”,例如步驟307。當(dāng)首屏優(yōu)先級擴展屬性“priority”不為“high”時,則執(zhí)行步驟308。

指令505可以用于判首屏策略擴展屬性“element-paint”的值是否是“must”或“optionally”,例如步驟305。指令506可用于判斷瀏覽器定義的首屏顯示策略是否滿足,例如步驟306。

本發(fā)明披露的實施例還提供了解決首屏顯示策略之間的沖突的方法。當(dāng)頁面定義的首屏顯示策略和瀏覽器定義的首屏顯示策略存在沖突時,該方法可以用來在頁面定義的首屏顯示策略和瀏覽器定義的首屏顯示策略之間選擇一個策略。該方法可以與本發(fā)明中披露的方法相同或相似的方法,例如圖2和圖3所描述的方法。

圖6示出了另一種與披露的實施例相一致的網(wǎng)頁顯示方法的示意流程圖。圖6所示的流程與圖3所示的流程相似。但是,在圖6中,可以配置瀏覽器使得首屏優(yōu)先級擴展屬性“priority”的值固定為“high”。相應(yīng)的,圖3中的步驟307和308可以省略。

如圖6所示,步驟301可獲取網(wǎng)頁的元數(shù)據(jù)(metadata)。例如,在HTML中,元數(shù)據(jù)通過<meta>標簽提供。所以,解析<meta>標簽即可獲得所述元數(shù)據(jù)。

步驟302包括解析一個元素。該元素可以是在瀏覽器顯示網(wǎng)頁首屏之前需要解析的任何合適的元素。

步驟303中,判斷所述元素是否為首屏關(guān)鍵元素。當(dāng)解析的元素是首屏關(guān)鍵元素時,執(zhí)行步驟309,并且跳過步驟304-308。當(dāng)解析的元素不是首屏關(guān)鍵元素時,執(zhí)行步驟304。

步驟304處理元素排版。在步驟305中,判斷首屏策略擴展屬性“element-paint”的值是否為“must”。當(dāng)首屏策略擴展屬性“element-paint”的值為“must”,則執(zhí)行步驟302。當(dāng)首屏策略擴展屬性“element-paint”的值不是“must”,則執(zhí)行步驟306。

步驟306中,判斷瀏覽器定義的首屏顯示策略是否滿足。當(dāng)滿足瀏覽器定義的首屏顯示策略時,則執(zhí)行步驟309。當(dāng)瀏覽器定義的首屏顯示策略沒有滿足時,則執(zhí)行步驟302。

根據(jù)前述如圖3所示的功能,圖6還可以為首屏顯示策略的沖突提供解決方法。

在各個實施例披露的方法中,網(wǎng)頁開發(fā)人員可能希望顯示網(wǎng)頁首屏?xí)r有一個或多個指定的元素被顯示。換句話說,網(wǎng)頁開發(fā)人員期望可以根據(jù)自己的意愿來決定首屏顯示內(nèi)容。瀏覽器可配置有瀏覽器定義的首屏顯示策略。

瀏覽器定義的首屏顯示策略有時候并不能在首屏上確切地顯示一個或多個指定的元素。在其他一些情況中,網(wǎng)頁開發(fā)人員可以在開發(fā)網(wǎng)頁時包括一個頁面定義的首屏顯示策略。所述頁面定義的首屏顯示策略可能與瀏覽器定義的首屏顯示策略不同。這些情況都可以認為是頁面定義的首屏顯示策略和瀏覽器定義的首屏顯示策略存在沖突。

當(dāng)所述沖突存在時,可能瀏覽器并不能合理處理網(wǎng)頁的首屏顯示。因此,網(wǎng)頁首屏顯示會發(fā)生延遲,或者與網(wǎng)頁開發(fā)人員的意圖相比不能準確的顯示首屏。

在圖2和圖3所描述的實施例中,網(wǎng)頁開發(fā)人員可以在元數(shù)據(jù)中指定首屏關(guān)鍵元素,以此在網(wǎng)頁的源代碼中標記網(wǎng)頁首屏的邊界。因此,當(dāng)在源代碼中解析并識別到首屏關(guān)鍵元素的時候,瀏覽器可判斷首屏顯示的時間點到達。這樣,即使是對于具有特殊內(nèi)容會影響處理時間的網(wǎng)頁,瀏覽器可以更容易地通過元數(shù)據(jù)來確定首屏顯示的時間點,防止在確定首屏顯示的時間點有難度時造成延遲。

進一步地,使用本發(fā)明披露的方法,網(wǎng)頁開發(fā)人員可以確保根據(jù)其設(shè)計意圖來顯示網(wǎng)頁首屏。舉例來說,開發(fā)人員可以把首屏策略擴展屬性“element-paint”的值設(shè)置為“must”。這樣,網(wǎng)頁的首屏?xí)_切地顯示網(wǎng)頁開發(fā)人員想要顯示的元素。

再舉一例,如果開發(fā)人員不想排除瀏覽器定義的首屏顯示策略,可以將首屏策略擴展屬性“element-paint”的值設(shè)置為“optionally”。這樣,當(dāng)瀏覽器定義的首屏顯示策略在解析首屏關(guān)鍵元素之前滿足時,則顯示首屏。當(dāng)瀏覽器定義的首屏顯示策略在解析首屏關(guān)鍵元素之前沒有滿足,在解析首屏關(guān)鍵元素后即可顯示首屏,這樣可以保證按照開發(fā)人員的要求及時顯示網(wǎng)頁首屏。

本發(fā)明的實施例還提供了一種加速網(wǎng)頁顯示首屏的方法。該方法包括在優(yōu)先級為高時,對一個元素進行排版,在元素排版完成后不生成排版區(qū)域變更請求。這樣可以防止其他任何潛在的由于生成排版區(qū)域變更請求導(dǎo)致的必然延遲。所述加速網(wǎng)頁顯示首屏的方法可以是與本發(fā)明披露的實施例相同或相似的方法,例如圖2和圖3所示的方法。

圖7示出了另一種與披露的實施例相一致的網(wǎng)頁顯示方法的示意流程圖。圖7所示的流程與圖3所示的流程相似。但是,在圖7中,可以配置瀏覽器使得首屏策略擴展屬性“element-paint”的值固定為“must”。相應(yīng)的,圖3中的步驟305和306可以省略。

如圖7所示,步驟301可獲取網(wǎng)頁的元數(shù)據(jù)(metadata)。例如,在HTML中,元數(shù)據(jù)通過<meta>標簽提供。所以,解析<meta>標簽即可獲得所述元數(shù)據(jù)。

步驟302包括解析一個元素。該元素可以是在瀏覽器顯示網(wǎng)頁首屏之前需要解析的任何合適的元素。

步驟303中,判斷所述元素是否為首屏關(guān)鍵元素。當(dāng)解析的元素是首屏關(guān)鍵元素時,執(zhí)行步驟309,并且跳過步驟304,307和308。當(dāng)解析的元素不是首屏關(guān)鍵元素時,執(zhí)行步驟304。

步驟304進行元素排版處理。步驟307判斷首屏優(yōu)先級擴展屬性“priority”的值是否為“high”。當(dāng)首屏優(yōu)先級擴展屬性“priority”的值為“high”時,執(zhí)行步驟302。當(dāng)首屏優(yōu)先級擴展屬性“priority”的值不為“high”時,則執(zhí)行步驟308。

在步驟308中,生成排版區(qū)域變更請求。為了響應(yīng)排版區(qū)域變更請求,渲染引擎會重新計算排版區(qū)域是否由于先前的排版流程而產(chǎn)生變更。當(dāng)排版區(qū)域變更時,發(fā)出繪制屏幕請求。繪畫程序響應(yīng)繪制請求,繪制并顯示更新后的排版區(qū)域。在這種情況下,當(dāng)前已經(jīng)完成解析和排版處理的部分或全部元素會顯示在電子設(shè)備的屏幕上。當(dāng)完成步驟308后,可執(zhí)行步驟302,即解析下一個元素。

根據(jù)前述如圖3所示的功能,圖7還可以提供加速網(wǎng)頁顯示首屏的方法。

此外,出于示意性的目的,圖2,圖3,圖6和圖7所示的流程包括了判斷一個元素是否為首屏關(guān)鍵元素的步驟,然而加速網(wǎng)頁首屏顯示的方法可以在不指定首屏關(guān)鍵元素的情況下執(zhí)行,并且首屏策略擴展屬性也可以是不必要的。

圖8示出了另一種與披露的實施例相一致的網(wǎng)頁顯示方法的示意流程。圖8可提供一種加速網(wǎng)頁首屏顯示的方法。

如圖8所示,步驟801包括獲取網(wǎng)頁的元數(shù)據(jù)。其中,元數(shù)據(jù)包括首屏優(yōu)先級擴展屬性。

步驟802包括判斷是否要顯示網(wǎng)頁首屏。步驟803包括當(dāng)需要顯示網(wǎng)頁首屏?xí)r,顯示網(wǎng)頁首屏。

步驟804中,當(dāng)不需要顯示網(wǎng)頁首屏?xí)r,判斷首屏優(yōu)先級擴展屬性的值是否意味著顯示網(wǎng)頁首屏的優(yōu)先級為高。步驟804可以與圖3和圖7中描述的步驟307相同或相似。

步驟805中,當(dāng)首屏優(yōu)先級擴展屬性的值意味著顯示網(wǎng)頁首屏的優(yōu)先級為高時,不發(fā)送區(qū)域變更請求。繼續(xù)解析下一個元素,或者解析并排版下一個元素(如果排版是必須的話),并判斷是否需要顯示網(wǎng)頁首屏。步驟805可以與圖3或圖7中從步驟307到步驟302的流程相同或相似。

步驟806中,當(dāng)首屏優(yōu)先級擴展屬性的值意味著顯示網(wǎng)頁首屏的優(yōu)先級為普通時,發(fā)送區(qū)域變更請求。繼續(xù)解析下一個元素,或者解析并排版下一個元素(如果排版是必須的話),并判斷是否需要顯示網(wǎng)頁首屏。步驟806可以與圖3或圖7中步驟308的流程相同或相似。

在一些實施例中,元數(shù)據(jù)沒有指定首屏關(guān)鍵元素,而且也沒有首屏策略擴展屬性。例如,<meta>標簽提供的元數(shù)據(jù)可以有如下的語法:

<meta name=“first-screen-paint”content=“priority:high/normal”>

所以,這個網(wǎng)頁沒有需要首屏關(guān)鍵元素的頁面定義的首屏顯示策略。在這種情況下,在步驟802中,可以判定是否滿足瀏覽器定義的首屏顯示策略或者其他合適的首屏顯示策略。當(dāng)瀏覽器定義的首屏顯示策略或者其他合適的首屏顯示策略已經(jīng)滿足,則顯示網(wǎng)頁首屏。當(dāng)瀏覽器定義的首屏顯示策略或者其他合適的首屏顯示策略未被滿足,則不顯示網(wǎng)頁首屏。進一步地,在步驟803中,顯示網(wǎng)頁首屏的過程可以包括與圖3中步驟309相同或相似的流程。

在其他一些實施例中,所述網(wǎng)頁的所述元數(shù)據(jù)可以與圖3中步驟301所示的元數(shù)據(jù)相似。也就是說,所述元數(shù)據(jù)指定了首屏關(guān)鍵元素,并包含頁面定義的首屏顯示策略。在這種情況下,所述網(wǎng)頁擁有需要首屏關(guān)鍵元素的頁面定義的首屏顯示策略。所以,在步驟802中,在判斷是否顯示所述網(wǎng)頁首屏?xí)r,可以包括與圖3中步驟303、305和306類似的流程。更進一步地,在步驟803中,顯示網(wǎng)頁首屏的過程可以包括與圖3中步驟309相同或相似的流程。

如前所述,當(dāng)首屏優(yōu)先級擴展屬性的值指示首屏顯示的優(yōu)先級為高時,則在排版完成后不生成排版區(qū)域變更請求,并且防止其他任何潛在的由于生成排版區(qū)域變更請求導(dǎo)致的必然延遲。此外,先前已經(jīng)解析和布排版的元素可以可以一次性繪制,即用單個繪制過程繪制,并且在這個繪制過程之前不進行繪制(如步驟309)。因此可以加速網(wǎng)頁的首屏顯示。

換句話說,當(dāng)首屏優(yōu)先級擴展屬性的值指示首屏顯示的優(yōu)先級為高時,在第一時刻顯示時間點和首屏顯示時間點之間,可以減少或者除去生成排版區(qū)域變更請求和屏幕繪制請求??梢詼p少被繪制排版區(qū)域所占據(jù)的處理器時間和資源,并且以高優(yōu)先級完成排版處理。另一方面,任何可能延遲首屏顯示的步驟都有較低的優(yōu)先級。

當(dāng)首屏優(yōu)先級擴展屬性的值指示首屏顯示的優(yōu)先級為普通時,則和正常顯示網(wǎng)頁的流程相同,生成排版區(qū)域變更請求和繪制請求。此時,解析、排版和繪制首屏元素的方式與處理網(wǎng)頁其余部分的元素的方式相同。

盡管在圖2至圖3以及圖6至圖8所示的流程中,各個步驟是按照一定順序執(zhí)行的。這些順序均為示意性描述。其他不脫離本發(fā)明所公開的實施例的概念和解決方案的順序均可適用。

舉例來說,元素的排版處理并不一定要在步驟303和步驟305之間。所述元素排版的步驟可以放在步驟305和步驟306之間(即在判定首屏策略擴展屬性的值不為“must”之后),或者在步驟305和步驟307之間(即在判定首屏策略擴展屬性的值為“must”之后)。

再舉一例,判斷是否滿足瀏覽器定義的首屏顯示策略時并不需要完成元素的排版處理。所以,元素的排版處理并不一定要在步驟306之前。所述元素排版的步驟可以放在步驟306和步驟307之間(即在判定瀏覽器定義的首屏顯示策略沒有滿足之后),或者在步驟305和步驟307之間(即在判定首屏策略擴展屬性的值為“must”之后)。任何其他不脫離本發(fā)明所公開的概念和解決方案的,用其他順序來實施圖2-圖3或圖6-圖7中描述的步驟均包含在本發(fā)明公開的范圍內(nèi)。

本發(fā)明所披露的實施例的公開了一種用于顯示網(wǎng)頁電子裝置。電子設(shè)備可以包括處理器,顯示系統(tǒng),存儲器,以及任何其他適當(dāng)?shù)慕M件。存儲器可以包含令所述電子設(shè)備可以實施所披露的實施例中的方法的編碼指令,如圖2-圖3和圖6-圖8所描述的方法。

所披露的實施例還公開了一種用于解決首屏顯示策略沖突的電子裝置。電子設(shè)備可以包括處理器,顯示系統(tǒng),存儲器,以及任何其他適當(dāng)?shù)慕M件。存儲器可以包含使所述電子設(shè)備可以實施所披露的實施例中的方法的編碼指令,如圖2-圖3和圖6所描述的方法。在一些實施例中,所訴顯示網(wǎng)頁的電子設(shè)備可以包括例如圖1B所示的瀏覽模塊(或瀏覽器)136??梢耘渲盟鰹g覽器來實施種所披露的用于解決首屏顯示策略沖突的方法。此外,在某些實施例中,用于解決首屏顯示策略沖突的電子裝置可以包括移動電話,智能電話,平板計算機等。

所披露的實施例還公開了一種用于加速網(wǎng)頁首屏顯示的電子裝置。所述電子設(shè)備可以包括處理器,顯示系統(tǒng),存儲器,以及任何其他適當(dāng)?shù)慕M件。所述存儲器可以包含使所述電子設(shè)備可以實施所披露的實施例中的方法的編碼指令,如-圖3和圖7-圖8所描述的方法。在一些實施例中,所訴顯示網(wǎng)頁的電子設(shè)備可以包括例如圖1B所示的瀏覽模塊(或瀏覽器)136??梢耘渲盟鰹g覽器來實施種所披露的用于加速網(wǎng)頁首屏顯示的方法。此外,在某些實施例中,用于加速網(wǎng)頁首屏顯示的電子裝置可以包括移動電話,智能電話,平板計算機等。

在各種實施方案中,所披露的方法可以通過軟件加上某些必需的通用硬件平臺來實現(xiàn)。所披露的方法也可以由硬件實現(xiàn)。與所披露的實施例中的方法相應(yīng)的部分或者全部步驟可以利用程序或軟件指示相關(guān)的硬件來完成。所述程序或軟件可以存儲在一個(非臨時性)的計算機可讀存儲介質(zhì)中,包括,例如,只讀存儲器(ROM),RAM,內(nèi)部存儲器,寄存器,計算機硬盤,可移動盤,CD-ROM,光盤,軟盤,磁盤等。所述程序或軟件可以包括編碼指令,用來指示計算機系統(tǒng)如一個客戶端,來執(zhí)行所披露的實施例中的方法。所述客戶端可以包括,例如,移動電話,智能電話,平板計算機,通用計算機等。

本文所用的術(shù)語“包括”或“含有”,或任何其他變體,意在涵蓋非排他性的包括,使得包括一系列元素的過程,方法,物品或裝置可以不僅包括所述的系列元素,而且還包括其它未明確列出的元素,或在這樣的過程,方法,物品或裝置固有的元素。如果沒有進一步的限制,由語句中定義的元素“包括一個……”不排除可能包括在所述過程,方法,物品或裝置中的多個與所述元素相同的元件。

以上公開的僅為本申請的幾個具體實施例,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,任何本領(lǐng)域的技術(shù)人員能思之的變化,都應(yīng)落在本申請的保護范圍內(nèi)。

工業(yè)實用性和有益效果

在不限制任何權(quán)利要求和/或說明書的保護范圍情況下,所披露的實施例的工業(yè)適用性和有益效果僅用于說明的目的。對于本領(lǐng)域技術(shù)人員顯而易見的各種替換,修改或等同于所公開的實施例的技術(shù)方案都可以包括在本申請的保護范圍內(nèi)。

所披露的用于顯示網(wǎng)頁的方法和電子設(shè)備,可應(yīng)用在各種涉及接收和顯示信息的移動設(shè)備中。所述應(yīng)用可以包括,但不限于,在移動電話,平板電腦,個人數(shù)字助理,POS(point of sales,銷售點),車載電腦,或任何其他合適的電子設(shè)備上顯示網(wǎng)頁。

在與所披露的實施例相一致的方法中,可以獲取一個網(wǎng)頁的元數(shù)據(jù)。元數(shù)據(jù)可以指定首屏關(guān)鍵元素,并且包括首屏策略擴展屬性。首屏策略擴展屬性的值可以指示頁面定義的首屏顯示策略是強制的還是可選的。解析一個元素來判斷所述元素是否為所述首屏關(guān)鍵元素。當(dāng)所述元素是首屏關(guān)鍵元素,則顯示網(wǎng)頁首屏。當(dāng)所述元素不是首屏關(guān)鍵元素而且首屏顯示條件得到滿足,則顯示網(wǎng)頁首屏。首屏顯示條件可以是首屏策略擴展屬性的值的函數(shù)。

利用所披露的方法,可以更快和/或更準確地顯示網(wǎng)頁的首屏,并且網(wǎng)頁開發(fā)人員也可以對網(wǎng)頁首屏的顯示流程有更好的控制。

即使是對于包含會影響處理時間的特殊內(nèi)容的網(wǎng)頁,瀏覽器可以使用元數(shù)據(jù)更簡單的判斷首屏顯示的時間點。因此,可以防止在判定首屏顯示時間點時遇到的困難而造成的延遲。

進一步地,利用所披露的方法,網(wǎng)頁開發(fā)人員可以確保根據(jù)其設(shè)計意圖來顯示網(wǎng)頁首屏。另外,網(wǎng)頁開發(fā)人員可以定義在網(wǎng)頁的首屏上顯示的內(nèi)容,這樣在兩個不同的電子設(shè)備上顯示的網(wǎng)頁首屏內(nèi)容均可相同。

再者,元數(shù)據(jù)可以包括首屏優(yōu)先級擴展屬性“priority”的值,以用來指定首屏顯示的優(yōu)先級。當(dāng)該值指示首屏顯示是高優(yōu)先級的,則在排版完成后不生成排版區(qū)域變更請求,并且防止其他任何潛在的由于生成排版區(qū)域變更請求導(dǎo)致的必然延遲。此外,先前已經(jīng)解析和布排版的元素可以一次性繪制,即用單個繪制過程繪制,并且在這個繪制過程之前不進行繪制。更進一步地,開發(fā)人員還能夠控制在首屏上顯示各個元素的順序,例如是同時顯示首屏內(nèi)容還是逐漸顯示首屏內(nèi)容。

參考標記列表

客戶端 100a

客戶端 100b

客戶端 100c

服務(wù)器 200a

服務(wù)器 200b

網(wǎng)絡(luò) 300

電子設(shè)備 100

存儲器 102

通信總線或信號線 103

芯片 104

輸入/輸出(I/O)子系統(tǒng) 106

射頻電路 108

音頻電路 110

揚聲器 111

顯示系統(tǒng) 112

麥克風(fēng) 113

其他輸入或控制設(shè)備 116

外設(shè)接口 118

處理器(CPU) 120

存儲控制器 122

外部接口 124

操作系統(tǒng) 126

通信模塊(或通信指令集) 128

接觸/動作模塊(或接觸/動作指令集) 130

圖形模塊(或圖形指令集) 132

文本輸入模塊(或文本輸入指令集) 134

瀏覽模塊 136

顯示控制器 156

輸入控制器 160

電源系統(tǒng) 162

光學(xué)傳感器 164

距離傳感器 166

加速計 168

<meta>標簽 401

元素 402

其他元素 403

指令 501

指令 502

指令 503

指令 504

指令 505

指令 506

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
谷城县| 深水埗区| 新巴尔虎右旗| 汾西县| 邵武市| 石楼县| 兴和县| 屏山县| 新建县| 镇原县| 深州市| 固原市| 台南县| 永定县| 祁东县| 海城市| 通州区| 昭平县| 文水县| 常山县| 沙河市| 肥乡县| 高要市| 武安市| 丰城市| 富民县| 伊宁县| 神池县| 漠河县| 泗阳县| 卢龙县| 沅江市| 友谊县| 乐安县| 宣汉县| 曲麻莱县| 韶关市| 昌宁县| 台前县| 尉氏县| 石台县|