一种用于加载网页的方法和系统的制作方法

文档序号:6504525阅读:158来源:国知局
一种用于加载网页的方法和系统的制作方法
【专利摘要】本发明属于数据处理领域,公开了一种用于加载网页的方法和系统。该用于加载网页的方法包括:从网页应用中寻找用户界面变更部分,所述用户界面变更部分的执行能够引发用户界面发生变化;标记所述用户界面变更部分,以用于在执行所述网页应用时,能中断该执行至少一次,并在中断时执行至少一个所述用户界面变更部分。通过采用本发明提供的方法和系统,可以中断网页应用的执行并进行用户界面的逐步加载,避免浏览器的长时间冻结。
【专利说明】-种用于加载网页的方法和系统

【技术领域】
[0001] 本发明涉及数据处理领域,更具体地,涉及一种用于加载网页的方法和系统。

【背景技术】
[0002] 随着技术的发展,网页应用被广泛使用到各方面。用户在使用这些网页应用时,常 常会遇到浏览器冻结的问题。通常情况下,浏览器不显示任何内容或者仅显示部分内容就 保持冻结状态,在冻结状态结束的时候所有的内容一起显示出来。
[0003] 造成上述浏览器冻结的问题,主要是由于大量的JavaScript程序的运行。在 JavaScript程序运行的期间,无法更新用户界面,从而导致了用户一直面对着不完整且固 定不变的用户界面或者空白的用户界面,直至用户界面的所有内容一起呈现出来。


【发明内容】

[0004] 基于现有技术中存在的上述问题,本发明实施例提供了一种用于加载网页的方法 和系统,以避免浏览器的长期冻结。
[0005] 根据本发明的一个方面,提供了一种用于加载网页的方法,所述方法包括:从网 页应用中寻找用户界面变更部分,所述用户界面变更部分的执行能够引发用户界面发生变 化;标记所述用户界面变更部分,以用于在执行所述网页应用时,能中断该执行至少一次, 并在中断时执行至少一个所述用户界面变更部分。
[0006] 根据本发明的另一个方面,提供了一种用于加载网页的系统,所述系统包括:搜索 模块,被配置为从网页应用中寻找用户界面变更部分,所述用户界面变更部分的执行能够 引发用户界面发生变化;标记模块,被配置为标记所述用户界面变更部分,以用于在执行所 述网页应用时,能中断该执行至少一次,并在中断时执行至少一个所述用户界面变更部分。
[0007] 本发明所提供的技术方案能够避免浏览器长期冻结。

【专利附图】

【附图说明】
[0008] 通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其 它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号 通常代表相同部件。
[0009] 图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框 图;
[0010] 图2示出了本发明实施例一种用于加载网页的方法的流程示意图;
[0011] 图3a示出了本发明实施例一种用于加载网页的方法的流程示意图;
[0012] 图3b示出了本发明实施例一种用于加载网页的方法的流程示意图;
[0013] 图4示出了本发明实施例一种将用户界面划分为多个部分的方法的流程示意图;
[0014] 图5示出了本发明实施例一种得到每个阶段对应的用户界面变更部分的方法的 流程示意图;
[0015] 图6示出了本发明实施例一种用于加载网页的方法的流程示意图;
[0016] 图7示出了本发明实施例一种用于加载网页的方法的流程示意图;
[0017] 图8a_8d分别示出了本发明实施例中通过删除用户界面元素将用户界面划分为 多个部分的用户界面示意图;
[0018] 图9不出了本发明实施例一种用于加载网页的系统的结构不意图;
[0019] 图10示出了本发明实施例一种用于加载网页的系统的结构示意图;
[0020] 图11示出了本发明实施例一种用于加载网页的系统的结构示意图。

【具体实施方式】
[0021] 下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开 的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方 式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的 范围完整的传达给本领域的技术人员。
[0022] 所属【技术领域】的技术人员知道,本发明可以实现为系统、方法或计算机程序产品。 因此,本公开可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包 括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为"电路"、"模 块"或"系统"。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质 中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
[0023] 可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计 算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是--但不限 于--电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算 机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便 携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储 器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、 或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程 序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0024] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号, 其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括--但 不限于--电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是 计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者 传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0025] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括--但不限 于--无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0026] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机 程序代码,所述程序设计语言包括面向对象的程序设计语言-诸如Java、Smalltalk、C++, 还包括常规的过程式程序设计语言-诸如"C"语言或类似的程序设计语言。程序代码可以 完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部 分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在 涉及远程计算机的情形中,远程计算机可以通过任意种类的网络--包括局域网(LAN)或 广域网(WAN)-连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提 供商来通过因特网连接)。
[0027] 下面将参照本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/ 或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各 方框的组合,都可以由计算机程序指令实现。这些计算机程序占领可以提供给通用计算机、 专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序 指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框 中规定的功能/操作的装置。
[0028] 也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置 以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一 个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture) 〇
[0029] 也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备 上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计 算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图 和/或框图中的方框中规定的功能/操作的过程。
[0030] 图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的框 图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使 用范围带来任何限制。
[0031] 如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统 /服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器 28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0032] 总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器, 外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举 例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC) 总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0033] 计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是 任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动 的和不可移动的介质。
[0034] 系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存 取存储器(RAM) 30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其 它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34 可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为"硬盘驱动器")。尽管 图1中未示出,可以提供用于对可移动非易失性磁盘(例如"软盘")读写的磁盘驱动器, 以及对可移动非易失性光盘(例如⑶-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。 在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28 可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模 块被配置以执行本发明各实施例的功能。
[0035] 具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器 28中,这样的程序模块42包括--但不限于--操作系统、一个或者多个应用程序、其它 程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程 序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0036] 计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、 显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的 设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信 的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接 口 22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络 (例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适 配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示 出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代 码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存 储系统等。
[0037] 现在参看图2,本发明一实施例提供了一种用于加载网页的方法。该方法包括:步 骤210,从网页应用中寻找用户界面变更部分,所述用户界面变更部分的执行能够引发用户 界面发生变化;步骤220,标记所述用户界面变更部分,以用于在执行所述网页应用时,能 中断该执行至少一次,并在中断时执行至少一个所述用户界面变更部分。
[0038] 通过采用本实施例提供的方法,可以对网页应用中的用户界面变更部分进行标 记,并且该标记能够使得执行该网页应用时,能够中断该网页应用的执行,并在中断时执行 用户界面变更部分。这样,可以避免由于网页应用长期执行导致的浏览器冻结,从而将用户 界面一部分一部分的展现给用户。本实施例提供的方法可以提高用户感受。
[0039] 本发明一实施例中,步骤210可以采用多种方法实现,例如静态扫描网页应用,找 到所有的用户界面变更部分。步骤210还可以通过监听D0M(DocumentObjectModel,文件 对象模型)树的修改事件来找到用户界面变更部分。例如,逐步运行网页应用;监听所述网 页应用对应的DOM树的修改事件;若监听到所述DOM树的修改事件,则记录发生改变的节点 对应的代码为用户界面变更部分。本发明一实施例中,可以采用如表1所示的形式记录的 发生变化的节点和其对应用户界面变更部分。其中节点的描述例如包括节点发生变化的顺 序。
[0040] 表1变化的节点及其对应的用户界面变更部分记录表
[0041]

【权利要求】
1. 一种用于加载网页的方法,所述方法包括: 从网页应用中寻找用户界面变更部分,所述用户界面变更部分的执行能够引发用户界 面发生变化; 标记所述用户界面变更部分,以用于在执行所述网页应用时,能中断该执行至少一次, 并在中断时执行至少一个所述用户界面变更部分。
2. 根据权利要求1所述的方法,其中,所述从网页应用中寻找用户界面变更部分,包 括: 逐步运行所述网页应用; 监听所述网页应用对应的DOM树的修改事件; 若监听到所述DOM树的修改事件,则记录发生改变的节点对应的代码为用户界面变更 部分。
3. 根据权利要求1所述的方法,其中,所述标记所述用户界面变更部分,包括:通过将 所述用户界面变更部分设置为延迟N个单位时间执行来标记所述用户界面变更部分,其中 N大于或者等于0。
4. 根据权利要求1所述的方法,其中, 所述方法进一步包括:将所述网页应用的执行分成至少两个阶段;从找到的用户界面 变更部分中,确定所述至少两个阶段中第一阶段对应的第一用户界面变更部分; 所述标记所述用户界面变更部分,包括:标记所述第一用户界面变更部分,以用于在执 行所述网页应用时,在所述第一阶段执行完毕后中断所述网页应用的执行,并在中断时执 行所述第一用户界面变更部分。
5. 根据权利要求1所述的方法,其中, 所述方法进一步包括:将所述网页应用的执行分成至少两个阶段;从找到的用户界面 变更部分中,确定所述至少两个阶段中每个阶段对应的用户界面变更部分; 所述标记所述用户界面变更部分,包括:标记所述每个阶段对应的用户界面变更部分, 以用于在执行所述网页应用时,在所述每个阶段执行完毕后中断所述网页应用的执行,并 在中断时执行该阶段对应的用户界面变更部分。
6. 根据权利要求4或5所述的方法,其中,所述将所述网页应用的执行分成至少两个阶 段,包括:将所述网页应用执行完毕后的完整的用户界面分为至少两个部分,根据所述完整 的用户界面的至少两个部分将所述网页应用的执行分成至少两个阶段,其中,所述至少两 个阶段中的每个阶段执行完毕后能够呈现对应的完整的用户界面的一个部分。
7. 根据权利要求6所述的方法,其中,所述将所述网页应用执行完毕后的完整的用户 界面分为至少两个部分,包括以下之一: 按照先显示框架后显示内容的原则,将所述网页应用执行完毕后的完整的用户界面分 为至少两个部分;和 按照用户定义的显示顺序,将所述网页应用执行完毕后的完整的用户界面分为至少两 个部分。
8. 根据权利要求4所述的方法,所述方法进一步包括: 在执行所述网页应用遇到被标记的部分时,将该被标记的部分列在预备队列中,若所 述预备队列包括了全部的所述第一用户界面变更部分,则中断所述网页应用的执行,并执 行该全部的所述第一用户界面变更部分,否则跨过该被标记的部分继续执行所述网页应 用。
9. 根据权利要求5所述的方法,所述方法进一步包括: 在执行所述网页应用遇到被标记的部分时,若该被标记的部分对应于当前的阶段,则 将该被标记的部分列在预备队列中;否则将该被标记的部分列在待选队列中; 响应于该被标记的部分列在所述预备队列中,若所述预备队列包括了当前的阶段对应 的所有的用户界面变更部分,则中断所述网页应用的执行,并执行当前的阶段对应的所有 的用户界面变更部分;否则跨过该被标记的部分,继续执行所述网页应用; 响应于该被标记的部分列在所述待选队列中,跨过该被标记的部分,继续执行所述网 页应用。
10. 根据权利要求9所述的方法,所述方法进一步包括:在开始执行所述每个阶段时, 响应于所述待选队列中包括当前的阶段对应的用户界面变更部分,将当前的阶段对应的用 户界面变更部分从所述待选队列中移到所述预备队列中。
11. 一种用于加载网页的系统,所述系统包括: 搜索模块,被配置为从网页应用中寻找用户界面变更部分,所述用户界面变更部分的 执行能够引发用户界面发生变化; 标记模块,被配置为标记所述用户界面变更部分,以用于在执行所述网页应用时,能中 断该执行至少一次,并在中断时执行至少一个所述用户界面变更部分。
12. 根据权利要求11所述的系统,其中,所述搜索模块包括: 运行子模块,被配置为逐步运行所述网页应用; 监听子模块,被配置为监听所述网页应用对应的DOM树的修改事件; 记录子模块,被配置为若监听到所述DOM树的修改事件,则记录发生改变的节点对应 的代码为用户界面变更部分。
13. 根据权利要求11所述的系统,其中,所述标记模块进一步被配置为通过将所述用 户界面变更部分设置为延迟N个单位时间执行来标记所述用户界面变更部分,其中N大于 或者等于0。
14. 根据权利要求11所述的系统,其中, 所述系统进一步包括:执行阶段划分模块,被配置为将所述网页应用的执行分成至少 两个阶段;匹配模块,被配置为从找到的用户界面变更部分中,确定所述至少两个阶段中第 一阶段对应的第一用户界面变更部分; 所述标记模块进一步被配置为标记所述第一用户界面变更部分,以用于在执行所述网 页应用时,在所述第一阶段执行完毕后中断所述网页应用的执行,并在中断时执行所述第 一用户界面变更部分。
15. 根据权利要求11所述的系统,其中, 所述系统进一步包括:执行阶段划分模块,被配置为将所述网页应用的执行分成至少 两个阶段;匹配模块,被配置为从找到的用户界面变更部分中,确定所述至少两个阶段中每 个阶段对应的用户界面变更部分; 所述标记模块进一步被配置为标记所述每个阶段对应的用户界面变更部分,以用于在 执行所述网页应用时,在所述每个阶段执行完毕后中断所述网页应用的执行,并在中断时 执行该阶段对应的用户界面变更部分。
16. 根据权利要求14或15所述的系统,其中,所述执行阶段划分模块进一步被配置为 将所述网页应用执行完毕后的完整的用户界面分为至少两个部分,并根据所述完整的用户 界面的至少两个部分将所述网页应用的执行分成至少两个阶段,其中,所述至少两个阶段 中的每个阶段执行完毕后能够呈现对应的完整的用户界面的一个部分。
17. 根据权利要求16所述的系统,其中,所述执行阶段划分模块将所述网页应用执行 完毕后的完整的用户界面分为至少两个部分具体可以包括以下之一: 所述执行阶段划分模块按照先显示框架后显示内容的原则,将所述网页应用执行完毕 后的完整的用户界面分为至少两个部分;以及 所述执行阶段划分模块按照用户定义的显示顺序,将所述网页应用执行完毕后的完整 的用户界面分为至少两个部分。
18. 根据权利要求14所述的系统,所述系统进一步包括: 第一队列分配模块,被配置为在执行所述网页应用遇到被标记的部分时,将该被标记 的部分列在预备队列中; 第一判断模块,被配置为若所述预备队列包括了全部的所述第一用户界面变更部分, 则中断所述网页应用的执行,并执行该全部的所述第一用户界面变更部分,否则跨过该被 标记的部分继续执行所述网页应用。
19. 根据权利要求15所述的系统,所述系统进一步包括: 第二队列分配模块,被配置为在执行所述网页应用遇到被标记的部分时,若该被标记 的部分对应于当前的阶段,则将该被标记的部分列在预备队列中;否则将该被标记的部分 列在待选队列中; 第二判断模块,被配置为响应于该被标记的部分列在所述预备队列中,若所述预备队 列包括了当前的阶段对应的所有的用户界面变更部分,则中断所述网页应用的执行,并执 行当前的阶段对应的所有的用户界面变更部分;否则跨过该被标记的部分,继续执行所述 网页应用; 执行模块,被配置为响应于该被标记的部分列在所述待选队列中,跨过该被标记的部 分,继续执行所述网页应用。
20. 根据权利要求19所述的系统,所述系统进一步包括: 移动模块,被配置为在开始执行所述每个阶段时,响应于所述待选队列中包括当前的 阶段对应的用户界面变更部分,将当前的阶段对应的用户界面变更部分从所述待选队列中 移到所述预备队列中。
【文档编号】G06F17/30GK104239352SQ201310247605
【公开日】2014年12月24日 申请日期:2013年6月20日 优先权日:2013年6月20日
【发明者】阮奇, 钟思奇, 朱小文, 刘洋, 王沛, 黄玮 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1