一種用于加載網(wǎng)頁的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明屬于數(shù)據(jù)處理領(lǐng)域,公開了一種用于加載網(wǎng)頁的方法和系統(tǒng)。該用于加載網(wǎng)頁的方法包括:從網(wǎng)頁應(yīng)用中尋找用戶界面變更部分,所述用戶界面變更部分的執(zhí)行能夠引發(fā)用戶界面發(fā)生變化;標(biāo)記所述用戶界面變更部分,以用于在執(zhí)行所述網(wǎng)頁應(yīng)用時,能中斷該執(zhí)行至少一次,并在中斷時執(zhí)行至少一個所述用戶界面變更部分。通過采用本發(fā)明提供的方法和系統(tǒng),可以中斷網(wǎng)頁應(yīng)用的執(zhí)行并進(jìn)行用戶界面的逐步加載,避免瀏覽器的長時間凍結(jié)。
【專利說明】-種用于加載網(wǎng)頁的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,更具體地,涉及一種用于加載網(wǎng)頁的方法和系統(tǒng)。
【背景技術(shù)】
[0002] 隨著技術(shù)的發(fā)展,網(wǎng)頁應(yīng)用被廣泛使用到各方面。用戶在使用這些網(wǎng)頁應(yīng)用時,常 常會遇到瀏覽器凍結(jié)的問題。通常情況下,瀏覽器不顯示任何內(nèi)容或者僅顯示部分內(nèi)容就 保持凍結(jié)狀態(tài),在凍結(jié)狀態(tài)結(jié)束的時候所有的內(nèi)容一起顯示出來。
[0003] 造成上述瀏覽器凍結(jié)的問題,主要是由于大量的JavaScript程序的運(yùn)行。在 JavaScript程序運(yùn)行的期間,無法更新用戶界面,從而導(dǎo)致了用戶一直面對著不完整且固 定不變的用戶界面或者空白的用戶界面,直至用戶界面的所有內(nèi)容一起呈現(xiàn)出來。
【發(fā)明內(nèi)容】
[0004] 基于現(xiàn)有技術(shù)中存在的上述問題,本發(fā)明實施例提供了一種用于加載網(wǎng)頁的方法 和系統(tǒng),以避免瀏覽器的長期凍結(jié)。
[0005] 根據(jù)本發(fā)明的一個方面,提供了一種用于加載網(wǎng)頁的方法,所述方法包括:從網(wǎng) 頁應(yīng)用中尋找用戶界面變更部分,所述用戶界面變更部分的執(zhí)行能夠引發(fā)用戶界面發(fā)生變 化;標(biāo)記所述用戶界面變更部分,以用于在執(zhí)行所述網(wǎng)頁應(yīng)用時,能中斷該執(zhí)行至少一次, 并在中斷時執(zhí)行至少一個所述用戶界面變更部分。
[0006] 根據(jù)本發(fā)明的另一個方面,提供了一種用于加載網(wǎng)頁的系統(tǒng),所述系統(tǒng)包括:搜索 模塊,被配置為從網(wǎng)頁應(yīng)用中尋找用戶界面變更部分,所述用戶界面變更部分的執(zhí)行能夠 引發(fā)用戶界面發(fā)生變化;標(biāo)記模塊,被配置為標(biāo)記所述用戶界面變更部分,以用于在執(zhí)行所 述網(wǎng)頁應(yīng)用時,能中斷該執(zhí)行至少一次,并在中斷時執(zhí)行至少一個所述用戶界面變更部分。
[0007] 本發(fā)明所提供的技術(shù)方案能夠避免瀏覽器長期凍結(jié)。
【專利附圖】
【附圖說明】
[0008] 通過結(jié)合附圖對本公開示例性實施方式進(jìn)行更詳細(xì)的描述,本公開的上述以及其 它目的、特征和優(yōu)勢將變得更加明顯,其中,在本公開示例性實施方式中,相同的參考標(biāo)號 通常代表相同部件。
[0009] 圖1示出了適于用來實現(xiàn)本發(fā)明實施方式的示例性計算機(jī)系統(tǒng)/服務(wù)器12的框 圖;
[0010] 圖2示出了本發(fā)明實施例一種用于加載網(wǎng)頁的方法的流程示意圖;
[0011] 圖3a示出了本發(fā)明實施例一種用于加載網(wǎng)頁的方法的流程示意圖;
[0012] 圖3b示出了本發(fā)明實施例一種用于加載網(wǎng)頁的方法的流程示意圖;
[0013] 圖4示出了本發(fā)明實施例一種將用戶界面劃分為多個部分的方法的流程示意圖;
[0014] 圖5示出了本發(fā)明實施例一種得到每個階段對應(yīng)的用戶界面變更部分的方法的 流程示意圖;
[0015] 圖6示出了本發(fā)明實施例一種用于加載網(wǎng)頁的方法的流程示意圖;
[0016] 圖7示出了本發(fā)明實施例一種用于加載網(wǎng)頁的方法的流程示意圖;
[0017] 圖8a_8d分別示出了本發(fā)明實施例中通過刪除用戶界面元素將用戶界面劃分為 多個部分的用戶界面示意圖;
[0018] 圖9不出了本發(fā)明實施例一種用于加載網(wǎng)頁的系統(tǒng)的結(jié)構(gòu)不意圖;
[0019] 圖10示出了本發(fā)明實施例一種用于加載網(wǎng)頁的系統(tǒng)的結(jié)構(gòu)示意圖;
[0020] 圖11示出了本發(fā)明實施例一種用于加載網(wǎng)頁的系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0021] 下面將參照附圖更詳細(xì)地描述本公開的優(yōu)選實施方式。雖然附圖中顯示了本公開 的優(yōu)選實施方式,然而應(yīng)該理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施方 式所限制。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的 范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0022] 所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明可以實現(xiàn)為系統(tǒng)、方法或計算機(jī)程序產(chǎn)品。 因此,本公開可以具體實現(xiàn)為以下形式,即:可以是完全的硬件、也可以是完全的軟件(包 括固件、駐留軟件、微代碼等),還可以是硬件和軟件結(jié)合的形式,本文一般稱為"電路"、"模 塊"或"系統(tǒng)"。此外,在一些實施例中,本發(fā)明還可以實現(xiàn)為在一個或多個計算機(jī)可讀介質(zhì) 中的計算機(jī)程序產(chǎn)品的形式,該計算機(jī)可讀介質(zhì)中包含計算機(jī)可讀的程序代碼。
[0023] 可以采用一個或多個計算機(jī)可讀的介質(zhì)的任意組合。計算機(jī)可讀介質(zhì)可以是計 算機(jī)可讀信號介質(zhì)或者計算機(jī)可讀存儲介質(zhì)。計算機(jī)可讀存儲介質(zhì)例如可以是--但不限 于--電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算 機(jī)可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導(dǎo)線的電連接、便 攜式計算機(jī)磁盤、硬盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲 器(EPROM或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、 或者上述的任意合適的組合。在本文件中,計算機(jī)可讀存儲介質(zhì)可以是任何包含或存儲程 序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0024] 計算機(jī)可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號, 其中承載了計算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括--但 不限于--電磁信號、光信號或上述的任意合適的組合。計算機(jī)可讀的信號介質(zhì)還可以是 計算機(jī)可讀存儲介質(zhì)以外的任何計算機(jī)可讀介質(zhì),該計算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者 傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0025] 計算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括--但不限 于--無線、電線、光纜、RF等等,或者上述的任意合適的組合。
[0026] 可以以一種或多種程序設(shè)計語言或其組合來編寫用于執(zhí)行本發(fā)明操作的計算機(jī) 程序代碼,所述程序設(shè)計語言包括面向?qū)ο蟮某绦蛟O(shè)計語言-諸如Java、Smalltalk、C++, 還包括常規(guī)的過程式程序設(shè)計語言-諸如"C"語言或類似的程序設(shè)計語言。程序代碼可以 完全地在用戶計算機(jī)上執(zhí)行、部分地在用戶計算機(jī)上執(zhí)行、作為一個獨(dú)立的軟件包執(zhí)行、部 分在用戶計算機(jī)上部分在遠(yuǎn)程計算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計算機(jī)或服務(wù)器上執(zhí)行。在 涉及遠(yuǎn)程計算機(jī)的情形中,遠(yuǎn)程計算機(jī)可以通過任意種類的網(wǎng)絡(luò)--包括局域網(wǎng)(LAN)或 廣域網(wǎng)(WAN)-連接到用戶計算機(jī),或者,可以連接到外部計算機(jī)(例如利用因特網(wǎng)服務(wù)提 供商來通過因特網(wǎng)連接)。
[0027] 下面將參照本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機(jī)程序產(chǎn)品的流程圖和/ 或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各 方框的組合,都可以由計算機(jī)程序指令實現(xiàn)。這些計算機(jī)程序占領(lǐng)可以提供給通用計算機(jī)、 專用計算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,這些計算機(jī)程序 指令通過計算機(jī)或其它可編程數(shù)據(jù)處理裝置執(zhí)行,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的方框 中規(guī)定的功能/操作的裝置。
[0028] 也可以把這些計算機(jī)程序指令存儲在能使得計算機(jī)或其它可編程數(shù)據(jù)處理裝置 以特定方式工作的計算機(jī)可讀介質(zhì)中,這樣,存儲在計算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出一 個包括實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置(instruction means)的制造品(manufacture) 〇
[0029] 也可以把計算機(jī)程序指令加載到計算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備 上,使得在計算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計 算機(jī)實現(xiàn)的過程,從而使得在計算機(jī)或其它可編程裝置上執(zhí)行的指令能夠提供實現(xiàn)流程圖 和/或框圖中的方框中規(guī)定的功能/操作的過程。
[0030] 圖1示出了適于用來實現(xiàn)本發(fā)明實施方式的示例性計算機(jī)系統(tǒng)/服務(wù)器12的框 圖。圖1顯示的計算機(jī)系統(tǒng)/服務(wù)器12僅僅是一個示例,不應(yīng)對本發(fā)明實施例的功能和使 用范圍帶來任何限制。
[0031] 如圖1所示,計算機(jī)系統(tǒng)/服務(wù)器12以通用計算設(shè)備的形式表現(xiàn)。計算機(jī)系統(tǒng) /服務(wù)器12的組件可以包括但不限于:一個或者多個處理器或者處理單元16,系統(tǒng)存儲器 28,連接不同系統(tǒng)組件(包括系統(tǒng)存儲器28和處理單元16)的總線18。
[0032] 總線18表示幾類總線結(jié)構(gòu)中的一種或多種,包括存儲器總線或者存儲器控制器, 外圍總線,圖形加速端口,處理器或者使用多種總線結(jié)構(gòu)中的任意總線結(jié)構(gòu)的局域總線。舉 例來說,這些體系結(jié)構(gòu)包括但不限于工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線,微通道體系結(jié)構(gòu)(MAC) 總線,增強(qiáng)型ISA總線、視頻電子標(biāo)準(zhǔn)協(xié)會(VESA)局域總線以及外圍組件互連(PCI)總線。
[0033] 計算機(jī)系統(tǒng)/服務(wù)器12典型地包括多種計算機(jī)系統(tǒng)可讀介質(zhì)。這些介質(zhì)可以是 任何能夠被計算機(jī)系統(tǒng)/服務(wù)器12訪問的可用介質(zhì),包括易失性和非易失性介質(zhì),可移動 的和不可移動的介質(zhì)。
[0034] 系統(tǒng)存儲器28可以包括易失性存儲器形式的計算機(jī)系統(tǒng)可讀介質(zhì),例如隨機(jī)存 取存儲器(RAM) 30和/或高速緩存存儲器32。計算機(jī)系統(tǒng)/服務(wù)器12可以進(jìn)一步包括其 它可移動/不可移動的、易失性/非易失性計算機(jī)系統(tǒng)存儲介質(zhì)。僅作為舉例,存儲系統(tǒng)34 可以用于讀寫不可移動的、非易失性磁介質(zhì)(圖1未顯示,通常稱為"硬盤驅(qū)動器")。盡管 圖1中未示出,可以提供用于對可移動非易失性磁盤(例如"軟盤")讀寫的磁盤驅(qū)動器, 以及對可移動非易失性光盤(例如⑶-ROM,DVD-ROM或者其它光介質(zhì))讀寫的光盤驅(qū)動器。 在這些情況下,每個驅(qū)動器可以通過一個或者多個數(shù)據(jù)介質(zhì)接口與總線18相連。存儲器28 可以包括至少一個程序產(chǎn)品,該程序產(chǎn)品具有一組(例如至少一個)程序模塊,這些程序模 塊被配置以執(zhí)行本發(fā)明各實施例的功能。
[0035] 具有一組(至少一個)程序模塊42的程序/實用工具40,可以存儲在例如存儲器 28中,這樣的程序模塊42包括--但不限于--操作系統(tǒng)、一個或者多個應(yīng)用程序、其它 程序模塊以及程序數(shù)據(jù),這些示例中的每一個或某種組合中可能包括網(wǎng)絡(luò)環(huán)境的實現(xiàn)。程 序模塊42通常執(zhí)行本發(fā)明所描述的實施例中的功能和/或方法。
[0036] 計算機(jī)系統(tǒng)/服務(wù)器12也可以與一個或多個外部設(shè)備14(例如鍵盤、指向設(shè)備、 顯示器24等)通信,還可與一個或者多個使得用戶能與該計算機(jī)系統(tǒng)/服務(wù)器12交互的 設(shè)備通信,和/或與使得該計算機(jī)系統(tǒng)/服務(wù)器12能與一個或多個其它計算設(shè)備進(jìn)行通信 的任何設(shè)備(例如網(wǎng)卡,調(diào)制解調(diào)器等等)通信。這種通信可以通過輸入/輸出(I/O)接 口 22進(jìn)行。并且,計算機(jī)系統(tǒng)/服務(wù)器12還可以通過網(wǎng)絡(luò)適配器20與一個或者多個網(wǎng)絡(luò) (例如局域網(wǎng)(LAN),廣域網(wǎng)(WAN)和/或公共網(wǎng)絡(luò),例如因特網(wǎng))通信。如圖所示,網(wǎng)絡(luò)適 配器20通過總線18與計算機(jī)系統(tǒng)/服務(wù)器12的其它模塊通信。應(yīng)當(dāng)明白,盡管圖中未示 出,可以結(jié)合計算機(jī)系統(tǒng)/服務(wù)器12使用其它硬件和/或軟件模塊,包括但不限于:微代 碼、設(shè)備驅(qū)動器、冗余處理單元、外部磁盤驅(qū)動陣列、RAID系統(tǒng)、磁帶驅(qū)動器以及數(shù)據(jù)備份存 儲系統(tǒng)等。
[0037] 現(xiàn)在參看圖2,本發(fā)明一實施例提供了一種用于加載網(wǎng)頁的方法。該方法包括:步 驟210,從網(wǎng)頁應(yīng)用中尋找用戶界面變更部分,所述用戶界面變更部分的執(zhí)行能夠引發(fā)用戶 界面發(fā)生變化;步驟220,標(biāo)記所述用戶界面變更部分,以用于在執(zhí)行所述網(wǎng)頁應(yīng)用時,能 中斷該執(zhí)行至少一次,并在中斷時執(zhí)行至少一個所述用戶界面變更部分。
[0038] 通過采用本實施例提供的方法,可以對網(wǎng)頁應(yīng)用中的用戶界面變更部分進(jìn)行標(biāo) 記,并且該標(biāo)記能夠使得執(zhí)行該網(wǎng)頁應(yīng)用時,能夠中斷該網(wǎng)頁應(yīng)用的執(zhí)行,并在中斷時執(zhí)行 用戶界面變更部分。這樣,可以避免由于網(wǎng)頁應(yīng)用長期執(zhí)行導(dǎo)致的瀏覽器凍結(jié),從而將用戶 界面一部分一部分的展現(xiàn)給用戶。本實施例提供的方法可以提高用戶感受。
[0039] 本發(fā)明一實施例中,步驟210可以采用多種方法實現(xiàn),例如靜態(tài)掃描網(wǎng)頁應(yīng)用,找 到所有的用戶界面變更部分。步驟210還可以通過監(jiān)聽D0M(DocumentObjectModel,文件 對象模型)樹的修改事件來找到用戶界面變更部分。例如,逐步運(yùn)行網(wǎng)頁應(yīng)用;監(jiān)聽所述網(wǎng) 頁應(yīng)用對應(yīng)的DOM樹的修改事件;若監(jiān)聽到所述DOM樹的修改事件,則記錄發(fā)生改變的節(jié)點(diǎn) 對應(yīng)的代碼為用戶界面變更部分。本發(fā)明一實施例中,可以采用如表1所示的形式記錄的 發(fā)生變化的節(jié)點(diǎn)和其對應(yīng)用戶界面變更部分。其中節(jié)點(diǎn)的描述例如包括節(jié)點(diǎn)發(fā)生變化的順 序。
[0040] 表1變化的節(jié)點(diǎn)及其對應(yīng)的用戶界面變更部分記錄表
[0041]
【權(quán)利要求】
1. 一種用于加載網(wǎng)頁的方法,所述方法包括: 從網(wǎng)頁應(yīng)用中尋找用戶界面變更部分,所述用戶界面變更部分的執(zhí)行能夠引發(fā)用戶界 面發(fā)生變化; 標(biāo)記所述用戶界面變更部分,以用于在執(zhí)行所述網(wǎng)頁應(yīng)用時,能中斷該執(zhí)行至少一次, 并在中斷時執(zhí)行至少一個所述用戶界面變更部分。
2. 根據(jù)權(quán)利要求1所述的方法,其中,所述從網(wǎng)頁應(yīng)用中尋找用戶界面變更部分,包 括: 逐步運(yùn)行所述網(wǎng)頁應(yīng)用; 監(jiān)聽所述網(wǎng)頁應(yīng)用對應(yīng)的DOM樹的修改事件; 若監(jiān)聽到所述DOM樹的修改事件,則記錄發(fā)生改變的節(jié)點(diǎn)對應(yīng)的代碼為用戶界面變更 部分。
3. 根據(jù)權(quán)利要求1所述的方法,其中,所述標(biāo)記所述用戶界面變更部分,包括:通過將 所述用戶界面變更部分設(shè)置為延遲N個單位時間執(zhí)行來標(biāo)記所述用戶界面變更部分,其中 N大于或者等于0。
4. 根據(jù)權(quán)利要求1所述的方法,其中, 所述方法進(jìn)一步包括:將所述網(wǎng)頁應(yīng)用的執(zhí)行分成至少兩個階段;從找到的用戶界面 變更部分中,確定所述至少兩個階段中第一階段對應(yīng)的第一用戶界面變更部分; 所述標(biāo)記所述用戶界面變更部分,包括:標(biāo)記所述第一用戶界面變更部分,以用于在執(zhí) 行所述網(wǎng)頁應(yīng)用時,在所述第一階段執(zhí)行完畢后中斷所述網(wǎng)頁應(yīng)用的執(zhí)行,并在中斷時執(zhí) 行所述第一用戶界面變更部分。
5. 根據(jù)權(quán)利要求1所述的方法,其中, 所述方法進(jìn)一步包括:將所述網(wǎng)頁應(yīng)用的執(zhí)行分成至少兩個階段;從找到的用戶界面 變更部分中,確定所述至少兩個階段中每個階段對應(yīng)的用戶界面變更部分; 所述標(biāo)記所述用戶界面變更部分,包括:標(biāo)記所述每個階段對應(yīng)的用戶界面變更部分, 以用于在執(zhí)行所述網(wǎng)頁應(yīng)用時,在所述每個階段執(zhí)行完畢后中斷所述網(wǎng)頁應(yīng)用的執(zhí)行,并 在中斷時執(zhí)行該階段對應(yīng)的用戶界面變更部分。
6. 根據(jù)權(quán)利要求4或5所述的方法,其中,所述將所述網(wǎng)頁應(yīng)用的執(zhí)行分成至少兩個階 段,包括:將所述網(wǎng)頁應(yīng)用執(zhí)行完畢后的完整的用戶界面分為至少兩個部分,根據(jù)所述完整 的用戶界面的至少兩個部分將所述網(wǎng)頁應(yīng)用的執(zhí)行分成至少兩個階段,其中,所述至少兩 個階段中的每個階段執(zhí)行完畢后能夠呈現(xiàn)對應(yīng)的完整的用戶界面的一個部分。
7. 根據(jù)權(quán)利要求6所述的方法,其中,所述將所述網(wǎng)頁應(yīng)用執(zhí)行完畢后的完整的用戶 界面分為至少兩個部分,包括以下之一: 按照先顯示框架后顯示內(nèi)容的原則,將所述網(wǎng)頁應(yīng)用執(zhí)行完畢后的完整的用戶界面分 為至少兩個部分;和 按照用戶定義的顯示順序,將所述網(wǎng)頁應(yīng)用執(zhí)行完畢后的完整的用戶界面分為至少兩 個部分。
8. 根據(jù)權(quán)利要求4所述的方法,所述方法進(jìn)一步包括: 在執(zhí)行所述網(wǎng)頁應(yīng)用遇到被標(biāo)記的部分時,將該被標(biāo)記的部分列在預(yù)備隊列中,若所 述預(yù)備隊列包括了全部的所述第一用戶界面變更部分,則中斷所述網(wǎng)頁應(yīng)用的執(zhí)行,并執(zhí) 行該全部的所述第一用戶界面變更部分,否則跨過該被標(biāo)記的部分繼續(xù)執(zhí)行所述網(wǎng)頁應(yīng) 用。
9. 根據(jù)權(quán)利要求5所述的方法,所述方法進(jìn)一步包括: 在執(zhí)行所述網(wǎng)頁應(yīng)用遇到被標(biāo)記的部分時,若該被標(biāo)記的部分對應(yīng)于當(dāng)前的階段,則 將該被標(biāo)記的部分列在預(yù)備隊列中;否則將該被標(biāo)記的部分列在待選隊列中; 響應(yīng)于該被標(biāo)記的部分列在所述預(yù)備隊列中,若所述預(yù)備隊列包括了當(dāng)前的階段對應(yīng) 的所有的用戶界面變更部分,則中斷所述網(wǎng)頁應(yīng)用的執(zhí)行,并執(zhí)行當(dāng)前的階段對應(yīng)的所有 的用戶界面變更部分;否則跨過該被標(biāo)記的部分,繼續(xù)執(zhí)行所述網(wǎng)頁應(yīng)用; 響應(yīng)于該被標(biāo)記的部分列在所述待選隊列中,跨過該被標(biāo)記的部分,繼續(xù)執(zhí)行所述網(wǎng) 頁應(yīng)用。
10. 根據(jù)權(quán)利要求9所述的方法,所述方法進(jìn)一步包括:在開始執(zhí)行所述每個階段時, 響應(yīng)于所述待選隊列中包括當(dāng)前的階段對應(yīng)的用戶界面變更部分,將當(dāng)前的階段對應(yīng)的用 戶界面變更部分從所述待選隊列中移到所述預(yù)備隊列中。
11. 一種用于加載網(wǎng)頁的系統(tǒng),所述系統(tǒng)包括: 搜索模塊,被配置為從網(wǎng)頁應(yīng)用中尋找用戶界面變更部分,所述用戶界面變更部分的 執(zhí)行能夠引發(fā)用戶界面發(fā)生變化; 標(biāo)記模塊,被配置為標(biāo)記所述用戶界面變更部分,以用于在執(zhí)行所述網(wǎng)頁應(yīng)用時,能中 斷該執(zhí)行至少一次,并在中斷時執(zhí)行至少一個所述用戶界面變更部分。
12. 根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述搜索模塊包括: 運(yùn)行子模塊,被配置為逐步運(yùn)行所述網(wǎng)頁應(yīng)用; 監(jiān)聽子模塊,被配置為監(jiān)聽所述網(wǎng)頁應(yīng)用對應(yīng)的DOM樹的修改事件; 記錄子模塊,被配置為若監(jiān)聽到所述DOM樹的修改事件,則記錄發(fā)生改變的節(jié)點(diǎn)對應(yīng) 的代碼為用戶界面變更部分。
13. 根據(jù)權(quán)利要求11所述的系統(tǒng),其中,所述標(biāo)記模塊進(jìn)一步被配置為通過將所述用 戶界面變更部分設(shè)置為延遲N個單位時間執(zhí)行來標(biāo)記所述用戶界面變更部分,其中N大于 或者等于0。
14. 根據(jù)權(quán)利要求11所述的系統(tǒng),其中, 所述系統(tǒng)進(jìn)一步包括:執(zhí)行階段劃分模塊,被配置為將所述網(wǎng)頁應(yīng)用的執(zhí)行分成至少 兩個階段;匹配模塊,被配置為從找到的用戶界面變更部分中,確定所述至少兩個階段中第 一階段對應(yīng)的第一用戶界面變更部分; 所述標(biāo)記模塊進(jìn)一步被配置為標(biāo)記所述第一用戶界面變更部分,以用于在執(zhí)行所述網(wǎng) 頁應(yīng)用時,在所述第一階段執(zhí)行完畢后中斷所述網(wǎng)頁應(yīng)用的執(zhí)行,并在中斷時執(zhí)行所述第 一用戶界面變更部分。
15. 根據(jù)權(quán)利要求11所述的系統(tǒng),其中, 所述系統(tǒng)進(jìn)一步包括:執(zhí)行階段劃分模塊,被配置為將所述網(wǎng)頁應(yīng)用的執(zhí)行分成至少 兩個階段;匹配模塊,被配置為從找到的用戶界面變更部分中,確定所述至少兩個階段中每 個階段對應(yīng)的用戶界面變更部分; 所述標(biāo)記模塊進(jìn)一步被配置為標(biāo)記所述每個階段對應(yīng)的用戶界面變更部分,以用于在 執(zhí)行所述網(wǎng)頁應(yīng)用時,在所述每個階段執(zhí)行完畢后中斷所述網(wǎng)頁應(yīng)用的執(zhí)行,并在中斷時 執(zhí)行該階段對應(yīng)的用戶界面變更部分。
16. 根據(jù)權(quán)利要求14或15所述的系統(tǒng),其中,所述執(zhí)行階段劃分模塊進(jìn)一步被配置為 將所述網(wǎng)頁應(yīng)用執(zhí)行完畢后的完整的用戶界面分為至少兩個部分,并根據(jù)所述完整的用戶 界面的至少兩個部分將所述網(wǎng)頁應(yīng)用的執(zhí)行分成至少兩個階段,其中,所述至少兩個階段 中的每個階段執(zhí)行完畢后能夠呈現(xiàn)對應(yīng)的完整的用戶界面的一個部分。
17. 根據(jù)權(quán)利要求16所述的系統(tǒng),其中,所述執(zhí)行階段劃分模塊將所述網(wǎng)頁應(yīng)用執(zhí)行 完畢后的完整的用戶界面分為至少兩個部分具體可以包括以下之一: 所述執(zhí)行階段劃分模塊按照先顯示框架后顯示內(nèi)容的原則,將所述網(wǎng)頁應(yīng)用執(zhí)行完畢 后的完整的用戶界面分為至少兩個部分;以及 所述執(zhí)行階段劃分模塊按照用戶定義的顯示順序,將所述網(wǎng)頁應(yīng)用執(zhí)行完畢后的完整 的用戶界面分為至少兩個部分。
18. 根據(jù)權(quán)利要求14所述的系統(tǒng),所述系統(tǒng)進(jìn)一步包括: 第一隊列分配模塊,被配置為在執(zhí)行所述網(wǎng)頁應(yīng)用遇到被標(biāo)記的部分時,將該被標(biāo)記 的部分列在預(yù)備隊列中; 第一判斷模塊,被配置為若所述預(yù)備隊列包括了全部的所述第一用戶界面變更部分, 則中斷所述網(wǎng)頁應(yīng)用的執(zhí)行,并執(zhí)行該全部的所述第一用戶界面變更部分,否則跨過該被 標(biāo)記的部分繼續(xù)執(zhí)行所述網(wǎng)頁應(yīng)用。
19. 根據(jù)權(quán)利要求15所述的系統(tǒng),所述系統(tǒng)進(jìn)一步包括: 第二隊列分配模塊,被配置為在執(zhí)行所述網(wǎng)頁應(yīng)用遇到被標(biāo)記的部分時,若該被標(biāo)記 的部分對應(yīng)于當(dāng)前的階段,則將該被標(biāo)記的部分列在預(yù)備隊列中;否則將該被標(biāo)記的部分 列在待選隊列中; 第二判斷模塊,被配置為響應(yīng)于該被標(biāo)記的部分列在所述預(yù)備隊列中,若所述預(yù)備隊 列包括了當(dāng)前的階段對應(yīng)的所有的用戶界面變更部分,則中斷所述網(wǎng)頁應(yīng)用的執(zhí)行,并執(zhí) 行當(dāng)前的階段對應(yīng)的所有的用戶界面變更部分;否則跨過該被標(biāo)記的部分,繼續(xù)執(zhí)行所述 網(wǎng)頁應(yīng)用; 執(zhí)行模塊,被配置為響應(yīng)于該被標(biāo)記的部分列在所述待選隊列中,跨過該被標(biāo)記的部 分,繼續(xù)執(zhí)行所述網(wǎng)頁應(yīng)用。
20. 根據(jù)權(quán)利要求19所述的系統(tǒng),所述系統(tǒng)進(jìn)一步包括: 移動模塊,被配置為在開始執(zhí)行所述每個階段時,響應(yīng)于所述待選隊列中包括當(dāng)前的 階段對應(yīng)的用戶界面變更部分,將當(dāng)前的階段對應(yīng)的用戶界面變更部分從所述待選隊列中 移到所述預(yù)備隊列中。
【文檔編號】G06F17/30GK104239352SQ201310247605
【公開日】2014年12月24日 申請日期:2013年6月20日 優(yōu)先權(quán)日:2013年6月20日
【發(fā)明者】阮奇, 鐘思奇, 朱小文, 劉洋, 王沛, 黃瑋 申請人:國際商業(yè)機(jī)器公司