CN104199915A - 网页变化检测方法及装置 - Google Patents

网页变化检测方法及装置 Download PDF

Info

Publication number
CN104199915A
CN104199915A CN201410436954.7A CN201410436954A CN104199915A CN 104199915 A CN104199915 A CN 104199915A CN 201410436954 A CN201410436954 A CN 201410436954A CN 104199915 A CN104199915 A CN 104199915A
Authority
CN
China
Prior art keywords
node
child node
described body
content
child
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410436954.7A
Other languages
English (en)
Other versions
CN104199915B (zh
Inventor
左景龙
杜中义
李远洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaomi Technology Co Ltd
Xiaomi Inc
Original Assignee
Xiaomi Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiaomi Inc filed Critical Xiaomi Inc
Priority to CN201410436954.7A priority Critical patent/CN104199915B/zh
Publication of CN104199915A publication Critical patent/CN104199915A/zh
Application granted granted Critical
Publication of CN104199915B publication Critical patent/CN104199915B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开是关于一种网页变化检测方法及装置。所述方法包括:监测网页的DOM树中的Body节点及其子节点的变化;根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容;根据所述所述Body节点及其子节点变化后的节点内容确定所述网页变化后的预览内容,并对所述变化后的预览内容进行显示。本公开使得阅读模式下的预览内容能够随网页内容变化而自适应地变化。

Description

网页变化检测方法及装置
技术领域
本公开涉及网页技术领域,尤其涉及一种网页变化检测方法及装置。
背景技术
随着移动终端和互联网技术的发展,人们越来越多的通过手机、平板电脑等移动终端对网络进行访问。移动终端在对网络进行访问时,可以访问网页,网页中除了主要展示的正文以外,还包括标题、相关链接、推荐内容以及广告等等内容。目前,移动终端上的浏览器可通过阅读模式浏览网页,仅浏览网页中的关键内容。
相关技术中,在某一个时刻,浏览器检测网页,如果检测出阅读模式的内容,那么在移动终端的界面上就会显示出阅读模式的图标,当用户点击时,展现出阅读模式的内容。但是,当处于阅读模式时,如果此时网页内容发生了变化,阅读模式的预览内容不能够在网页内容发生变化后自动地适应网页的变化。
发明内容
为克服相关技术中存在的问题,本公开实施例提供一种网页变化检测方法及装置。
根据本公开实施例的第一方面,提供一种网页变化检测方法,包括:
监测网页的DOM树中的Body节点及其子节点的变化;
根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容;
根据所述所述Body节点及其子节点变化后的节点内容确定所述网页变化后的预览内容,并对所述变化后的预览内容进行显示。
本实施例中,通过对网页的DOM树中的Body节点及其子节点进行检查,根据其变化重新生成阅读模式下的预览内容,使得阅读模式下的预览内容能够随网页内容变化而自适应地变化。这样,使得在阅读模式下,可以更加准确地展示网页的预览内容,提高用户体验度。
可选的,所述监测网页的DOM树中的Body节点及其子节点的变化,包括:
监测对所述Body节点及其子节点的DOM操作;
所述根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容,包括:
当监测到对所述Body节点及其子节点的DOM操作结束后,触发对所述Body节点及其子节点的检测;
检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
在可选方案中,在Body节点及其子节点的DOM操作结束后,才触发对Body节点及其子节点的检测,可以大大地减少因Body节点及其子节点内容变化触发重新检测的次数,避免浏览器出现卡顿现象,提高了对网页关键内容的检测效率,节约终端的处理能力。
可选的,所述根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容,还包括:
统计所述Body节点及其子节点中发生变化的非链接文字的总数量值;
当所述总数量值大于预设数量值时,检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
在可选方案中,对于一些微小的网页变化,不会触发重新检测其Body节点及其子节点,除非有大量的非链接文字发生了变化,才会进行重新检测。这样,可以过滤掉大部分无效的变化,可以大大地减少因Body节点及其子节点内容变化触发重新检测的次数,从而提高了对网页内容的检测效率,节约终端的处理能力。
可选的,所述统计所述Body节点及其子节点中发生变化的非链接文字的总数量值,包括:
获取所述Body节点及其子节点中增加的非链接文字的第一数量值,所述Body节点及其子节点中减少的非链接文字的第二数量值,以及所述Body节点及其子节点中可见属性发生变化的非链接文字的第三数量值;
计算所述第一数量值、第二数量值及第三数量值之和,得到所述总数量值。
在可选方案中,当有大量的非链接文字发生了变化,才会进行重新检测。这样,可以过滤掉大部分无效的变化,可以大大地减少因Body节点及其子节点内容变化触发重新检测的次数,从而提高了对网页内容的检测效率,节约终端的处理能力。
可选的,所述根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容,还包括:
当本次触发对所述Body节点及其子节点的检测后,开始计时;
当在预设时间内未出现再次触发对所述Body节点及其子节点的检测时,检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
在可选方案中,当有大量的非链接文字发生了变化,才会进行重新检测。这样,可以过滤掉大部分无效的变化,可以大大地减少因Body节点及其子节点内容变化触发重新检测的次数,从而提高了对网页内容的检测效率,节约终端的处理能力。
可选的,所述根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容,还包括:
当在所述预设时间内出现再次触发对所述Body节点及其子节点的检测时,重新开始计时,直到在所述在预设时间内未出现触发对所述Body节点及其子节点的检测。
在可选方案中,通过对相邻两次变化之间的时间间隔时间进行限定,避免在短时间内多次检测Body节点及其子节点而造成的浏览器的卡顿,进一步减少了检测次数,提高了对网页内容的检测效率,节约终端的处理能力。
可选的,所述根据所述所述Body节点及其子节点变化后的节点内容确定所述网页变化后的预览内容,并对所述变化后的预览内容进行显示,包括:
当确定所述网页变化后存在预览内容时,在所述网页上显示所述预览模式图标;
当接收到对所述预览模式图标的选定操作时,显示所述变化后的预览内容;
或者,
当确定所述网页变化后不存在预览内容时,在所述网页上隐藏所述预览模式图标。
在可选方案中,如果网页变化后存在预览内容,则在网页上显示预览模式图标,提示用户可以采用阅读模式;如果网页变化后不存在预览内容,则在网页上隐藏预览模式图标,提示用户无法采用阅读模式。这样,通过是否显示预览模式图标来提示用户网页发生变化,使得用户可以更准确地使用阅读模式浏览网页,用户体验度较好。
根据本公开实施例的第二方面,提供一种网页变化检测装置,包括:
监测模块,用于监测网页的DOM树中的Body节点及其子节点的变化;
检测模块,用于根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容;
确定模块,用于根据所述所述Body节点及其子节点变化后的节点内容确定所述网页变化后的预览内容;
显示模块,用于对所述变化后的预览内容进行显示。
可选的,所述监测模块,用于监测对所述Body节点及其子节点的DOM操作;
所述检测模块包括:
触发子模块,用于当监测到对所述Body节点及其子节点的DOM操作结束后,触发对所述Body节点及其子节点的检测;
检测子模块,用于检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
可选的,所述检测模块还包括:
统计子模块,用于统计所述Body节点及其子节点中发生变化的非链接文字的总数量值;
所述检测子模块,用于当所述总数量值大于预设数量值时,检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
可选的,所述统计子模块,用于获取所述Body节点及其子节点中增加的非链接文字的第一数量值,所述Body节点及其子节点中减少的非链接文字的第二数量值,以及所述Body节点及其子节点中可见属性发生变化的非链接文字的第三数量值;计算所述第一数量值、第二数量值及第三数量值之和,得到所述总数量值。
可选的,所述检测模块还包括:
计时模块,用于当本次触发对所述Body节点及其子节点的检测后,开始计时;
所述检测子模块,用于当在预设时间内未出现再次触发对所述Body节点及其子节点的检测时,检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
可选的,所述检测子模块,还用于当在所述预设时间内出现再次触发对所述Body节点及其子节点的检测时,重新开始计时,直到在所述在预设时间内未出现触发对所述Body节点及其子节点的检测。
可选的,所述显示模块,用于当确定所述网页变化后存在预览内容时,在所述网页上显示所述预览模式图标;当接收到对所述预览模式图标的选定操作时,显示所述变化后的预览内容;或者,当确定所述网页变化后不存在预览内容时,在所述网页上隐藏所述预览模式图标。
根据本公开实施例的第三方面,提供一种网页变化检测装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
监测网页的DOM树中的Body节点及其子节点的变化;
根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容;
根据所述所述Body节点及其子节点变化后的节点内容确定所述网页变化后的预览内容,并对所述变化后的预览内容进行显示。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种网页变化检测方法的流程图;
图2是根据另一示例性实施例示出的一种网页变化检测方法的流程图;
图3是根据另一示例性实施例示出的一种网页变化检测方法的流程图;
图4是根据另一示例性实施例示出的一种网页变化检测方法的流程图;
图5是根据另一示例性实施例示出的一种网页变化检测方法的流程图;
图6是根据一示例性实施例示出的一种网页变化检测装置的框图;
图7是根据一示例性实施例示出的检测模块的框图;
图8是根据一示例性实施例示出的一种用于网页变化检测的装置800的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种网页变化检测方法的流程图,如图1所示,网页变化检测方法用于终端中,包括以下步骤。
在步骤S11中,监测网页的DOM树中的Body节点及其子节点的变化;
在步骤S12中,根据Body节点及其子节点的变化,对Body节点及其子节点进行检测,获得Body节点及其子节点变化后的节点内容;
在步骤S13中,根据Body节点及其子节点变化后的节点内容确定网页变化后的预览内容,并对变化后的预览内容进行显示。
本实施例中,通过对网页的DOM树中的Body节点及其子节点进行检查,根据其变化重新生成阅读模式下的预览内容,使得阅读模式下的预览内容能够随网页内容变化而自适应地变化。这样,使得在阅读模式下,可以更加准确地展示网页的预览内容,提高用户体验度。
图2是根据另一示例性实施例示出的一种网页变化检测方法的流程图,如图2所示,可选的,上述步骤S11包括:
在步骤S21中,监测对Body节点及其子节点的DOM操作;
上述步骤S12包括:
在步骤S22中,当监测到对Body节点及其子节点的DOM操作结束后,触发对Body节点及其子节点的检测;
在步骤S23中,检测所述Body节点及其子节点,获得Body节点及其子节点变化后的节点内容。
例如,可以给Body节点及其子节点添加一个变动观察器(MutationObserver),这个Mutation Observer是javascript中监视DOM变动的接口,当DOM对象树发生任何变动的时候,Mutation Observer会得到通知。在DOM发生变动以后,并不会马上触发相应的事件,而是要等到当前所有DOM操作都结束后才触发相应的事件。举例来说,如果在文档中连续插入1000个段落(p元素),就会连续触发1000个插入事件,,执行每个事件的回调函数,这很可能造成浏览器的卡顿。但是,Mutation Observer只在1000个段落都插入结束后才会触发插入事件,而且只触发一次。
在可选方案中,在Body节点及其子节点的DOM操作结束后,才触发对Body节点及其子节点的检测,可以大大地减少因Body节点及其子节点内容变化触发重新检测的次数,避免浏览器出现卡顿现象,提高了对网页关键内容的检测效率,节约终端的处理能力。
图3是根据另一示例性实施例示出的一种网页变化检测方法的流程图,如图3所示,可选的,上述步骤S12还包括:
在步骤S31中,统计Body节点及其子节点中发生变化的非链接文字的总数量值;
在步骤S32中,当总数量值大于预设数量值时,检测Body节点及其子节点,获得Body节点及其子节点变化后的节点内容。
阅读模式有一个很大的特性就是包含的非链接的文字比较多,这样,可以统计Body节点及其子节点中发生变化的非链接文字的总数量值,如果总数量值小于或等于预设的最小变化值,也就是说发生变化的非链接文字数量较少,则不需要重新检测Body节点及其子节点,否则重新检测Body节点及其子节点。
在可选方案中,对于一些微小的网页变化,不会触发重新检测其Body节点及其子节点,除非有大量的非链接文字发生了变化,才会进行重新检测。这样,可以过滤掉大部分无效的变化,可以大大地减少因Body节点及其子节点内容变化触发重新检测的次数,从而提高了对网页内容的检测效率,节约终端的处理能力。
图4是根据另一示例性实施例示出的一种网页变化检测方法的流程图,如图4所示,可选的,上述步骤S31包括:
在步骤S41中,获取Body节点及其子节点中增加的非链接文字的第一数量值,Body节点及其子节点中减少的非链接文字的第二数量值,以及Body节点及其子节点中可见属性发生变化的非链接文字的第三数量值;
在步骤S42中,计算第一数量值、第二数量值及第三数量值之和,得到总数量值。
例如,Body节点及其子节点中增加的非链接文字的数量为A,Body节点及其子节点中减少的非链接文字的数量为R,Body节点及其子节点中可见属性发生变化(如从可见变为不可见,或者从不可见变为可见)的非链接文字数量为V,如果A、R、V之和大于预设的最小变化值,则检测Body节点及其子节点,获得Body节点及其子节点变化后的节点内容。
在可选方案中,当有大量的非链接文字发生了变化,才会进行重新检测。这样,可以过滤掉大部分无效的变化,可以大大地减少因Body节点及其子节点内容变化触发重新检测的次数,从而提高了对网页内容的检测效率,节约终端的处理能力。
图5是根据另一示例性实施例示出的一种网页变化检测方法的流程图,如图5所示,可选的,上述步骤S12还包括:
在步骤S51中,当本次触发对Body节点及其子节点的检测后,开始计时;
在步骤S52中,当在预设时间内未出现再次触发对Body节点及其子节点的检测时,检测Body节点及其子节点,获得Body节点及其子节点变化后的节点内容。
可选的,上述步骤S12还包括:在步骤S53中,当在预设时间内出现再次触发对Body节点及其子节点的检测时,重新开始计时,直到在在预设时间内未出现触发对Body节点及其子节点的检测。
当网页的内容在较短时间内多次发生变化,即便每次变化都是所有DOM操作都结束后才触发检测操作的,仍然使得浏览器在短时间内多次执行检测操作,容易造成浏览器的卡顿。因此,对相邻两次变化之间的时间间隔时间进行及时,如果相邻两次变化之间的时间间隔很近,则等在后的变化完成后,再进行对Body节点及其子节点的检测。
例如,可以进一步添加一个定时器,设定一个预设时间为N毫秒,在检测操作被触发后,开始计时,如果在N毫秒内,检测操作又一次被触发,则重置定时器,重新开始计时,直到在N毫秒内,检测操作没有被触发,则执行对Body节点及其子节点的检测。
在可选方案中,通过对相邻两次变化之间的时间间隔时间进行限定,避免在短时间内多次检测Body节点及其子节点而造成的浏览器的卡顿,进一步减少了检测次数,提高了对网页内容的检测效率,节约终端的处理能力。
可选的,上述步骤S13包括:
当确定所述网页变化后存在预览内容时,在所述网页上显示所述预览模式图标;
当接收到对所述预览模式图标的选定操作时,显示所述变化后的预览内容;
或者,
当确定所述网页变化后不存在预览内容时,在所述网页上隐藏所述预览模式图标。
在可选方案中,如果网页变化后存在预览内容,则在网页上显示预览模式图标,提示用户可以采用阅读模式;如果网页变化后不存在预览内容,则在网页上隐藏预览模式图标,提示用户无法采用阅读模式。这样,通过是否显示预览模式图标来提示用户网页发生变化,使得用户可以更准确地使用阅读模式浏览网页,用户体验度较好。
可选的,确定网页中是否存在预览内容,可以采用以下方式。
对网页的网页文档进行解析后,可以生成DOM树和render树,由render树确定DOM树中的各个可见节点,并确定各可见节点的预览值;依据各可见节点的预览值确定网页中的预览内容。
DOM树中存储有由对网页文档进行解析而得到的各个节点,例如,DOM树的根节点是文件(Document)对象,即对网页文档进行操作的入口;又如,DOM树中的一类子节点是文本(text)对象,即网页文档中的一些文本内容。
有上述内容可知,DOM树中具备不同类型的节点,而各类型的节点在网页文档中的作用也各不相同,因此,DOM树中的一部分节点对应的内容可以在网页中显示出来,如表示text对象的节点,另一部分节点对应的内容不能在网页中进行显示,如表示Document对象的根节点。
若节点对应的内容可以在网页中显示,则将该节点作为可见节点,即可见节点是在网页中显示的内容对应的节点;若节点对应的内容不能在网页中显示,则将该节点作为不可见节点。
页面渲染时,render树负责记录DOM树中的可见节点在页面中的估计显示位置,因此,对于DOM树中的各个节点,可以通过查询render树来确定以确定该节点是否可见,从而确定DOM树中的各个可见节点。
网页中包含各种各样的信息,如标题、正文、图片和链接等,因此对于DOM树中的可见节点,由于其在网页文档中表征的具体内容不同。本公开实施例可以依据网页重新布局时的需求,为各可见节点配置相应的预览值。所述预览值可以依据所述节点所表征的内容的类型,如图片、文字等进行配置,也可以依据各可见节点在网页中表征的具体内容产生相应的预览值。
例如,重新布局时着重显示页面中的图片,则与图片相关的标签可以配置较高的预览值。又如,重新布局时着重显示页面中的文字内容,则与标题、正文相关的标签可以配置较高的预览值,或可以根据文字的多少确定预览值得高低。
获取到预览内容后,就获取到了重新布局所要显示的内容,因此可以显示该预览内容。依据各可见节点的预览值确定网页中的预览内容例如,可以设定一个预览值的标准,凡是预览值达到该标准的可见节点,其对应的内容都可以设为预览内容。又如,可以仅将预览值最高的可见节点对应的内容作为预览内容。
在可选方案中,可以获取DOM树和render树,并确定DOM树中的可见节点,再依据具体的需求,由各可见节点的标签确定对应可见节点的预览值,最终确定网页中的预览内容,预览内容可以是依据需求而从网页中提取的关键内容,从而可以较小的移动终端的屏幕中显示关键内容,方便用户查看、阅读网页的内容,减少浏览时间。
图6是根据一示例性实施例示出的一种网页变化检测装置的框图。如图6所示,该装置包括监测模块61,检测模块62,确定模块63和显示模块64。
监测模块61被配置为监测网页的DOM树中的Body节点及其子节点的变化;
检测模块62被配置为根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容;
确定模块63被配置为根据所述所述Body节点及其子节点变化后的节点内容确定所述网页变化后的预览内容;
显示模块64被配置为对所述变化后的预览内容进行显示。
可选的,监测模块被配置为监测对所述Body节点及其子节点的DOM操作。图7是根据一示例性实施例示出的检测模块的框图。如图7所示,所述检测模块62包括:
触发子模块71被配置为当监测到对所述Body节点及其子节点的DOM操作结束后,触发对所述Body节点及其子节点的检测;
检测子模块72被配置为检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
可选的,所述检测模块62还包括:
统计子模块73被配置为统计所述Body节点及其子节点中发生变化的非链接文字的总数量值;
所述检测子模块72被配置为当所述总数量值大于预设数量值时,检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
可选的,所述统计子模块73被配置为获取所述Body节点及其子节点中增加的非链接文字的第一数量值,所述Body节点及其子节点中减少的非链接文字的第二数量值,以及所述Body节点及其子节点中可见属性发生变化的非链接文字的第三数量值;计算所述第一数量值、第二数量值及第三数量值之和,得到所述总数量值。
可选的,所述检测模块62还包括:
计时模块74被配置为当本次触发对所述Body节点及其子节点的检测后,开始计时;
所述检测子模块72被配置为当在预设时间内未出现再次触发对所述Body节点及其子节点的检测时,检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
可选的,所述检测子模块62还被配置为当在所述预设时间内出现再次触发对所述Body节点及其子节点的检测时,重新开始计时,直到在所述在预设时间内未出现触发对所述Body节点及其子节点的检测。
可选的,所述显示模块64被配置为当确定所述网页变化后存在预览内容时,在所述网页上显示所述预览模式图标;当接收到对所述预览模式图标的选定操作时,显示所述变化后的预览内容;或者,当确定所述网页变化后不存在预览内容时,在所述网页上隐藏所述预览模式图标。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本实施例的装置,通过对网页的DOM树中的Body节点及其子节点进行检查,根据其变化重新生成阅读模式下的预览内容,使得阅读模式下的预览内容能够随网页内容变化而自适应地变化。这样,使得在阅读模式下,可以更加准确地展示网页的预览内容,提高用户体验度。
本公开还提供一种网页变化检测装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
监测网页的DOM树中的Body节点及其子节点的变化;
根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容;
根据所述所述Body节点及其子节点变化后的节点内容确定所述网页变化后的预览内容,并对所述变化后的预览内容进行显示。
图8是根据一示例性实施例示出的一种用于网页变化检测的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
如图8所示,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由移动终端的处理器执行时,使得移动终端能够执行一种网页变化检测方法,包括:
监测网页的DOM树中的Body节点及其子节点的变化;
根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容;
根据所述所述Body节点及其子节点变化后的节点内容确定所述网页变化后的预览内容,并对所述变化后的预览内容进行显示。
可选的,所述监测网页的DOM树中的Body节点及其子节点的变化,包括:
监测对所述Body节点及其子节点的DOM操作;
所述根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容,包括:
当监测到对所述Body节点及其子节点的DOM操作结束后,触发对所述Body节点及其子节点的检测;
检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
可选的,所述根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容,还包括:
统计所述Body节点及其子节点中发生变化的非链接文字的总数量值;
当所述总数量值大于预设数量值时,检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
可选的,所述统计所述Body节点及其子节点中发生变化的非链接文字的总数量值,包括:
获取所述Body节点及其子节点中增加的非链接文字的第一数量值,所述Body节点及其子节点中减少的非链接文字的第二数量值,以及所述Body节点及其子节点中可见属性发生变化的非链接文字的第三数量值;
计算所述第一数量值、第二数量值及第三数量值之和,得到所述总数量值。
可选的,所述根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容,还包括:
当本次触发对所述Body节点及其子节点的检测后,开始计时;
当在预设时间内未出现再次触发对所述Body节点及其子节点的检测时,检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
可选的,所述根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容,还包括:
当在所述预设时间内出现再次触发对所述Body节点及其子节点的检测时,重新开始计时,直到在所述在预设时间内未出现触发对所述Body节点及其子节点的检测。
可选的,所述根据所述所述Body节点及其子节点变化后的节点内容确定所述网页变化后的预览内容,并对所述变化后的预览内容进行显示,包括:
当确定所述网页变化后存在预览内容时,在所述网页上显示所述预览模式图标;
当接收到对所述预览模式图标的选定操作时,显示所述变化后的预览内容;
或者,
当确定所述网页变化后不存在预览内容时,在所述网页上隐藏所述预览模式图标。
本实施例中,通过对网页的DOM树中的Body节点及其子节点进行检查,根据其变化重新生成阅读模式下的预览内容,使得阅读模式下的预览内容能够随网页内容变化而自适应地变化。这样,使得在阅读模式下,可以更加准确地展示网页的预览内容,提高用户体验度。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (15)

1.一种网页变化检测方法,其特征在于,包括:
监测网页的DOM树中的Body节点及其子节点的变化;
根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容;
根据所述所述Body节点及其子节点变化后的节点内容确定所述网页变化后的预览内容,并对所述变化后的预览内容进行显示。
2.根据权利要求1所述的方法,其特征在于,所述监测网页的DOM树中的Body节点及其子节点的变化,包括:
监测对所述Body节点及其子节点的DOM操作;
所述根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容,包括:
当监测到对所述Body节点及其子节点的DOM操作结束后,触发对所述Body节点及其子节点的检测;
检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
3.根据权利要求2所述的方法,其特征在于,所述根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容,还包括:
统计所述Body节点及其子节点中发生变化的非链接文字的总数量值;
当所述总数量值大于预设数量值时,检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
4.根据权利要求3所述的方法,其特征在于,所述统计所述Body节点及其子节点中发生变化的非链接文字的总数量值,包括:
获取所述Body节点及其子节点中增加的非链接文字的第一数量值,所述Body节点及其子节点中减少的非链接文字的第二数量值,以及所述Body节点及其子节点中可见属性发生变化的非链接文字的第三数量值;
计算所述第一数量值、第二数量值及第三数量值之和,得到所述总数量值。
5.根据权利要求2-4中任一项所述的方法,其特征在于,所述根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容,还包括:
当本次触发对所述Body节点及其子节点的检测后,开始计时;
当在预设时间内未出现再次触发对所述Body节点及其子节点的检测时,检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
6.根据权利要求5所述的方法,其特征在于,所述根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容,还包括:
当在所述预设时间内出现再次触发对所述Body节点及其子节点的检测时,重新开始计时,直到在所述在预设时间内未出现触发对所述Body节点及其子节点的检测。
7.根据权利要求1所述的方法,其特征在于,所述根据所述所述Body节点及其子节点变化后的节点内容确定所述网页变化后的预览内容,并对所述变化后的预览内容进行显示,包括:
当确定所述网页变化后存在预览内容时,在所述网页上显示所述预览模式图标;
当接收到对所述预览模式图标的选定操作时,显示所述变化后的预览内容;
或者,
当确定所述网页变化后不存在预览内容时,在所述网页上隐藏所述预览模式图标。
8.一种网页变化检测装置,其特征在于,包括:
监测模块,用于监测网页的DOM树中的Body节点及其子节点的变化;
检测模块,用于根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容;
确定模块,用于根据所述所述Body节点及其子节点变化后的节点内容确定所述网页变化后的预览内容;
显示模块,用于对所述变化后的预览内容进行显示。
9.根据权利要求8所述的装置,其特征在于,所述监测模块,用于监测对所述Body节点及其子节点的DOM操作;
所述检测模块包括:
触发子模块,用于当监测到对所述Body节点及其子节点的DOM操作结束后,触发对所述Body节点及其子节点的检测;
检测子模块,用于检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
10.根据权利要求9所述的装置,其特征在于,所述检测模块还包括:
统计子模块,用于统计所述Body节点及其子节点中发生变化的非链接文字的总数量值;
所述检测子模块,用于当所述总数量值大于预设数量值时,检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
11.根据权利要求10所述的装置,其特征在于,所述统计子模块,用于获取所述Body节点及其子节点中增加的非链接文字的第一数量值,所述Body节点及其子节点中减少的非链接文字的第二数量值,以及所述Body节点及其子节点中可见属性发生变化的非链接文字的第三数量值;计算所述第一数量值、第二数量值及第三数量值之和,得到所述总数量值。
12.根据权利要求9-11所述的装置,其特征在于,所述检测模块还包括:
计时模块,用于当本次触发对所述Body节点及其子节点的检测后,开始计时;
所述检测子模块,用于当在预设时间内未出现再次触发对所述Body节点及其子节点的检测时,检测所述Body节点及其子节点,获得所述Body节点及其子节点变化后的节点内容。
13.根据权利要求12所述的装置,其特征在于,所述检测子模块,还用于当在所述预设时间内出现再次触发对所述Body节点及其子节点的检测时,重新开始计时,直到在所述在预设时间内未出现触发对所述Body节点及其子节点的检测。
14.根据权利要求8所述的装置,其特征在于,
所述显示模块,用于当确定所述网页变化后存在预览内容时,在所述网页上显示所述预览模式图标;当接收到对所述预览模式图标的选定操作时,显示所述变化后的预览内容;或者,当确定所述网页变化后不存在预览内容时,在所述网页上隐藏所述预览模式图标。
15.一种网页变化检测装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
监测网页的DOM树中的Body节点及其子节点的变化;
根据所述Body节点及其子节点的变化,对所述Body节点及其子节点进行检测,获得所述Body节点及其子节点变化后的节点内容;
根据所述所述Body节点及其子节点变化后的节点内容确定所述网页变化后的预览内容,并对所述变化后的预览内容进行显示。
CN201410436954.7A 2014-08-29 2014-08-29 网页变化检测方法及装置 Active CN104199915B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410436954.7A CN104199915B (zh) 2014-08-29 2014-08-29 网页变化检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410436954.7A CN104199915B (zh) 2014-08-29 2014-08-29 网页变化检测方法及装置

Publications (2)

Publication Number Publication Date
CN104199915A true CN104199915A (zh) 2014-12-10
CN104199915B CN104199915B (zh) 2017-05-03

Family

ID=52085208

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410436954.7A Active CN104199915B (zh) 2014-08-29 2014-08-29 网页变化检测方法及装置

Country Status (1)

Country Link
CN (1) CN104199915B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778405A (zh) * 2015-03-11 2015-07-15 小米科技有限责任公司 广告拦截方法及装置
CN106126645A (zh) * 2016-06-24 2016-11-16 浪潮软件股份有限公司 一种提高web页面渲染性能的装置
CN108280107A (zh) * 2017-03-08 2018-07-13 广州市动景计算机科技有限公司 网页处理方法、装置及用户终端
CN109359260A (zh) * 2018-09-29 2019-02-19 腾讯科技(成都)有限公司 网络页面更改监测方法、装置、设备以及介质
CN111104616A (zh) * 2018-10-26 2020-05-05 阿里巴巴集团控股有限公司 一种网页处理方法及其装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101782914A (zh) * 2009-06-23 2010-07-21 北京搜狗科技发展有限公司 一种对网页信息进行提示的方法及系统
US20120173966A1 (en) * 2006-06-30 2012-07-05 Tea Leaf Technology, Inc. Method and apparatus for intelligent capture of document object model events
CN103020179A (zh) * 2012-11-28 2013-04-03 北京小米科技有限责任公司 一种网页内容的提取方法、装置和设备
CN103020156A (zh) * 2012-11-23 2013-04-03 北京小米科技有限责任公司 一种针对网页的处理方法、装置和设备
CN103885960A (zh) * 2012-12-20 2014-06-25 上海明想电子科技有限公司 一种监控网页变动的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120173966A1 (en) * 2006-06-30 2012-07-05 Tea Leaf Technology, Inc. Method and apparatus for intelligent capture of document object model events
CN101782914A (zh) * 2009-06-23 2010-07-21 北京搜狗科技发展有限公司 一种对网页信息进行提示的方法及系统
CN103020156A (zh) * 2012-11-23 2013-04-03 北京小米科技有限责任公司 一种针对网页的处理方法、装置和设备
CN103020179A (zh) * 2012-11-28 2013-04-03 北京小米科技有限责任公司 一种网页内容的提取方法、装置和设备
CN103885960A (zh) * 2012-12-20 2014-06-25 上海明想电子科技有限公司 一种监控网页变动的方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104778405A (zh) * 2015-03-11 2015-07-15 小米科技有限责任公司 广告拦截方法及装置
CN104778405B (zh) * 2015-03-11 2018-04-27 小米科技有限责任公司 广告拦截方法及装置
CN106126645A (zh) * 2016-06-24 2016-11-16 浪潮软件股份有限公司 一种提高web页面渲染性能的装置
CN108280107A (zh) * 2017-03-08 2018-07-13 广州市动景计算机科技有限公司 网页处理方法、装置及用户终端
CN109359260A (zh) * 2018-09-29 2019-02-19 腾讯科技(成都)有限公司 网络页面更改监测方法、装置、设备以及介质
CN111104616A (zh) * 2018-10-26 2020-05-05 阿里巴巴集团控股有限公司 一种网页处理方法及其装置

Also Published As

Publication number Publication date
CN104199915B (zh) 2017-05-03

Similar Documents

Publication Publication Date Title
RU2656574C2 (ru) Способ и устройство для принудительной доставки информации
JP6393840B2 (ja) 情報表示方法、装置、プログラム及び記録媒体
CN107203398B (zh) 应用分发方法及装置
CN104731688B (zh) 提示阅读进度的方法及装置
CN103914523A (zh) 页面回退控制方法及装置
CN107463643B (zh) 弹幕数据的显示方法、装置及存储介质
CN104778405B (zh) 广告拦截方法及装置
CN107193606B (zh) 应用分发方法及装置
CN104636164B (zh) 启动页面生成方法及装置
CN104636106A (zh) 图片显示方法和装置、终端设备
CN104199915A (zh) 网页变化检测方法及装置
CN106126632A (zh) 推荐方法及装置
CN104965704A (zh) 信息显示方法及装置
CN104468760A (zh) 提醒消息推送方法及装置
CN103970841A (zh) 标签管理方法和装置
CN104572875B (zh) 推广信息投放有效性确定方法及装置
CN106886540B (zh) 一种数据搜索方法、装置以及用于数据搜索的装置
CN104156488B (zh) 网页变化检测方法及装置
CN104951445B (zh) 一种网页处理方法及装置
CN105468783B (zh) 信息收集方法及装置
CN111127053B (zh) 页面内容推荐方法、装置及电子设备
CN109542297B (zh) 提供操作引导信息的方法、装置及电子设备
CN104123338A (zh) 信息推荐方法和装置
CN107360322B (zh) 信息提示方法及装置
CN106886541B (zh) 一种数据搜索方法、装置以及一种用于数据搜索的装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant