本發(fā)明涉及一種用于在顯示裝置的顯示區(qū)域內(nèi)顯示數(shù)據(jù)集的選定部分的方法。更具體地,但不排他地,本發(fā)明涉及一種在顯示裝置的顯示區(qū)域內(nèi)顯示數(shù)據(jù)集的選定部分的方法,其中,數(shù)據(jù)集涉及結(jié)構(gòu)化文檔。數(shù)據(jù)集可從利用標(biāo)記語(yǔ)言(諸如HTML)描述的內(nèi)容和/或從一個(gè)或多個(gè)工作區(qū)數(shù)據(jù)項(xiàng)(包括電子郵件、日歷條目、聯(lián)系人等)獲得。其內(nèi)可顯示數(shù)據(jù)集的選定部分的顯示裝置可以是監(jiān)視器或觸屏顯示器,所述監(jiān)視器或觸屏顯示器被連接至計(jì)算裝置或者被嵌入計(jì)算裝置內(nèi)。
背景技術(shù):已知互聯(lián)網(wǎng)瀏覽器可被配置為在顯示裝置的顯示區(qū)域內(nèi)顯示數(shù)據(jù)集的一部分,諸如與超文本標(biāo)記語(yǔ)言(HTML)文件有關(guān)的數(shù)據(jù)集。由于在顯示區(qū)域內(nèi)可能沒有足夠空間來顯示整個(gè)數(shù)據(jù)集,所以在顯示區(qū)域內(nèi)任一時(shí)刻僅可顯示數(shù)據(jù)集的一部分。當(dāng)顯示數(shù)據(jù)集時(shí),互聯(lián)網(wǎng)瀏覽器處理數(shù)據(jù)集以識(shí)別并隨后顯示位于待顯示部分內(nèi)的數(shù)據(jù)集的元素;然而,盡管將僅渲染數(shù)據(jù)集的子集這一事實(shí),但這通常需要瀏覽器處理數(shù)據(jù)集中的所有元素。本發(fā)明的目的在于提供一種用于在顯示裝置的顯示區(qū)域內(nèi)顯示數(shù)據(jù)集的選定部分的改進(jìn)方法。
技術(shù)實(shí)現(xiàn)要素:根據(jù)本公開的一個(gè)方面,提供了一種根據(jù)所附權(quán)利要求所述的用于在顯示裝置(諸如監(jiān)視器或觸屏顯示器)的顯示區(qū)域內(nèi)顯示數(shù)據(jù)集的選定部分的方法。所述方法的優(yōu)選特征在從屬權(quán)利要求中闡述。本文中描述的實(shí)施方式涉及提供一種用于在顯示裝置的顯示區(qū)域內(nèi)顯示數(shù)據(jù)集的選定部分的方法,其中,所述數(shù)據(jù)集包括多個(gè)元素以及限定多個(gè)元素組的用于所述元素的分組信息,每個(gè)所述組包括較高級(jí)別元素和一個(gè)或多個(gè)較低級(jí)別元素,所述方法包括:處理用于所述多個(gè)元素的布局信息以識(shí)別為在所述顯示區(qū)域中顯示而被渲染的一個(gè)或多個(gè)元素,所述布局信息指示由所述數(shù)據(jù)集的布局區(qū)域內(nèi)的相應(yīng)元素占據(jù)的區(qū),基于由相應(yīng)元素占據(jù)的所述區(qū)是否與所述數(shù)據(jù)集的所述布局區(qū)域的選定部分相對(duì)應(yīng)來識(shí)別所述元素;渲染所識(shí)別的元素;以及在所述顯示裝置的所述顯示區(qū)域中顯示所渲染的元素的至少一部分,其中,對(duì)待渲染的所述元素的識(shí)別包括處理在由所述分組信息限定的組中的所述元素,所述處理包括根據(jù)所述組中的較高級(jí)別元素相對(duì)于所述組中的一個(gè)或多個(gè)較低級(jí)別元素是否具有預(yù)定義空間關(guān)系來不同地處理所述組。通過根據(jù)組中較高級(jí)別元素相對(duì)于所述組中的一個(gè)或多個(gè)較低級(jí)別元素是否具有預(yù)定義空間關(guān)系來不同地處理元素組,本發(fā)明的實(shí)施方式能利用數(shù)據(jù)集內(nèi)的分組信息,并隨后以每個(gè)組為基礎(chǔ)根據(jù)這一預(yù)定義空間關(guān)系來處理數(shù)據(jù)集。更具體地,所述方法能更高效地處理作為已識(shí)別預(yù)定義空間關(guān)系的組成員的元素。預(yù)定義空間關(guān)系可指示組中一個(gè)或多個(gè)較低級(jí)別元素是否占據(jù)數(shù)據(jù)集布局區(qū)域內(nèi)的處于由組中的較高級(jí)別元素占據(jù)的區(qū)內(nèi)的區(qū)。若組中的一個(gè)或多個(gè)較低級(jí)別元素的至少一個(gè)占據(jù)在由較高級(jí)別元素占據(jù)的區(qū)之外的區(qū),則所述組不具有預(yù)定義關(guān)系。有向無環(huán)圖(DAG)是數(shù)據(jù)集的一個(gè)實(shí)例。DAG包括一組頂點(diǎn),且數(shù)據(jù)集的多個(gè)元素中的每個(gè)元素可與DAG中的頂點(diǎn)相對(duì)應(yīng)。DAG包括一組有向邊,其中,每個(gè)邊從第一頂點(diǎn)連接到第二頂點(diǎn)。每個(gè)邊可因此定義較高級(jí)別元素(即,與邊從其開始連接的頂點(diǎn)相對(duì)應(yīng)的元素)與較低級(jí)別元素(即,與邊所連接到的頂點(diǎn)相對(duì)應(yīng)的元素)之間的關(guān)系。DAG的邊的集合可因此對(duì)應(yīng)于數(shù)據(jù)集的分組信息。在本發(fā)明的實(shí)施方式中,數(shù)據(jù)集可與結(jié)構(gòu)化文檔有關(guān)。數(shù)據(jù)集中的多個(gè)元素可以元素層級(jí)來組織,且這一元素層級(jí)可定義分組信息。元素層級(jí)中的每個(gè)元素可對(duì)應(yīng)于對(duì)象層級(jí)中的對(duì)象,該對(duì)象層級(jí)形成文檔對(duì)象模型(DOM)樹。該DOM樹可表示結(jié)構(gòu)化文檔。每個(gè)元素可因此與例如HTML<p>標(biāo)簽或HTML<a>標(biāo)簽或者HTML<div>標(biāo)簽等相對(duì)應(yīng),HTML<p>標(biāo)簽表示一段文本,HTML<a>標(biāo)簽表示超鏈接,HTML<div>標(biāo)簽表示分段或節(jié),每個(gè)標(biāo)簽可形成結(jié)構(gòu)化文檔的一部分。元素可包括零個(gè)或多個(gè)子元素,所述子元素形成元素層級(jí)中低于所述元素級(jí)別的級(jí)別的一部分。元素層級(jí)中的每個(gè)元素可對(duì)應(yīng)于節(jié)點(diǎn)層級(jí)中的節(jié)點(diǎn),該節(jié)點(diǎn)層級(jí)形成DOM樹中對(duì)象層級(jí)的中間表示。DOM樹的中間表示可被構(gòu)造以在渲染選定部分時(shí)允許結(jié)構(gòu)化文檔比可以在處理DOM樹本身的情況下所處理的更高效地被處理。該數(shù)據(jù)集可另外或者可替代地與一組工作區(qū)數(shù)據(jù)項(xiàng)(諸如電子郵件、日歷條目等)有關(guān)。元素層級(jí)中的一個(gè)或多個(gè)元素可至少部分從所述集中的工作區(qū)數(shù)據(jù)項(xiàng)(諸如電子郵件、日歷條目等)獲得,使得當(dāng)例如可用電子郵件的選定部分被顯示時(shí),與電子郵件或日歷條目有關(guān)的信息可被顯示在顯示裝置的顯示區(qū)域內(nèi)。數(shù)據(jù)集可另外或者可替代地與圖像有關(guān)。元素層級(jí)中的一個(gè)或多個(gè)元素可與形成該圖像的一部分的形狀或?qū)ο笙鄬?duì)應(yīng),且可從利用標(biāo)記語(yǔ)言描述的內(nèi)容(例如,基于XML的語(yǔ)言,諸如可縮放矢量圖形(SVG))獲得。該數(shù)據(jù)集可另外或者可替代地與數(shù)學(xué)方程有關(guān)。元素層級(jí)中的一個(gè)或多個(gè)元素可與形成該數(shù)學(xué)方程的一部分的形狀或?qū)ο笙鄬?duì)應(yīng),且可從利用標(biāo)記語(yǔ)言描述的內(nèi)容(例如,基于XML的語(yǔ)言,諸如數(shù)學(xué)標(biāo)記語(yǔ)言(MathML))獲得。如分組信息中定義的組的實(shí)例為如下:組可包括第一元素,該第一元素為組中的較高級(jí)別元素,且該第一元素的子元素為組中的較低級(jí)別元素??商娲?,組可包括多個(gè)較低級(jí)別,第一較低級(jí)別包括一個(gè)或多個(gè)元素,所述一個(gè)或多個(gè)元素為組中的較高級(jí)別元素的子代,第二較低級(jí)別包括一個(gè)或多個(gè)元素,所述一個(gè)或多個(gè)元素為較高級(jí)別元素的子代,等等。組因此通常包括較高級(jí)別元素以及組中較高級(jí)別元素的所有后裔。因此,在一種排布中,根據(jù)由較高級(jí)別元素的所有后裔占據(jù)的區(qū)是否占據(jù)其內(nèi)由組中的較高級(jí)別元素占據(jù)的區(qū),可確定上述預(yù)定義空間關(guān)系。這可從布局信息獲得,例如,該布局信息指示由數(shù)據(jù)集的布局區(qū)域內(nèi)的相應(yīng)元素占據(jù)的區(qū)。數(shù)據(jù)集的布局區(qū)域可以是整個(gè)結(jié)構(gòu)化文檔可占據(jù)的區(qū)域。數(shù)據(jù)集布局區(qū)域的選定部分可以是結(jié)構(gòu)化文檔的一部分,所述結(jié)構(gòu)化文檔的一部分已被選定為用于在顯示區(qū)域中顯示以允許查看這一部分。若由相應(yīng)元素占據(jù)的區(qū)至少部分占據(jù)在布局區(qū)域的選定部分內(nèi)的區(qū),則所述區(qū)可與數(shù)據(jù)集的布局區(qū)域的選定部分相對(duì)應(yīng)。因此,為渲染而識(shí)別的元素是為在顯示區(qū)域中顯示而被渲染的那些元素,因?yàn)樗鼈冋紦?jù)在數(shù)據(jù)集的選定部分內(nèi)的區(qū)。有利地,本發(fā)明允許基于組的處理作為該處理的一部分,由此基于組中較高級(jí)別元素相對(duì)于由組中較低級(jí)別元素占據(jù)的區(qū)是否具有預(yù)定義空間關(guān)系來不同地處理組。更具體地,待渲染元素的識(shí)別優(yōu)選包括處理組中的所述元素,所述組包括:包括處在所述第一較低級(jí)別的一個(gè)或多個(gè)較低級(jí)別元素和處在所述第二較低級(jí)別的一個(gè)或多個(gè)較低級(jí)別元素的組;以及包括來自所述組的元素的一個(gè)或多個(gè)較低級(jí)別組,所述較低級(jí)別組不包括所述較高級(jí)別元素且包括處在所述第一較低級(jí)別的元素和處在所述第二較低級(jí)別的一個(gè)或多個(gè)元素,組中所述元素的處理包括:根據(jù)由所述組中的所述較高級(jí)別元素占據(jù)的區(qū)相對(duì)于由所述組中的所述較低級(jí)別元素占據(jù)的區(qū)是否具有預(yù)定義空間關(guān)系來不同地處理所述組;以及若由所述組中的所述較高級(jí)別元素占據(jù)的所述區(qū)相對(duì)于由所述組中的所述較低級(jí)別元素占據(jù)的所述區(qū)不具有所述預(yù)定義空間關(guān)系,則根據(jù)由第一較低級(jí)別組中的第一較低級(jí)別元素占據(jù)的區(qū)相對(duì)于由所述較低級(jí)別組中的一個(gè)或多個(gè)第二較低級(jí)別元素占據(jù)的區(qū)是否具有預(yù)定義空間關(guān)系來不同地處理所述一個(gè)或多個(gè)較低級(jí)別元素的組。組的處理可包括處理組中所有元素或者僅處理組中的一部分元素?;诮M中較高級(jí)別元素相對(duì)于組中的一個(gè)或多個(gè)較低級(jí)別元素是否具有預(yù)定義空間關(guān)系,可進(jìn)行處理所有元素或者僅處理一部分元素。因此,在組具有預(yù)定義空間關(guān)系使得所有較低級(jí)別元素與較高級(jí)別元素共同定位的情況下,所述處理包括:確定由所述較高級(jí)別元素占據(jù)的所述區(qū)與所述數(shù)據(jù)集的所述布局區(qū)域的所述選定部分之間的對(duì)應(yīng)關(guān)系;以及選擇不確定由所述較低級(jí)別元素中的至少一個(gè)占據(jù)的所述區(qū)與所述數(shù)據(jù)集的所述布局區(qū)域的所述選定部分之間的對(duì)應(yīng)關(guān)系。因此,對(duì)于所有較低級(jí)別元素共同位于由組中較高級(jí)別元素占據(jù)的區(qū)內(nèi)的組,沒必要確定介于布局區(qū)域的選定部分與由較低級(jí)別元素占據(jù)的區(qū)之間的對(duì)應(yīng)關(guān)系。因此,且當(dāng)較高級(jí)別元素不位于選定部分內(nèi)時(shí),當(dāng)渲染數(shù)據(jù)集時(shí)總體上需要較少處理,因?yàn)檩^低級(jí)別元素可被完全忽略。相反,對(duì)于較低級(jí)別元素中的一個(gè)或多個(gè)不共同位于由組中的較高級(jí)別元素占據(jù)的區(qū)內(nèi)的組,在一個(gè)或多個(gè)較低級(jí)別元素的位置與選定部分重疊的情況下,確定介于布局區(qū)域的選定部分與由較低級(jí)別元素占據(jù)的區(qū)之間的對(duì)應(yīng)關(guān)系。組內(nèi)元素之間的預(yù)定義空間關(guān)系優(yōu)選通過組布局信息來捕獲,且在所述處理期間被用于識(shí)別為在所述顯示區(qū)域中顯示而被渲染的一個(gè)或多個(gè)元素。此外,組布局信息可在元素渲染之前的適當(dāng)時(shí)候被生成并存儲(chǔ)。當(dāng)所述組布局信息被存儲(chǔ)時(shí),它可以以下方式被重復(fù)使用:處理包括存儲(chǔ)的所述組布局信息的布局信息,以在所述數(shù)據(jù)集的所述布局區(qū)域的所述選定部分覆蓋所述數(shù)據(jù)集的所述布局區(qū)域的第一部分時(shí)識(shí)別為在所述顯示區(qū)域中顯示而被渲染的一個(gè)或多個(gè)元素;以及重新處理包括存儲(chǔ)的所述組布局信息的所述布局信息,以在所述數(shù)據(jù)集的所述布局區(qū)域的所述選定部分覆蓋所述數(shù)據(jù)集的所述布局區(qū)域的第二不同部分時(shí)識(shí)別為在所述顯示區(qū)域中顯示而被渲染的一個(gè)或多個(gè)元素。可替代地,每當(dāng)數(shù)據(jù)集布局區(qū)域的選定部分改變時(shí),諸如當(dāng)滾動(dòng)布局區(qū)域的選定部分以使數(shù)據(jù)集的不同部分被查看時(shí),可使用組布局信息。組布局信息可因此通過允許多個(gè)元素組中的組被不同地處理多次來提供另外的處理益處。此外,所存儲(chǔ)的組布局信息可被用于對(duì)布局信息的處理(包括對(duì)所述存儲(chǔ)的組布局信息的處理)以識(shí)別為在所述顯示區(qū)域中顯示而被渲染的一個(gè)或多個(gè)元素,當(dāng)所述一個(gè)或多個(gè)元素在第一顯示狀態(tài)下被渲染時(shí),存儲(chǔ)的選擇數(shù)據(jù)識(shí)別所識(shí)別的元素并渲染該識(shí)別的元素;以及當(dāng)所述一個(gè)或多個(gè)元素在第二不同顯示狀態(tài)下被渲染時(shí),基于所述存儲(chǔ)的選擇數(shù)據(jù)來重新渲染所識(shí)別的元素。因此,組布局信息可被使用多次,例如,每當(dāng)一個(gè)或多個(gè)元素的顯示狀態(tài)改變時(shí),諸如當(dāng)元素的顏色改變時(shí),可使用它。組布局信息可因此通過允許多個(gè)元素組中的組被不同地處理多次來提供另外的處理益處。在特別有益的排布中,限定至少一個(gè)新元素組,由此產(chǎn)生與數(shù)據(jù)集相關(guān)聯(lián)的修改后的分組信息。新元素組可既包括分組信息中限定的原始組的原始較低級(jí)別元素的子集,又包括處于比所述子集中的元素更高級(jí)別的配置元素。原始組中的原始較高級(jí)別元素處于比配置元素更高的級(jí)別。與在新組添加之前所需的這種處理量相比,當(dāng)識(shí)別用于渲染數(shù)據(jù)集的選定部分的元素時(shí),對(duì)該新元素組的引入可提供處理上的減少,其中特別地,原始較低級(jí)別元素包括相對(duì)大量的元素。例如,若在識(shí)別用于渲染的元素時(shí),新組的配置元素與數(shù)據(jù)集的選定部分不對(duì)應(yīng),則新組中原始較低級(jí)別元素的子集無需處理以識(shí)別用于渲染的元素,即使配置元素(即,原始較高級(jí)別元素)的父代及其其他子代需要處理以識(shí)別用于渲染的元素。相反,在新組添加之前,若較高級(jí)別元素需要該處理,則較高級(jí)別元素的所有子代將需要處理以識(shí)別用于渲染的元素。另一示例性實(shí)施方式提供了一種計(jì)算機(jī)裝置,被設(shè)置為在顯示裝置的顯示區(qū)域內(nèi)顯示數(shù)據(jù)集的選定部分,其中,所述數(shù)據(jù)集包括多個(gè)元素以及限定多個(gè)元素組的用于所述元素的分組信息,每個(gè)所述組包括較高級(jí)別元素和一個(gè)或多個(gè)較低級(jí)別元素,所述計(jì)算機(jī)裝置包括:處理裝置,用于處理用于所述多個(gè)元素的布局信息以識(shí)別為在所述顯示區(qū)域中顯示而被渲染的一個(gè)或多個(gè)元素,所述布局信息指示由所述數(shù)據(jù)集的布局區(qū)域內(nèi)的相應(yīng)元素占據(jù)的區(qū),基于由相應(yīng)元素占據(jù)的所述區(qū)是否與所述數(shù)據(jù)集的所述布局區(qū)域的選定部分相對(duì)應(yīng)來識(shí)別所述元素;渲染裝置,用于渲染所識(shí)別的元素;以及顯示裝置,用于在所述顯示裝置的所述顯示區(qū)域中顯示所渲染的元素的至少一部分,其中,對(duì)待渲染的所述元素的識(shí)別包括處理在由所述分組信息限定的組中的所述元素,所述處理包括根據(jù)所述組中的較高級(jí)別元素相對(duì)于所述組中的一個(gè)或多個(gè)較低級(jí)別元素是否具有預(yù)定義空間關(guān)系來不同地處理所述組。優(yōu)選地,所述計(jì)算機(jī)裝置是以計(jì)算裝置為形式的用戶終端,諸如計(jì)算機(jī)、智能手機(jī)、iPad(TM)、PDA等。處理裝置可以處理器來實(shí)現(xiàn),該處理器被配置為執(zhí)行計(jì)算機(jī)軟件以處理針對(duì)所述多個(gè)元素的布局信息,從而識(shí)別為在所述顯示區(qū)域中顯示而被渲染的一個(gè)或多個(gè)元素。渲染裝置可以處理器(例如,CPU)和/或圖形處理器(例如,GPU)來實(shí)現(xiàn),該處理器(例如,CPU)和/或圖形處理器(例如,GPU)被配置為執(zhí)行計(jì)算機(jī)軟件以渲染所識(shí)別的元素。顯示裝置可以圖形處理組件(例如,圖形卡和/或GPU)來實(shí)現(xiàn),該圖形處理組件用于在顯示裝置的顯示區(qū)域中顯示被渲染元素的至少一部分,該圖形處理組件可被連接至該顯示裝置。根據(jù)其他示例性實(shí)施方式,提供了一種計(jì)算機(jī)程序產(chǎn)品,包括其上存儲(chǔ)有計(jì)算機(jī)可讀指令的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀指令可由計(jì)算化裝置執(zhí)行以使所述計(jì)算化裝置執(zhí)行用于在顯示裝置的顯示區(qū)域內(nèi)顯示數(shù)據(jù)集的選定部分的方法,其中,所述數(shù)據(jù)集包括多個(gè)元素以及限定多個(gè)元素組的用于所述元素的分組信息,每個(gè)所述組包括較高級(jí)別元素和一個(gè)或多個(gè)較低級(jí)別元素,所述方法包括:處理用于所述多個(gè)元素的布局信息以識(shí)別為在所述顯示區(qū)域中顯示而被渲染的一個(gè)或多個(gè)元素,所述布局信息指示由所述數(shù)據(jù)集的布局區(qū)域內(nèi)的相應(yīng)元素占據(jù)的區(qū),基于由相應(yīng)元素占據(jù)的所述區(qū)是否與所述數(shù)據(jù)集的所述布局區(qū)域的選定部分相對(duì)應(yīng)來識(shí)別所述元素;渲染所識(shí)別的元素;以及在所述顯示裝置的所述顯示區(qū)域中顯示所渲染的元素的至少一部分,其中,對(duì)待渲染的所述元素的識(shí)別包括處理在由所述分組信息限定的組中的所述元素,所述處理包括根據(jù)所述組中的較高級(jí)別元素相對(duì)于所述組中的一個(gè)或多個(gè)較低級(jí)別元素是否具有預(yù)定義空間關(guān)系來不同地處理所述組。附圖說明圖1示出了根據(jù)現(xiàn)有技術(shù)的表示結(jié)構(gòu)化文檔的一種示例性數(shù)據(jù)集。圖2示意性示出了根據(jù)本發(fā)明實(shí)施方式的計(jì)算裝置的組件。圖3示出了由圖2中根據(jù)本發(fā)明實(shí)施方式的計(jì)算裝置的瀏覽器執(zhí)行的步驟。圖4a至圖4d示出了由根據(jù)本發(fā)明實(shí)施方式的數(shù)據(jù)集的對(duì)象占據(jù)的區(qū)域。圖5示出了由圖2中根據(jù)本發(fā)明實(shí)施方式的計(jì)算裝置的瀏覽器執(zhí)行的步驟。圖6示出了與結(jié)構(gòu)化文檔有關(guān)的示例性數(shù)據(jù)集和所述數(shù)據(jù)集的兩個(gè)選定部分。圖7示出了由圖2中根據(jù)本發(fā)明實(shí)施方式的計(jì)算裝置的瀏覽器執(zhí)行的步驟。圖8a至圖8d示出了根據(jù)本發(fā)明實(shí)施方式的數(shù)據(jù)集的對(duì)象。具體實(shí)施方式本發(fā)明涉及一種用于在顯示裝置的顯示區(qū)域內(nèi)顯示數(shù)據(jù)集的選定部分的方法。本發(fā)明例如可被用于顯示與結(jié)構(gòu)化文檔、圖像或數(shù)學(xué)方程、或者對(duì)象(諸如以電子郵件、日歷條目、聯(lián)系人、文件夾等為形式的工作區(qū)數(shù)據(jù))有關(guān)的數(shù)據(jù)集。在本發(fā)明的一種實(shí)施方式中,數(shù)據(jù)集可與結(jié)構(gòu)化文檔有關(guān),該結(jié)構(gòu)化文檔可至少部分從利用標(biāo)記語(yǔ)言描述的內(nèi)容(例如,諸如超文本標(biāo)記語(yǔ)言(HTML))來獲得。該內(nèi)容可包括HTML標(biāo)簽的層級(jí),諸如<p>、<div>等,該HTML標(biāo)簽限定了結(jié)構(gòu)化文檔的結(jié)構(gòu)和特性。已知互聯(lián)網(wǎng)瀏覽器(以下被稱為瀏覽器)被配置為顯示所述結(jié)構(gòu)化文檔。為顯示結(jié)構(gòu)化文檔,瀏覽器從HTML標(biāo)簽層級(jí)構(gòu)造表示該結(jié)構(gòu)化文檔的對(duì)象層級(jí)。該對(duì)象層級(jí)在本領(lǐng)域中被稱為文檔對(duì)象模型(DOM)樹,并構(gòu)成與結(jié)構(gòu)化文檔有關(guān)的數(shù)據(jù)集。圖1示出了用于根據(jù)現(xiàn)有技術(shù)來表示結(jié)構(gòu)化文檔的HTML內(nèi)容的一部分的示例性DOM樹。該DOM樹可包括對(duì)象層級(jí),該對(duì)象包括表示DOM樹頂部的根對(duì)象100。DOM樹中的對(duì)象可包括零個(gè)或多個(gè)對(duì)象,被稱為給定對(duì)象的子代;例如,對(duì)象104具有子代118,以及對(duì)象106具有子代110和112。除根對(duì)象100之外,DOM樹中的每個(gè)對(duì)象均具有父對(duì)象;例如,對(duì)象108的父代為對(duì)象102。圖1的DOM樹中的對(duì)象100-112對(duì)應(yīng)于HTML內(nèi)容中的標(biāo)簽。圖1中的對(duì)象114-118對(duì)應(yīng)于父標(biāo)簽內(nèi)包括的文本,這些對(duì)象的特性至少部分由父標(biāo)簽限定。例如,對(duì)象116對(duì)應(yīng)于已由其父標(biāo)簽108標(biāo)記為斜體的文本。瀏覽器另外使用由HTML內(nèi)容引用的級(jí)聯(lián)樣式表(CSS)數(shù)據(jù)以顯示結(jié)構(gòu)化文檔。瀏覽器可將存儲(chǔ)于單獨(dú)文件中由HTML內(nèi)容引用的CSS數(shù)據(jù)與嵌入HTML內(nèi)容中的CSS數(shù)據(jù)結(jié)合起來使用。DOM樹中的對(duì)象可指示在CSS數(shù)據(jù)中限定的樣式信息應(yīng)被用于影響對(duì)象特性。DOM樹中的對(duì)象也可從其父代(或者從其父代的父代等)“繼承”在CSS數(shù)據(jù)中限定的樣式信息,所述樣式信息應(yīng)被用于影響對(duì)象特性。DOM樹中的每個(gè)對(duì)象可利用來自由對(duì)象指示和/或由對(duì)象繼承的CSS數(shù)據(jù)的樣式信息來注釋。DOM樹隨后由瀏覽器處理以在顯示區(qū)域內(nèi)顯示與文檔有關(guān)的數(shù)據(jù)集的至少一部分。DOM樹處理可包括來自DOM樹的結(jié)構(gòu)化文檔的中間表示的產(chǎn)生、DOM樹中(或者相應(yīng)的中間表示中)在數(shù)據(jù)集的布局區(qū)域內(nèi)的對(duì)象布局計(jì)算以及DOM樹中(或者相應(yīng)的中間表示中)位于顯示區(qū)域內(nèi)的選定對(duì)象的渲染。本發(fā)明提供了一種用于在顯示裝置的顯示區(qū)域內(nèi)顯示數(shù)據(jù)集(諸如與以上參照?qǐng)D1描述的結(jié)構(gòu)化文檔有關(guān)的示例性數(shù)據(jù)集)的選定部分的改進(jìn)方法?,F(xiàn)將在計(jì)算裝置背景下詳細(xì)描述本發(fā)明,該計(jì)算裝置可被配置為執(zhí)行本發(fā)明。圖2示意性示出了所述計(jì)算裝置200的組件,該計(jì)算裝置200是用于示出本發(fā)明特征的示例性裝置。計(jì)算裝置200可采用計(jì)算機(jī)服務(wù)器、臺(tái)式計(jì)算機(jī)、智能手機(jī)、個(gè)人數(shù)字助理(PDA)、電子閱讀器、平板電腦(諸如蘋果iPad)等形式。計(jì)算裝置200包括處理器202,該處理器202能發(fā)送控制消息到計(jì)算裝置200內(nèi)連接至系統(tǒng)總線204的組件,從所述組件接收狀態(tài)信息以及發(fā)送數(shù)據(jù)到所述組件和從所述組件接收數(shù)據(jù),其中,這些組件可包括非易失性存儲(chǔ)裝置206、隨機(jī)存取存儲(chǔ)器208、用戶輸入接口210、網(wǎng)絡(luò)接口212和圖形處理組件214。處理器202(在本實(shí)施方式中為微處理器)處理已從非易失性存儲(chǔ)裝置206加載的存儲(chǔ)于隨機(jī)存取存儲(chǔ)器(RAM)208中的指令,該非易失性存儲(chǔ)裝置206例如可以是快閃存儲(chǔ)器或硬盤驅(qū)動(dòng)器。這些指令是以一個(gè)或多個(gè)程序?yàn)樾问降挠?jì)算機(jī)軟件的形式,所述一個(gè)或多個(gè)程序?qū)嵤┎僮飨到y(tǒng)218和瀏覽器220。RAM208還通過在作為以電子信號(hào)形式存儲(chǔ)和訪問數(shù)據(jù)的裝置的處理器202上運(yùn)行的程序來使用,其中,數(shù)據(jù)在程序執(zhí)行期間被使用。操作系統(tǒng)218是以程序或程序集為形式的計(jì)算機(jī)軟件,這些程序的指令由處理器202從非易失性存儲(chǔ)器206加載并在計(jì)算裝置200開啟時(shí)被執(zhí)行。操作系統(tǒng)218可自動(dòng)啟動(dòng)其他程序和/或可允許用戶例如經(jīng)由下文描述的由操作系統(tǒng)218提供的用戶接口218來啟動(dòng)其他程序。操作系統(tǒng)218能使由處理器202提供的處理能力在處理器202上運(yùn)行的程序(例如,220)之間共享。操作系統(tǒng)218為在處理器202上運(yùn)行的程序提供編程接口,以允許它們從操作系統(tǒng)218請(qǐng)求功能。該編程接口可采用程序形式,即系統(tǒng)調(diào)用,在處理器202上運(yùn)行的程序可使用系統(tǒng)調(diào)用來調(diào)用操作系統(tǒng)218并請(qǐng)求它提供所需功能。響應(yīng)于接收對(duì)功能的請(qǐng)求,操作系統(tǒng)218可發(fā)送控制消息到被連接至系統(tǒng)總線204的組件(例如,206、208、210、212、214),從所述組件接收狀態(tài)信息,發(fā)送數(shù)據(jù)到所述組件和/或從所述組件接收數(shù)據(jù),以便提供所請(qǐng)求的功能,且還可將數(shù)據(jù)作為結(jié)果返回至請(qǐng)求程序。操作系統(tǒng)218可提供用于存儲(chǔ)、修改和訪問保存于非易失性存儲(chǔ)器206中的文件的文件系統(tǒng)。該文件系統(tǒng)可經(jīng)由由操作系統(tǒng)218提供的編程接口訪問在處理器202上運(yùn)行的其他程序。計(jì)算裝置200包括圖形處理組件214,該圖形處理組件214能根據(jù)由在處理器202上運(yùn)行的程序做出的命令來渲染圖形,并將這些圖形輸出到顯示裝置216。顯示裝置216可以是經(jīng)由復(fù)合視頻、分量視頻、視頻圖形陣列、數(shù)字可視接口或高清晰度多媒體接口連接被連接至計(jì)算裝置200的計(jì)算機(jī)監(jiān)視器,諸如TFT監(jiān)視器。在本發(fā)明的替代性實(shí)施方式中,顯示裝置216可被結(jié)合在計(jì)算裝置200內(nèi),例如,顯示裝置216可以是嵌入智能手機(jī)內(nèi)的觸屏顯示器。在處理器202上運(yùn)行的程序可處理從用戶輸入接口210獲得的用戶輸入,該用戶輸入接口210從單個(gè)或多個(gè)用戶輸入裝置(未示出)接收用戶輸入??杀挥糜诎l(fā)送用戶輸入到用戶輸入接口210的用戶輸入裝置例如可包括小鍵盤、鍵盤、鼠標(biāo)、遠(yuǎn)程控制和/或觸屏接口。用戶輸入裝置可經(jīng)由有線或無線連接而被連接至計(jì)算裝置200,或者可替代地被結(jié)合在計(jì)算裝置200內(nèi)。計(jì)算裝置200還包括網(wǎng)絡(luò)接口212(或多個(gè)這種接口),該網(wǎng)絡(luò)接口212允許在處理器202上運(yùn)行的程序經(jīng)由通信網(wǎng)絡(luò)230(或多個(gè)這種網(wǎng)絡(luò))發(fā)送數(shù)據(jù)到許多其他裝置和系統(tǒng)以及從許多其他裝置和系統(tǒng)接收數(shù)據(jù)。網(wǎng)絡(luò)接口212(或多個(gè)這種接口)可包括無線電訪問網(wǎng)絡(luò)接口(或者多個(gè)這種接口),該無線電訪問網(wǎng)絡(luò)接口能與無線接入節(jié)點(diǎn)(諸如基站或無線接入點(diǎn))通信,該無線接入點(diǎn)提供對(duì)通信網(wǎng)絡(luò)230(或者多個(gè)這種網(wǎng)絡(luò))的訪問。網(wǎng)絡(luò)接口212(或多個(gè)這種接口)能夠使用許多無線電訪問技術(shù)中的一個(gè)或多個(gè)來連接至無線接入節(jié)點(diǎn),該無線電訪問技術(shù)包括全球移動(dòng)通信系統(tǒng)(GSM)、通用移動(dòng)電信系統(tǒng)(UMTS)、長(zhǎng)期演進(jìn)(LTE)、固定無線接入(諸如IEEE802.16WiMax)和無線聯(lián)網(wǎng)(諸如IEEE802.11WiFi)。通信網(wǎng)絡(luò)230和/或無線訪問節(jié)點(diǎn)也可提供對(duì)互聯(lián)網(wǎng)的訪問。網(wǎng)絡(luò)接口212(或多個(gè)這種接口)也可包括與相應(yīng)的通信網(wǎng)絡(luò)230(或多個(gè)這種網(wǎng)絡(luò))(諸如互聯(lián)網(wǎng)和/或私有數(shù)據(jù)通信網(wǎng)絡(luò))一起使用的調(diào)制解調(diào)器和/或以太網(wǎng)卡或者接口。操作系統(tǒng)218可包括聯(lián)網(wǎng)程序,該聯(lián)網(wǎng)程序允許使用聯(lián)網(wǎng)協(xié)議(諸如(例如)傳輸控制協(xié)議(TCP)或用戶數(shù)據(jù)報(bào)協(xié)議(UDP))經(jīng)由網(wǎng)絡(luò)接口212和通信網(wǎng)絡(luò)140(或者多個(gè)這種網(wǎng)絡(luò))在處理器212上運(yùn)行的程序與外部裝置之間進(jìn)行的通信。聯(lián)網(wǎng)程序和/或聯(lián)網(wǎng)處理程序可經(jīng)由由操作系統(tǒng)218提供的編程接口訪問在處理器202上運(yùn)行的其他程序。在第一實(shí)施方式中,計(jì)算裝置200的瀏覽器220可被配置為執(zhí)行本發(fā)明,這包括在顯示裝置216的顯示區(qū)域內(nèi)處理和渲染結(jié)構(gòu)化文檔。因此,計(jì)算裝置200包括處理裝置,該處理裝置可被實(shí)施為執(zhí)行瀏覽器220軟件的處理器202,該處理器202可被配置為處理針對(duì)多個(gè)元素的布局信息以識(shí)別為在顯示區(qū)域中顯示而被渲染的一個(gè)或多個(gè)元素。另外,計(jì)算裝置200包括渲染裝置,該渲染裝置可被實(shí)施為計(jì)算裝置200的處理器202和/或圖形處理組件214,該處理器202和/或圖形處理組件214可被配置為渲染所識(shí)別的元素,如下文將更詳細(xì)描述。計(jì)算裝置200還包括顯示裝置,該顯示裝置可被實(shí)施為計(jì)算裝置200的圖形處理組件214,該圖形處理組件214可被配置為在顯示裝置216的顯示區(qū)域中顯示被渲染元素的至少一部分,如下文將更詳細(xì)描述。結(jié)構(gòu)化文檔可通過瀏覽器220從HTML內(nèi)容獲得,如上所述。本領(lǐng)域眾所周知,結(jié)構(gòu)化文檔可被配置為允許它被布置于多個(gè)布局區(qū)域中各不同大小和/或形狀的任何一個(gè)內(nèi)??蛇x擇布局區(qū)域的尺寸(例如,其寬度)以匹配顯示裝置216的顯示區(qū)域的尺寸。通過結(jié)構(gòu)化文檔內(nèi)的許多對(duì)象以及它們?cè)诮Y(jié)構(gòu)化文檔內(nèi)的布局可確定布局區(qū)域的其他尺寸。鑒于顯示裝置216的顯示區(qū)域的大小,在該顯示區(qū)域內(nèi)可能無法顯示整個(gè)結(jié)構(gòu)化文檔,并同時(shí)確保結(jié)構(gòu)化文檔內(nèi)的較小特征(例如,文本)對(duì)于用戶仍然可見。瀏覽器220可因此被配置為在顯示裝置216的顯示區(qū)域內(nèi)顯示結(jié)構(gòu)化文檔的選定部分。該選定部分可以是結(jié)構(gòu)化文檔的布局區(qū)域的選定區(qū)。選定部分的大小可被配置為確保結(jié)構(gòu)化文檔內(nèi)的較小特征對(duì)于用戶可見??筛淖兾臋n的選定部分以允許用戶查看整個(gè)結(jié)構(gòu)化文檔,一次一個(gè)部分。圖3示出了根據(jù)本發(fā)明第一實(shí)施方式的由瀏覽器220執(zhí)行以顯示結(jié)構(gòu)化文檔的選定部分的步驟。步驟300和302完全是常規(guī)的且為完整性而將其包括。最初,瀏覽器220獲得用于結(jié)構(gòu)化文檔的DOM樹(步驟300)。該DOM樹可從利用標(biāo)記語(yǔ)言的內(nèi)容(諸如HTML內(nèi)容)獲得,如上概述。HTML內(nèi)容可能已被瀏覽器220以HTML文件的形式經(jīng)由通信網(wǎng)絡(luò)230從另一計(jì)算裝置接收,和/或可替代地,它可能已從非易失性存儲(chǔ)器206被接收。HTML內(nèi)容可引用瀏覽器還可從另一計(jì)算裝置和/或從非易失性存儲(chǔ)器206檢索到的零個(gè)或多個(gè)文件。這些其他文件可包括可包含與樣式信息有關(guān)的CSS數(shù)據(jù)的CSS文件(如上所述)、可包含由瀏覽器處理的與HTML內(nèi)容有關(guān)的腳本(例如,JavaScript腳本)的腳本文件、包括音頻、圖像和/或視頻文件的媒體文件、其他HTML文件等。由瀏覽器220檢索到的其他文件可被用于結(jié)構(gòu)化文檔的顯示。瀏覽器200隨后使用DOM樹來構(gòu)造結(jié)構(gòu)化文檔的零個(gè)或多個(gè)中間表示(步驟302)。該結(jié)構(gòu)化文檔的每個(gè)中間表示包括從DOM樹中的對(duì)象層級(jí)獲得的節(jié)點(diǎn)層級(jí)。結(jié)構(gòu)化文檔的這些中間表示被用于能使瀏覽器200通過處理中間表示而不是處理DOM樹本身來更高效地渲染結(jié)構(gòu)化文檔的一個(gè)或多個(gè)選定部分。渲染樹的中間表示中的每個(gè)節(jié)點(diǎn)包括可由瀏覽器220用于渲染節(jié)點(diǎn)的信息。根據(jù)用戶選擇,渲染樹中的任何給定節(jié)點(diǎn)均可形成由瀏覽器顯示的結(jié)構(gòu)化文檔的選定部分的一部分。瀏覽器220從DOM樹中的每個(gè)對(duì)象產(chǎn)生中間表示中的零個(gè)或多個(gè)節(jié)點(diǎn)。中間表示中的節(jié)點(diǎn)可對(duì)應(yīng)于如在CSS2.1規(guī)范中定義的區(qū)塊級(jí)元素或內(nèi)聯(lián)級(jí)元素,例如,它可對(duì)應(yīng)于矩形框,該矩形框包括內(nèi)容區(qū)域和可選的周圍填充、邊框和邊緣區(qū)域。樣式信息也可由瀏覽器220附加到中間表示中的每個(gè)節(jié)點(diǎn)。從DOM樹中的對(duì)象樣式信息可確定用于節(jié)點(diǎn)的樣式信息,從該DOM樹的對(duì)象創(chuàng)建節(jié)點(diǎn)。一旦已構(gòu)建了任何中間表示,瀏覽器220即確定用于DOM樹中的對(duì)象的布局信息(步驟304)。用于DOM樹中的對(duì)象的布局信息包括與由該給定對(duì)象占據(jù)的區(qū)有關(guān)的信息。與由對(duì)象占據(jù)的區(qū)有關(guān)的信息包括該對(duì)象在結(jié)構(gòu)化文檔的布局區(qū)域內(nèi)的大小和位置。瀏覽器220可通過計(jì)算中間表示中與所述對(duì)象相對(duì)應(yīng)(即,由瀏覽器220從所述對(duì)象產(chǎn)生)的節(jié)點(diǎn)的大小和位置來間接計(jì)算用于DOM樹中的對(duì)象的布局信息。針對(duì)DOM樹中的對(duì)象的樣式信息可由瀏覽器220用于確定對(duì)象可在結(jié)構(gòu)化文檔的布局區(qū)域內(nèi)占據(jù)的區(qū)。例如,樣式信息可指示對(duì)象應(yīng)相對(duì)于其父對(duì)象的位置或在結(jié)構(gòu)化文檔的布局區(qū)域內(nèi)的絕對(duì)位置或者根據(jù)由CSS2.1規(guī)范定義的特定定位方案來顯示。樣式信息也可指示父區(qū)塊大小可通過父區(qū)塊的子區(qū)塊的大小和數(shù)目來確定,因?yàn)樽訁^(qū)塊中的一些可被配置為被包括在父區(qū)塊內(nèi),父區(qū)塊的大小必須被選擇為容納它們。由于樣式約束中的至少一些例如要求父區(qū)塊被布置在可被計(jì)算的子節(jié)點(diǎn)的位置之前,所以瀏覽器220可能需要多次處理DOM樹中的對(duì)象(或者中間表示中它們所對(duì)應(yīng)的節(jié)點(diǎn))以確定包括在布局信息中的每個(gè)對(duì)象的大小和位置。瀏覽器220例如可對(duì)DOM樹中的對(duì)象執(zhí)行至少第一和第二經(jīng)過。在第一經(jīng)過中,瀏覽器220可以“深度優(yōu)先”方式處理DOM樹中從根節(jié)點(diǎn)(例如100)到?jīng)]有其他子對(duì)象的每個(gè)子對(duì)象的對(duì)象層級(jí),即,在處理其同胞(sibling)之前處理子對(duì)象的子代。以此方式,DOM樹中的每個(gè)對(duì)象可在結(jié)構(gòu)化文檔的布局區(qū)域內(nèi)被分配有初始大小和位置。瀏覽器220隨后可執(zhí)行DOM樹中從樹底部(即,從向上沒有其他子對(duì)象的每個(gè)子對(duì)象)開始的對(duì)象層級(jí)的第二經(jīng)過。在第二經(jīng)過中,在對(duì)象的所有子對(duì)象(和子對(duì)象的子對(duì)象等)已具有它們所確定的大小和位置之后,瀏覽器220將計(jì)算所述對(duì)象的大小和位置。一旦由瀏覽器220確定,布局信息可由瀏覽器220存儲(chǔ)(例如,在RAM208中),以多次用于顯示結(jié)構(gòu)化文檔的選定部分,如下文更詳細(xì)描述。一旦已確定針對(duì)DOM樹中的每個(gè)對(duì)象(或者中間表示中它們所對(duì)應(yīng)的節(jié)點(diǎn))的布局信息,瀏覽器220即為DOM樹中的對(duì)象產(chǎn)生組布局信息(步驟306)。為DOM樹中的對(duì)象產(chǎn)生的組布局信息限定了與該對(duì)象的子對(duì)象的空間關(guān)系。該空間關(guān)系可被預(yù)定義并指定介于結(jié)構(gòu)化文檔的布局區(qū)域內(nèi)由對(duì)象占據(jù)的區(qū)與該布局區(qū)域內(nèi)由對(duì)象的子對(duì)象(和它們的子對(duì)象等)占據(jù)的區(qū)之間的特定關(guān)系。在一種實(shí)施方式中,預(yù)定義空間關(guān)系指定對(duì)象的子對(duì)象位于布局區(qū)域中由所述對(duì)象占據(jù)的區(qū)內(nèi)。換言之,預(yù)定義空間關(guān)系可指定對(duì)象的子對(duì)象位于由所述對(duì)象占據(jù)的二維歐幾里德(Euclidean)空間的子集內(nèi)。圖4a示出了由對(duì)象400占據(jù)的區(qū)以及由所述對(duì)象的三個(gè)子對(duì)象占據(jù)的區(qū)。由于對(duì)象400的子對(duì)象位于由所述對(duì)象占據(jù)的區(qū)內(nèi),所以對(duì)象400與其子對(duì)象具有預(yù)定義空間關(guān)系。相反,若對(duì)象的子對(duì)象中的至少一個(gè)落在布局區(qū)域中由所述對(duì)象占據(jù)的區(qū)外部,則所述對(duì)象與所述對(duì)象的子對(duì)象可能不具有預(yù)定義空間關(guān)系。圖4b示出了由對(duì)象420占據(jù)的區(qū)以及由所述對(duì)象的三個(gè)子對(duì)象占據(jù)的區(qū),所述子對(duì)象包括落在由對(duì)象420占據(jù)的區(qū)外部的子對(duì)象422。由于對(duì)象420的子對(duì)象中的至少一個(gè)落在由所述對(duì)象占據(jù)的區(qū)外部,所以對(duì)象420與其子對(duì)象不具有預(yù)定義空間關(guān)系。若對(duì)象具有落在布局區(qū)域中由所述對(duì)象占據(jù)的區(qū)外部的至少一個(gè)子對(duì)象,且所述對(duì)象的子對(duì)象中的至少一個(gè)也落在由所述對(duì)象的父代占據(jù)的區(qū)外部,則所述對(duì)象或者所述對(duì)象的父代與其相應(yīng)子對(duì)象均不具有預(yù)定義空間關(guān)系。這也可延伸到所述對(duì)象的孫子代對(duì)象(即,DOM樹層級(jí)中第一對(duì)象以下的兩個(gè)級(jí)別)落在由所述對(duì)象占據(jù)的區(qū)外部的情況,以及延伸到它們的子對(duì)象等(即,所述對(duì)象以下的第三和更低級(jí)別)。圖4c示出了由對(duì)象440占據(jù)的區(qū)以及由所述對(duì)象的兩個(gè)子對(duì)象占據(jù)的區(qū),所述子對(duì)象包括落在由對(duì)象440占據(jù)的區(qū)內(nèi)部的子對(duì)象442。子對(duì)象442本身具有落在由子對(duì)象442和對(duì)象440占據(jù)的區(qū)外部的子對(duì)象444;因此,對(duì)象440或子對(duì)象442與其相應(yīng)子對(duì)象均不具有預(yù)定義空間關(guān)系。圖4d示出了圖4c的對(duì)比實(shí)例。在圖4d中,由對(duì)象460占據(jù)的區(qū)以及由所述對(duì)象的包括子對(duì)象462的兩個(gè)子對(duì)象占據(jù)的區(qū)落在由對(duì)象460占據(jù)的區(qū)內(nèi)部。子對(duì)象462具有落在由子對(duì)象462占據(jù)的區(qū)外部但卻落在由對(duì)象460占據(jù)的區(qū)內(nèi)部的子對(duì)象464。因此,對(duì)象460與其子對(duì)象具有預(yù)定義空間關(guān)系,但子對(duì)象462與其子對(duì)象464不具有預(yù)定義空間關(guān)系。根據(jù)以上實(shí)例生成的組布局信息可被存儲(chǔ)以便由瀏覽器220多次用于顯示結(jié)構(gòu)化文檔的選定部分,如現(xiàn)將參照步驟308繼續(xù)描述。瀏覽器220識(shí)別DOM樹中為在顯示裝置的顯示區(qū)域中顯示而被渲染的對(duì)象(或者中間表示中它們所對(duì)應(yīng)的節(jié)點(diǎn))(步驟308)。這可包括處理用于DOM樹中的對(duì)象的布局信息,特別是識(shí)別由結(jié)構(gòu)化文檔的布局區(qū)域內(nèi)的對(duì)象占據(jù)的區(qū)是否與結(jié)構(gòu)化文檔的布局區(qū)域中已被用戶選定為用于顯示的任何部分相對(duì)應(yīng)。這包括瀏覽器220使用針對(duì)DOM樹中的對(duì)象(或者中間表示中它們所對(duì)應(yīng)的節(jié)點(diǎn))的組布局信息(在步驟306中生成)來識(shí)別待渲染對(duì)象,如現(xiàn)將參照?qǐng)D5說明。對(duì)于瀏覽器處理的DOM樹中的每個(gè)對(duì)象(或者中間表示中該對(duì)象所對(duì)應(yīng)的節(jié)點(diǎn)),瀏覽器220測(cè)試用于所述對(duì)象的布局信息是否指示由所述對(duì)象占據(jù)的區(qū)與結(jié)構(gòu)化文檔的布局區(qū)域的選定部分相對(duì)應(yīng)(步驟500)。若由所述對(duì)象占據(jù)的區(qū)至少部分與結(jié)構(gòu)化文檔的布局區(qū)域的選定部分相對(duì)應(yīng),即所述對(duì)象至少部分占據(jù)在布局區(qū)域的選定部分內(nèi)的區(qū),則瀏覽器220識(shí)別或標(biāo)記用于渲染的對(duì)象(步驟502)。瀏覽器220隨后處理所述對(duì)象的每個(gè)子對(duì)象(或者中間表示中這些對(duì)象所對(duì)應(yīng)的節(jié)點(diǎn)),以識(shí)別這些對(duì)象是否應(yīng)被標(biāo)記為用于渲染(步驟504)。若由所述對(duì)象占據(jù)的區(qū)與結(jié)構(gòu)化文檔的布局區(qū)域的選定部分不對(duì)應(yīng),即,所述對(duì)象甚至不占據(jù)在布局區(qū)域的選定部分內(nèi)的區(qū)的一部分,則瀏覽器220檢查是否組布局信息指示所述對(duì)象與所述對(duì)象的子對(duì)象是否具有預(yù)定義空間關(guān)系(步驟508)。若對(duì)象與所述對(duì)象的子對(duì)象具有預(yù)定義空間關(guān)系,這也就是說,該組中所有子對(duì)象完全包括在所述對(duì)象內(nèi),則瀏覽器220確定所述對(duì)象的子對(duì)象均不與布局區(qū)域的選定部分共同定位。瀏覽器220因此有效忽略該對(duì)象的子對(duì)象。類似地,若該對(duì)象的子對(duì)象具有它們自身的其他子對(duì)象,則瀏覽器220也可忽略其他子對(duì)象。然而,若(在步驟508中)子對(duì)象不完全包括在該對(duì)象內(nèi),則所述對(duì)象的子對(duì)象可能占據(jù)布局區(qū)域的選定部分內(nèi)的區(qū)的一部分(步驟514)。因此,瀏覽器220處理所述對(duì)象的每個(gè)子對(duì)象(或者中間表示中這些對(duì)象所對(duì)應(yīng)的節(jié)點(diǎn)),以識(shí)別這些對(duì)象是否應(yīng)被渲染,并標(biāo)記用于渲染的對(duì)象,或者根據(jù)它們相對(duì)于布局區(qū)域的選定部分的相應(yīng)位置來做其他處理(步驟516)。瀏覽器220因此使用用于DOM樹中的對(duì)象(或者中間表示中它們所對(duì)應(yīng)的節(jié)點(diǎn))的組布局信息(在步驟306中生成),以減少DOM樹中需要被測(cè)試以確定哪些對(duì)象應(yīng)被標(biāo)記為用于渲染的對(duì)象數(shù)目。瀏覽器220因此能以比它測(cè)試DOM樹中每個(gè)對(duì)象(或者中間表示中每個(gè)對(duì)象所對(duì)應(yīng)的節(jié)點(diǎn))(如現(xiàn)有技術(shù)中所進(jìn)行)時(shí)可具有的更高效率來識(shí)別用于渲染的對(duì)象。當(dāng)DOM樹中具有預(yù)定義空間關(guān)系的對(duì)象數(shù)目與結(jié)構(gòu)化文檔中通常不從HTML內(nèi)容獲得的對(duì)象數(shù)目相比相對(duì)較大時(shí),由瀏覽器220執(zhí)行的方法特別有效。瀏覽器隨后在顯示裝置216的顯示區(qū)域內(nèi)渲染被標(biāo)記為用于渲染的對(duì)象(或者中間表示中它們所對(duì)應(yīng)的節(jié)點(diǎn)),以顯示結(jié)構(gòu)化文檔的布局區(qū)域的選定部分(步驟310)。計(jì)算裝置200的渲染裝置(其如上所述可被實(shí)施為計(jì)算裝置200的處理器202和/或圖形處理組件214)可因此被配置為渲染被標(biāo)記為用于渲染的對(duì)象。計(jì)算裝置200的顯示裝置(其如上所述可被實(shí)施為計(jì)算裝置200的圖形處理組件214)可因此被配置為在顯示裝置216的顯示區(qū)域中顯示被渲染對(duì)象的至少一部分。根據(jù)上述將理解,當(dāng)渲染被標(biāo)記為用于渲染的對(duì)象時(shí),瀏覽器220使用布局信息來確定顯示區(qū)域內(nèi)對(duì)象應(yīng)被渲染的區(qū)。對(duì)象、附加到對(duì)象的樣式信息以及利用標(biāo)記語(yǔ)言描述的內(nèi)容(例如,HTML標(biāo)簽)(對(duì)象源自于該內(nèi)容)所有均可影響由瀏覽器220為對(duì)象渲染的內(nèi)容。例如,對(duì)象可從HTML<input>標(biāo)簽獲得,且按鈕可因此被顯示,或者對(duì)象可從具有樣式信息的HTML段落(<p>)標(biāo)簽的文本獲得,該樣式信息指示文本應(yīng)帶有下劃線等來顯示。此外,瀏覽器220可以指定順序渲染一個(gè)或多個(gè)被識(shí)別對(duì)象,所述指定順序可從利用標(biāo)記語(yǔ)言描述的內(nèi)容獲得,DOM樹源自于該內(nèi)容。例如,如上所述,利用標(biāo)記語(yǔ)言描述的內(nèi)容可包括具有引用和/或嵌入的CSS數(shù)據(jù)的HTML標(biāo)簽層級(jí)。用于一個(gè)或多個(gè)HTML標(biāo)簽的CSS數(shù)據(jù)可包括“z索引”屬性,該“z索引”屬性指定在指定順序內(nèi)從HTML標(biāo)簽獲得的哪些對(duì)象應(yīng)被渲染的位置,例如,如CSS2.1規(guī)范中所描述。上述DOM樹中的對(duì)象(或者中間表示中這些對(duì)象所對(duì)應(yīng)的節(jié)點(diǎn))的中間表示可以由指定順序指示的順序通過對(duì)象重新排列來生成。這可允許瀏覽器220更高效地重新渲染DOM樹中的對(duì)象(或者中間表示中這些對(duì)象所對(duì)應(yīng)的節(jié)點(diǎn)),這在結(jié)構(gòu)化文檔的初始顯示之后應(yīng)被要求。下文更詳細(xì)描述對(duì)結(jié)構(gòu)化文檔的選定部分的重新渲染以及為何可能需要這一重新渲染。一旦結(jié)構(gòu)化文檔的選定部分已被顯示(例如,在步驟310中),和/或在選定部分正在被顯示的同時(shí),瀏覽器220可接受并處理用戶輸入,和/或處理與結(jié)構(gòu)化文檔有關(guān)的腳本(步驟312)。用戶輸入可指示用戶希望選擇結(jié)構(gòu)化文檔的不同部分以用于在顯示裝置216的顯示區(qū)域中顯示。例如,用戶可使用觸屏輸入接口、鼠標(biāo)、小鍵盤、鍵盤等來滾動(dòng)所顯示的結(jié)構(gòu)化文檔,使得瀏覽器220通過改變結(jié)構(gòu)化文檔的選定部分來響應(yīng)??商娲?,用戶輸入可指示用戶希望改變顯示區(qū)域的大小,該用戶輸入也可改變結(jié)構(gòu)化文檔的選定部分的大小。另外,瀏覽器220將通過改變結(jié)構(gòu)化文檔的選定部分來響應(yīng)。這些動(dòng)作中的任何一個(gè)均觸發(fā)瀏覽器220檢測(cè)結(jié)構(gòu)化文檔的選定部分是否已改變(步驟314)。若選定部分已改變,則由于選定部分的改變,瀏覽器220隨后可返回到步驟308來識(shí)別DOM樹中現(xiàn)在必須為在顯示裝置216的顯示區(qū)域中顯示而被渲染的對(duì)象(或者中間表示中它們所對(duì)應(yīng)的節(jié)點(diǎn))。瀏覽器隨后將繼續(xù)步驟310以渲染DOM樹中所識(shí)別的對(duì)象等。至于嵌入結(jié)構(gòu)化文檔或者由結(jié)構(gòu)化文檔引用的腳本,瀏覽器220檢測(cè)是否已針對(duì)DOM樹改變所處理的腳本(例如,在步驟312中)(步驟316)??蓪?duì)DOM樹進(jìn)行改變的腳本例如包括由利用標(biāo)記語(yǔ)言描述的內(nèi)容引用的JavaScript腳本,DOM樹源自于該內(nèi)容。這些腳本可被嵌入利用標(biāo)記語(yǔ)言描述的內(nèi)容中,和/或它們可位于由利用標(biāo)記語(yǔ)言描述的內(nèi)容引用(和可能如上所述已被瀏覽器220檢索到)的單獨(dú)腳本文件中。此外,響應(yīng)于由瀏覽器220檢測(cè)到的事件,可執(zhí)行該腳本。這些事件可包括用戶輸入事件、文檔相關(guān)事件(諸如加載完成或者文檔顯示)、其他已知HTML事件等。腳本可因此改變附加到DOM樹中的對(duì)象的樣式信息,和/或改變與DOM樹中的這些對(duì)象有關(guān)的其他屬性和/或信息(例如,文本、圖像等),和/或添加元素到DOM樹或者從DOM樹刪除元素。DOM樹中對(duì)象的大小、形狀和/或位置可間接(以及直接)被改變。例如,腳本可對(duì)對(duì)象的樣式信息進(jìn)行改變,諸如它們的字體大小或定位方案,該字體大小或定位方案反過來將影響這些對(duì)象的大小、形狀和/或位置。若通過腳本將對(duì)象添加到DOM樹或者從DOM樹刪除對(duì)象,則DOM樹中用于該對(duì)象的布局信息也可被改變。例如,腳本可添加與新的HTML<form>標(biāo)簽相對(duì)應(yīng)的新對(duì)象到DOM樹,對(duì)于該新對(duì)象將需要計(jì)算布局信息,且該新對(duì)象也可影響DOM樹中其他對(duì)象的位置。將理解,通過腳本(例如,對(duì)DOM樹)做出的這些改變可能需要重新渲染DOM樹中的對(duì)象(或者中間表示中它們所對(duì)應(yīng)的節(jié)點(diǎn))。若瀏覽器220檢測(cè)到通過腳本對(duì)DOM樹尚未做出改變,則瀏覽器220將繼續(xù)接收用戶輸入并通過返回到步驟312來處理腳本。否則,響應(yīng)于對(duì)DOM樹的改變的檢測(cè),瀏覽器220識(shí)別改變是否可能已影響到布局信息(步驟318)。若瀏覽器220檢測(cè)到通過腳本做出的改變尚未影響DOM樹中任何對(duì)象的大小、形狀和/或位置,則所做出的改變可能例如與文本區(qū)塊的字體顏色的改變、改變固定區(qū)域內(nèi)所顯示的圖像等有關(guān)。瀏覽器220可因此返回到步驟310,以重新渲染DOM樹中所識(shí)別的對(duì)象,使得所做出的改變可被正確顯示。若瀏覽器220檢測(cè)到改變影響了DOM樹中對(duì)象的大小、形狀和/或位置,則必要時(shí),瀏覽器220重新構(gòu)造DOM樹以及先前從其產(chǎn)生的任何中間表示(步驟320)。由于因添加對(duì)象到DOM樹或從DOM樹刪除對(duì)象,DOM樹中的一個(gè)或多個(gè)對(duì)象的父對(duì)象和/或子對(duì)象可能需要被更新,所以若一個(gè)或多個(gè)對(duì)象被添加到DOM樹或者從DOM樹刪除一個(gè)或多個(gè)對(duì)象,則瀏覽器220可能需要重新構(gòu)造DOM樹。瀏覽器220可能僅重新構(gòu)造DOM樹中受到所做出的改變影響的這些部分。若瀏覽器220重新構(gòu)造DOM樹(或者它的一部分),則瀏覽器可從DOM樹構(gòu)造結(jié)構(gòu)化文檔的零個(gè)或多個(gè)中間表示,如上概述(在步驟302中)。一旦DOM樹和任何中間表示已被重新構(gòu)造(必要時(shí)),瀏覽器220返回到步驟304以重新確定用于DOM樹中的對(duì)象(或者中間表示中它們所對(duì)應(yīng)的元素)的布局信息。在步驟308中識(shí)別DOM樹中現(xiàn)在必須為顯示而被渲染的對(duì)象以及在步驟310中渲染所識(shí)別的對(duì)象等之前,由于布局信息的改變可能影響組布局信息,所以瀏覽器220也在步驟306中重新產(chǎn)生組布局信息?,F(xiàn)將參照?qǐng)D6所示的示例性結(jié)構(gòu)化文檔以及所述結(jié)構(gòu)化文檔的兩個(gè)選定部分來說明本發(fā)明的特征。結(jié)構(gòu)化文檔的DOM樹由具有子對(duì)象650和660的根節(jié)點(diǎn)(未示出)組成。對(duì)象650由一個(gè)子對(duì)象652組成,該子對(duì)象652本身由包括子對(duì)象654的許多子對(duì)象組成。對(duì)象660由子對(duì)象662組成,該子對(duì)象662本身由許多子對(duì)象組成。對(duì)象654占據(jù)落在由其父對(duì)象652占據(jù)的區(qū)外部以及由所述對(duì)象的父代占據(jù)的區(qū)外部(即,在對(duì)象650的區(qū)外部)的區(qū)。對(duì)象650和652因此與它們的子對(duì)象不具有預(yù)定義空間關(guān)系。圖6中所有其他對(duì)象與它們的子對(duì)象均具有預(yù)定義空間關(guān)系。為顯示結(jié)構(gòu)化文檔的選定部分,瀏覽器220將根據(jù)上述圖3的步驟來操作,如現(xiàn)將說明。瀏覽器220首先識(shí)別應(yīng)被顯示的一個(gè)或多個(gè)對(duì)象以顯示結(jié)構(gòu)化文檔的選定部分600。瀏覽器確定由對(duì)象650和660兩者占據(jù)的區(qū)與結(jié)構(gòu)化文檔的布局區(qū)域的選定部分600相對(duì)應(yīng),且因此,這些對(duì)象應(yīng)被標(biāo)記為用于渲染(由于對(duì)象650被包括在部分600內(nèi),同時(shí)對(duì)象660與部分600重疊)。瀏覽器220確定對(duì)象662的區(qū)與選定部分600不對(duì)應(yīng),并因此將確定對(duì)象662不應(yīng)被標(biāo)記為用于渲染。因此,且由于對(duì)象662與其子對(duì)象具有預(yù)定義關(guān)系,所以瀏覽器220無需處理對(duì)象662的子對(duì)象。瀏覽器220另一方面確定對(duì)象652及其包括對(duì)象654的子對(duì)象應(yīng)被標(biāo)記為用于渲染,并將因此繼續(xù)在顯示區(qū)域內(nèi)渲染所標(biāo)記的對(duì)象。瀏覽器220可替代地在選定部分610內(nèi)顯示對(duì)象。瀏覽器220確定對(duì)象660和662的區(qū)與結(jié)構(gòu)化文檔的布局區(qū)域的選定部分610相對(duì)應(yīng),以及因此對(duì)象660、662及其子對(duì)象應(yīng)位于一個(gè)或多個(gè)所識(shí)別的對(duì)象中。瀏覽器220確定對(duì)象650的區(qū)與選定部分610不對(duì)應(yīng),并因此將確定對(duì)象650不應(yīng)被標(biāo)記為用于渲染。然而,由于對(duì)象650與其子對(duì)象不具有預(yù)定義空間關(guān)系,所以瀏覽器220還必須處理對(duì)象652。瀏覽器220確定對(duì)象652的區(qū)與選定部分610不對(duì)應(yīng),并因此將確定對(duì)象650不應(yīng)被標(biāo)記為用于渲染。然而,對(duì)象652與其子對(duì)象不具有預(yù)定義空間關(guān)系,因?yàn)閷?duì)象654在由對(duì)象652占據(jù)的區(qū)外部延伸,所以瀏覽器220還必須處理其包括對(duì)象654的子對(duì)象。瀏覽器220隨后憑借對(duì)象654與部分610之間的重疊來確定對(duì)象654的區(qū)與選定部分610相對(duì)應(yīng),且因此,對(duì)象654應(yīng)被標(biāo)記為用于渲染。瀏覽器220隨后將渲染用于在顯示區(qū)域內(nèi)顯示的一個(gè)或多個(gè)所識(shí)別的對(duì)象。圖6中所示的實(shí)例表明本發(fā)明可如何被用于減少顯示結(jié)構(gòu)化文檔的選定部分所需的處理量。當(dāng)選定部分600被顯示時(shí),由于對(duì)象662與選定部分600不對(duì)應(yīng)且與其子對(duì)象具有預(yù)定義空間關(guān)系,所以瀏覽器220無需處理該對(duì)象662的子對(duì)象。當(dāng)選定部分610被顯示時(shí),由于對(duì)象650和對(duì)象652與它們的子對(duì)象不具有預(yù)定義空間關(guān)系,所以瀏覽器220仍將處理該對(duì)象650和對(duì)象652,從而確保在選定部分610內(nèi)正確顯示對(duì)象654?,F(xiàn)將描述本發(fā)明的第二示例性實(shí)施方式。根據(jù)上述第一實(shí)施方式來進(jìn)行第二實(shí)施方式,然而,當(dāng)在步驟302中從DOM樹創(chuàng)建一個(gè)或多個(gè)中間表示時(shí),瀏覽器220可定義新的對(duì)象組,以減少當(dāng)顯示結(jié)構(gòu)化文檔的一部分時(shí)瀏覽器220必須處理的對(duì)象數(shù)目。在第二實(shí)施方式中,計(jì)算裝置200因此包括處理裝置,該處理裝置可被實(shí)施為執(zhí)行瀏覽器220軟件的處理器202且可被配置為處理DOM樹中在由分組信息定義的組中的元素,以識(shí)別待渲染的選定部分。另外,計(jì)算裝置200包括修改裝置,該修改裝置可被實(shí)施為執(zhí)行瀏覽器220軟件的處理器202,以用于定義至少一個(gè)新元素組,由此在識(shí)別待渲染的選定部分之前修改與數(shù)據(jù)集相關(guān)聯(lián)的分組信息,如將描述。例如,瀏覽器220可添加一個(gè)或多個(gè)配置對(duì)象到DOM樹并使每個(gè)配置對(duì)象成為對(duì)象子集的父代,以創(chuàng)建新對(duì)象組。每個(gè)對(duì)象子集先前可能已經(jīng)是在步驟300中構(gòu)造的DOM樹內(nèi)對(duì)象的子代子集。由瀏覽器220添加到DOM樹的配置對(duì)象在步驟310中通常不為了顯示而通過瀏覽器220渲染,即使它們位于布局區(qū)域的選定部分內(nèi);然而,若配置對(duì)象的子代位于布局區(qū)域的選定部分內(nèi),則它們?cè)诓襟E310中可被渲染,如下文更詳細(xì)描述。瀏覽器220可通過對(duì)DOM樹中的每個(gè)對(duì)象執(zhí)行圖7所示步驟來添加一個(gè)或多個(gè)新對(duì)象組到DOM樹。瀏覽器220可首先對(duì)DOM樹的根對(duì)象執(zhí)行圖7所示步驟,且若適用,隨后對(duì)DOM樹的任何子代重復(fù)這些步驟。當(dāng)對(duì)對(duì)象執(zhí)行圖7的步驟時(shí),瀏覽器220首先檢查子對(duì)象數(shù)目是否超過預(yù)定義閾值。若子對(duì)象數(shù)目超過預(yù)定義閾值,則瀏覽器220將該對(duì)象的子代中的至少一些分組成對(duì)象子集。在本發(fā)明的優(yōu)選排布中,瀏覽器220將該對(duì)象的所有子代分組成多個(gè)對(duì)象子集,而在其他排布中,僅一些子代被分組成一個(gè)或多個(gè)子集。由瀏覽器220創(chuàng)建的子集數(shù)目可通過該對(duì)象的子代數(shù)目來確定。在第一排布中,由瀏覽器220創(chuàng)建的子集數(shù)目等于預(yù)指定數(shù)目,諸如2、5、10等,且對(duì)象根據(jù)預(yù)定義分配算法被指派給子集,而在第二排布中,基于子對(duì)象數(shù)目來確定子集數(shù)目。在特別有利的排布中,由瀏覽器220創(chuàng)建的子集數(shù)目大約可以是該對(duì)象的子代數(shù)目的平方根。以此方式,每個(gè)子集中的對(duì)象數(shù)目可被選擇為大致匹配所創(chuàng)建的子集數(shù)目。在另一排布中,瀏覽器220將該對(duì)象的子代任意分組成子集,優(yōu)選確保該對(duì)象的每個(gè)子對(duì)象僅出現(xiàn)在所創(chuàng)建的子集之一中。現(xiàn)將參照?qǐng)D8a至圖8d描述根據(jù)圖7的步驟的對(duì)象處理。在圖8a中,示出了DOM樹中以對(duì)象800為特征的示例性部分,對(duì)象800具有子代810、820、830和840。對(duì)象800具有父對(duì)象和零個(gè)或者多個(gè)同胞,其均未示出。當(dāng)根據(jù)圖7步驟處理對(duì)象800時(shí),瀏覽器220首先(在步驟700中)檢測(cè)對(duì)象800的子代數(shù)目超過預(yù)定義閾值,例如2。瀏覽器220隨后將對(duì)象800的子代分割成兩個(gè)子集(在步驟702中),第一子集包括對(duì)象810和820,第二子集包括對(duì)象830和840。如圖8b所示,瀏覽器220隨后創(chuàng)建兩個(gè)配置對(duì)象850和860(步驟704)。瀏覽器220使配置對(duì)象850成為第一子集中的對(duì)象(即,對(duì)象810和820)的父代,并使配置對(duì)象860成為第二子集中的對(duì)象(即,對(duì)象830和840)的父代(步驟706)。瀏覽器220使對(duì)象800成為配置對(duì)象850和860的父代(步驟708)。圖8c和圖8d中示出了與圖8a和圖8b相似的實(shí)例。圖8c中的對(duì)象與圖8a中的對(duì)象相同,即在根據(jù)圖7步驟處理對(duì)象800之前,然而,在圖8c中,對(duì)象810(其作為對(duì)象800的子代之一)本身具有兩個(gè)子代812和814。圖8d示出了在根據(jù)圖7步驟處理對(duì)象800之后,對(duì)象810(其現(xiàn)在作為配置對(duì)象810的子代之一)保留了其子代812和814。如上所述,在步驟310中不通過瀏覽器220渲染添加到DOM樹的配置對(duì)象(例如,對(duì)象850和860)。具體地,配置對(duì)象可具有通過瀏覽器220附加到它們的樣式信息,該樣式信息指示它們不應(yīng)在結(jié)構(gòu)化文檔內(nèi)被渲染。另外或者可替代地,配置對(duì)象可以是匿名區(qū)塊級(jí)元素和/或匿名內(nèi)聯(lián)級(jí)元素的形式,如CSS2.1規(guī)范中所定義。盡管瀏覽器220可能不渲染根據(jù)圖7步驟添加的配置對(duì)象,然而由于它處理任何其他對(duì)象,所以它仍處理這些對(duì)象,并因此根據(jù)上述圖3的步驟304至320來處理。當(dāng)在步驟304中由瀏覽器220確定布局信息時(shí),每個(gè)配置對(duì)象的大小和位置被設(shè)定為使得默認(rèn)情況下,由配置對(duì)象占據(jù)的區(qū)匹配由其子代占據(jù)的區(qū)。因此,當(dāng)在步驟306中由瀏覽器220確定組布局信息時(shí),每個(gè)配置對(duì)象將在組布局信息中被標(biāo)記為具有預(yù)定義空間關(guān)系。由配置對(duì)象的子代占據(jù)的區(qū)因此確定配置對(duì)象是否占據(jù)在由配置對(duì)象的父代占據(jù)的區(qū)內(nèi)部的區(qū)。這可通過父代(例如,800)與其子對(duì)象是否具有預(yù)定義空間關(guān)系來確定,在以上步驟306中通過瀏覽器220對(duì)DOM樹中的所有對(duì)象確定預(yù)定義空間關(guān)系?,F(xiàn)將描述圖8a和圖8b中對(duì)象800的預(yù)定義空間關(guān)系如何受到配置對(duì)象850和860的并入的影響的一個(gè)實(shí)例。在圖8a中,假定對(duì)象810的區(qū)不在其父對(duì)象800的區(qū)內(nèi),同時(shí)對(duì)象820、830和840的區(qū)位于對(duì)象800的區(qū)內(nèi)。在步驟306中,瀏覽器220將因此確定對(duì)象800與其子代不具有預(yù)定義空間關(guān)系。在圖8a中,瀏覽器220添加配置對(duì)象850和860,為此配置對(duì)象850和860的大小和位置被設(shè)定為使得它們分別匹配由對(duì)象810、820和830、840占據(jù)的區(qū)。由于對(duì)象820和830占據(jù)在對(duì)象800的區(qū)內(nèi)的區(qū),所以配置對(duì)象860將占據(jù)在對(duì)象800的區(qū)內(nèi)的區(qū)。然而,由于對(duì)象810的大小和位置,配置對(duì)象850不會(huì)占據(jù)在對(duì)象800的區(qū)內(nèi)的區(qū),且對(duì)象800將因此與其子代不具有預(yù)定義關(guān)系。因此,且由于對(duì)象800與其子代不具有預(yù)定義空間關(guān)系,所以當(dāng)在步驟308中識(shí)別為顯示而被渲染的對(duì)象時(shí),在上述圖8a的實(shí)例中,瀏覽器220將處理對(duì)象810至840以確定這些對(duì)象是否應(yīng)被標(biāo)記為用于渲染。在圖8b的實(shí)例中,假定所有對(duì)象810至840均在父對(duì)象的區(qū)內(nèi);在處理了對(duì)象800之后,瀏覽器220將首先處理配置對(duì)象850和860(以確定這些對(duì)象是否應(yīng)被標(biāo)記為用于渲染)。若配置對(duì)象850和860不在結(jié)構(gòu)化文檔的布局區(qū)域的選定部分內(nèi),且因?yàn)樗袑?duì)象810至840均在對(duì)象800內(nèi),則所以瀏覽器不會(huì)處理對(duì)象810至840。因此,對(duì)于圖8b的實(shí)例,瀏覽器220已處理比圖8a的對(duì)象排布所需少兩個(gè)的對(duì)象。將理解,若配置對(duì)象850和860在結(jié)構(gòu)化文檔的布局區(qū)域的選定部分內(nèi),則瀏覽器220將處理對(duì)象810至840以及對(duì)象850和860;因此,使瀏覽器220處理比使用圖8a的對(duì)象排布所需多兩個(gè)的對(duì)象。優(yōu)選地,在步驟702處創(chuàng)建的給定配置對(duì)象的子集中的對(duì)象數(shù)目大于2,確保在步驟308中處理的對(duì)象數(shù)目總體上減少。更具體地,在一種排布中,子集中子代數(shù)目大約可以是子代數(shù)目的平方根,子集從子代創(chuàng)建,如上所述。以此方式,僅具有較大數(shù)目子代的對(duì)象具有被劃分為子集的這些子代,例如,具有100個(gè)子代的對(duì)象可具有被劃分為10個(gè)子代的10個(gè)子集的這些子代。現(xiàn)將通過以下實(shí)例說明根據(jù)圖7步驟添加一個(gè)或多個(gè)新對(duì)象組的益處,其中,包括100個(gè)子代的原始對(duì)象具有添加到它的一個(gè)新組,所述新組包括10個(gè)原始對(duì)象子代的子集以及配置對(duì)象。若配置對(duì)象的區(qū)不在布局區(qū)域的選定部分內(nèi),則新組中僅配置對(duì)象需要被處理,且新組中配置對(duì)象的10個(gè)子代均不需要被處理,因?yàn)槿缟纤觯ㄟ^定義,配置對(duì)象與它們的相應(yīng)子代具有預(yù)定義空間關(guān)系。然而,若配置對(duì)象的區(qū)在布局區(qū)域的選定部分內(nèi),則配置對(duì)象及其10個(gè)子對(duì)象(形成子集)需要被處理,這意味著在步驟308中總共處理11個(gè)對(duì)象。假定在以上兩種情況下,原始對(duì)象中剩余90個(gè)子代也需要被處理,則當(dāng)配置對(duì)象的區(qū)不在布局區(qū)域的選定部分內(nèi)時(shí),91個(gè)對(duì)象需要被處理,且否則,101個(gè)對(duì)象需要被處理。相反,在根據(jù)圖7中步驟的新組添加之前,若原始元素需要所述處理,則原始對(duì)象中的所有100個(gè)子代將總是需要處理以識(shí)別用于渲染的對(duì)象。在以上實(shí)例中可以看出,配置對(duì)象增加少量開銷到當(dāng)配置對(duì)象(且因此其子代的一個(gè)或多個(gè))在選定部分內(nèi)時(shí)處理的對(duì)象數(shù)目,但配置對(duì)象提供了對(duì)當(dāng)配置對(duì)象(且因此其子代均不)不在選定部分內(nèi)時(shí)處理的對(duì)象數(shù)目的處理的顯著減少?,F(xiàn)將描述本發(fā)明的第三示例性實(shí)施方式。第三實(shí)施方式根據(jù)上述第一或第二實(shí)施方式進(jìn)行,然而,在第三實(shí)施方式中,在步驟300中構(gòu)造的DOM樹至少部分使用與一個(gè)或多個(gè)工作區(qū)數(shù)據(jù)項(xiàng)有關(guān)的信息來構(gòu)造。與一個(gè)或多個(gè)工作區(qū)數(shù)據(jù)項(xiàng)有關(guān)的信息可通過嵌入利用標(biāo)記語(yǔ)言描述的內(nèi)容中的和/或由所述內(nèi)容引用的至少一個(gè)腳本來檢索,DOM樹從該內(nèi)容獲得。這種腳本可經(jīng)由通信網(wǎng)絡(luò)230從非易失性存儲(chǔ)器206和/或從另一計(jì)算裝置檢索與一個(gè)或多個(gè)工作區(qū)數(shù)據(jù)項(xiàng)有關(guān)的信息。工作區(qū)數(shù)據(jù)項(xiàng)可包括電子郵件、日歷條目、任務(wù)、聯(lián)系人、音樂文件、圖像文件、視頻文件、新聞、社交網(wǎng)絡(luò)信息以及包括短消息服務(wù)消息、多媒體消息服務(wù)消息和即時(shí)消息(IM)的消息。腳本處理工作區(qū)數(shù)據(jù)項(xiàng)以生成DOM樹中的一個(gè)或多個(gè)對(duì)象,每個(gè)對(duì)象與工作區(qū)數(shù)據(jù)項(xiàng)有關(guān)。例如,腳本可生成DOM樹中的對(duì)象,所述對(duì)象形成與列表中與一個(gè)或多個(gè)工作區(qū)數(shù)據(jù)項(xiàng)有關(guān)的條目,諸如電子郵件、日歷條目、任務(wù)、聯(lián)系人等列表。該列表可允許用戶通過例如從顯示列表選擇這些條目來訪問和/或編輯一個(gè)或多個(gè)工作區(qū)數(shù)據(jù)項(xiàng)??商娲鼗蛘吡硗?,腳本在步驟312中可由瀏覽器處理,該步驟312可能需要瀏覽器重新渲染結(jié)構(gòu)化文檔的選定部分和/或重新構(gòu)造DOM樹以及任何中間表示,如在第一實(shí)施方式中所描述。根據(jù)上述將理解,本發(fā)明特別適用于顯示結(jié)構(gòu)化文檔的選定部分,其DOM樹包括相對(duì)大量的對(duì)象(例如,諸如大工作區(qū)數(shù)據(jù)項(xiàng)列表),且其中,這些對(duì)象中僅相對(duì)較小的數(shù)目可在任何時(shí)間在顯示區(qū)域內(nèi)的選定部分中被渲染。對(duì)于該結(jié)構(gòu)化文檔,第一實(shí)施方式的方法可避免處理不需要渲染且與它們相應(yīng)子代具有預(yù)定義空間關(guān)系的對(duì)象子代(步驟308和310)。第二實(shí)施方式的方法可通過將大量子代分組成子集來為所述結(jié)構(gòu)化文檔提供除第一實(shí)施方式之外的附加益處。當(dāng)在步驟308和310中子代的子集不需要渲染時(shí),第二實(shí)施方式可允許瀏覽器220僅處理針對(duì)子集的一個(gè)對(duì)象,而不是包括在所有子集內(nèi)的對(duì)象。以上實(shí)施方式應(yīng)被理解為本發(fā)明的示例性實(shí)例。本發(fā)明的其他實(shí)施方式設(shè)想如下。設(shè)想上述實(shí)施方式的替代性排布,其中,一旦一個(gè)或多個(gè)中間表示(每個(gè)包括節(jié)點(diǎn)層級(jí))在步驟302中已被構(gòu)造,便可針對(duì)一個(gè)或多個(gè)中間表示中與DOM樹中的對(duì)象相對(duì)應(yīng)的節(jié)點(diǎn)而不是針對(duì)DOM樹中的對(duì)象它們自身來執(zhí)行后續(xù)步驟,包括步驟304至320以及圖5和圖7中所示的步驟,如上文已描述。在該排布中,瀏覽器220仍可在步驟310中針對(duì)DOM樹中對(duì)象而不是針對(duì)中間表示中的節(jié)點(diǎn)來處理腳本;然而,在步驟310中通過腳本對(duì)DOM樹和/或?qū)ζ鋵?duì)象做出的改變可通過瀏覽器220被傳播到相應(yīng)的一個(gè)或多個(gè)中間表示和/或它們的節(jié)點(diǎn),以允許瀏覽器220在做出任何這種改變之后針對(duì)一個(gè)或多個(gè)中間表示中的節(jié)點(diǎn)繼續(xù)執(zhí)行步驟304至320。在本發(fā)明的對(duì)第一實(shí)施方式的替代性實(shí)施方式中,瀏覽器220可被配置為重新使用結(jié)構(gòu)化文檔中先前已為了顯示而被渲染的渲染選定部分的至少一部分。一旦它們?cè)诓襟E308中已被渲染,瀏覽器220便可將結(jié)構(gòu)化文檔中的一個(gè)或多個(gè)渲染選定部分存儲(chǔ)于RAM208中。若瀏覽器220確定例如在步驟314中需要渲染新的顯示的選定部分或者在步驟318或步驟320中已發(fā)生對(duì)布局信息和/或DOM樹的改變,則當(dāng)渲染新的選定部分時(shí),瀏覽器220可重新使用一個(gè)或多個(gè)渲染選定部分中的至少一部分,以減少所需處理量。若選定部分已向下滾動(dòng),則例如,瀏覽器202可被配置為重新使用先前渲染的選定部分中的至少一部分,該先前渲染的選定部分包括也在新選定部分中的對(duì)象。在對(duì)本發(fā)明第二實(shí)施方式的替代性實(shí)施方式中,瀏覽器220可被配置為在步驟702中使用預(yù)定義策略將對(duì)象的子代分組成子集,而不是任意將對(duì)象的子代分組成子集。在一個(gè)這種排布中,由瀏覽器220使用的合適預(yù)定義策略可包括瀏覽器220基于在利用標(biāo)記語(yǔ)言描述的內(nèi)容中的標(biāo)簽排布將對(duì)象子代中的一些分組成子集,這些子對(duì)象對(duì)應(yīng)于該標(biāo)簽排布。例如,若它們對(duì)應(yīng)于HTML標(biāo)簽序列,諸如<div>...</div><div>...</div><div>...</div>等,則瀏覽器220可將對(duì)象子代中的一些分組成子集。由于可有這種子對(duì)象可能位于由它們父代占據(jù)的區(qū)內(nèi)的較高可能性,所以瀏覽器220可將子對(duì)象分組成子集,使得當(dāng)它們不在選定部分內(nèi)時(shí),即,在圖7中為子集添加新對(duì)象之后,(相比任意選擇子對(duì)象時(shí))子集不被處理的可能性更高。在另一排布中,由瀏覽器220使用的預(yù)定義策略可包括瀏覽器220基于附加到這些子對(duì)象的樣式信息將對(duì)象子代中的一些分組成子集。例如,若它們的樣式信息指示它們應(yīng)使用相同定位方案而被定位,則瀏覽器220可將對(duì)象子代中的一些分組成子集。由于可有這種子對(duì)象可位于由它們父代占據(jù)的區(qū)內(nèi)的較高可能性,所以瀏覽器220可將子對(duì)象分組成子集,使得當(dāng)它們不在選定部分內(nèi)時(shí),即,在圖7中為子集添加新對(duì)象之后,(相比任意選擇子對(duì)象時(shí))子集不被處理的可能性更高。在本發(fā)明的替代性實(shí)施方式中,瀏覽器220可接收利用標(biāo)記語(yǔ)言描述的以存儲(chǔ)的保存于數(shù)據(jù)文件中而不是HTML文件中的DOM樹的形式的內(nèi)容。存儲(chǔ)的保存于數(shù)據(jù)文件中的DOM樹可能已通過與計(jì)算裝置100不同的計(jì)算裝置從HTML內(nèi)容預(yù)先獲得,且可能已通過所述不同計(jì)算裝置存儲(chǔ)于數(shù)據(jù)文件中。存儲(chǔ)的DOM樹可能以允許瀏覽器220比瀏覽器220直接可從HTML內(nèi)容獲得相同DOM樹時(shí)將更高效地構(gòu)造DOM樹(例如,在上述步驟300中)的格式被表示在數(shù)據(jù)文件中。將理解,HTML是被用于說明本發(fā)明的特征的示例性標(biāo)記語(yǔ)言,且本發(fā)明可與其他標(biāo)記語(yǔ)言一起使用,該其他標(biāo)記語(yǔ)言包括可擴(kuò)展標(biāo)記語(yǔ)言(XML)、可擴(kuò)展超文本標(biāo)記語(yǔ)言(xHTML)等。可替代地,本發(fā)明可被用于顯示與圖像有關(guān)的數(shù)據(jù)集。該數(shù)據(jù)集可至少部分從利用標(biāo)記語(yǔ)言描述的內(nèi)容獲得,例如,基于XML的語(yǔ)言,諸如可縮放矢量圖形(SVG)。該內(nèi)容可包括限定圖像結(jié)構(gòu)和特征的標(biāo)簽層級(jí),諸如圖像內(nèi)形狀和/或?qū)ο蠹捌湮恢煤?或外觀。由內(nèi)容引用或者包括在內(nèi)容內(nèi)的級(jí)聯(lián)樣式表(CSS)數(shù)據(jù)可限定用于顯示圖像的樣式信息。DOM樹可從限定圖像的XML標(biāo)簽構(gòu)造(例如,如在SVG1.1工作草案中所描述),且隨后被用于根據(jù)本發(fā)明的步驟顯示圖像??商娲兀景l(fā)明可被用于顯示與數(shù)學(xué)方程有關(guān)的數(shù)據(jù)集的選定部分。該數(shù)據(jù)集可至少部分從利用標(biāo)記語(yǔ)言描述的內(nèi)容獲得,例如,基于XML的語(yǔ)言,諸如數(shù)學(xué)標(biāo)記語(yǔ)言(MathML)。該內(nèi)容可包括限定數(shù)學(xué)方程結(jié)構(gòu)和特性的標(biāo)簽層級(jí)。由內(nèi)容引用或者包括在內(nèi)容內(nèi)的級(jí)聯(lián)樣式表(CSS)數(shù)據(jù)可限定被用于顯示圖像的樣式信息。DOM樹可從限定數(shù)學(xué)方程的XML標(biāo)簽構(gòu)造(例如,如在MathML3.0提議推薦標(biāo)準(zhǔn)中所描述),且隨后被用于根據(jù)本發(fā)明步驟顯示數(shù)學(xué)方程的選定部分。應(yīng)理解,針對(duì)任何一種實(shí)施方式描述的任何特征可被單獨(dú)或者結(jié)合所描述的其他特征使用,且也可結(jié)合任何其他實(shí)施方式中的一個(gè)或多個(gè)特征或者任何其他實(shí)施方式的任何組合來使用。此外,在不脫離本發(fā)明范圍的情況下,也可采用上文未描述的等同物和變形例,本發(fā)明的范圍在所附權(quán)利要求中被限定。