《页面元素处理方法和装置.pdf》由会员分享,可在线阅读,更多相关《页面元素处理方法和装置.pdf(14页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102999578 A (43)申请公布日 2013.03.27 CN 102999578 A *CN102999578A* (21)申请号 201210454468.9 (22)申请日 2012.11.13 G06F 17/30(2006.01) (71)申请人 北京奇虎科技有限公司 地址 100088 北京市西城区新街口外大街 28 号 D 座 112 室 (德胜园区) 申请人 奇智软件 (北京) 有限公司 (72)发明人 唐曦 陈志 李鸣 任寰 (74)专利代理机构 北京智汇东方知识产权代理 事务所 ( 普通合伙 ) 11391 代理人 康正德 范晓斌 (54)。
2、 发明名称 页面元素处理方法和装置 (57) 摘要 本发明公开了一种页面元素处理装置和方 法, 该方法包括 : 在浏览器侧加载获取页面, 并对 所述获取页面的页面元素进行解析, 将各页面元 素转换为DOM对象 ; 调用所述设置的至少一个DOM 对象处理器, 对所述转换的 DOM 对象中的至少一 个进行设置的定制处理 ; 利用经过所述设置的定 制处理的DOM对象生成最终的DOM树 ; 对所述DOM 树进行渲染。采用本发明能够根据用户需求对网 页进行个性化定制。 (51)Int.Cl. 权利要求书 2 页 说明书 9 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权。
3、利要求书 2 页 说明书 9 页 附图 2 页 1/2 页 2 1. 一种页面元素处理装置, 包括 : 至少一个 DOM 对象处理器, 设置在浏览器侧, 每个 DOM 对象处理器配置为存储有特定 DOM 对象的定制处理 ; 页面解析器, 配置为在所述浏览器侧加载获取页面, 并对所述获取页面的页面元素进 行解析, 将各页面元素转换为 DOM 对象 ; DOM 处理器, 耦接到所述页面解析器和所述至少一个 DOM 对象处理器, 配置为调用所述 设置的至少一个 DOM 对象处理器, 对所述转换的 DOM 对象中的至少一个进行设置的定制处 理 ; 树生成器, 耦接到所述DOM处理器, 配置为利用经过所。
4、述设置的定制处理的DOM对象生 成最终的 DOM 树, 并对所述 DOM 树进行渲染。 2.根据权利要求1所述的装置, 其特征在于, 所述DOM处理器还配置为在对象处理注册 表中查询是否存在对当前DOM对象进行处理的DOM对象处理器, 其中, 所述对象处理注册表 中登记有所述设置的至少一个 DOM 对象处理器的登记信息 ; 若是, 根据登记信息查找到对该 DOM 对象进行处理的 DOM 对象处理器, 并调用。 3.根据权利要求1所述的装置, 其特征在于, 所述DOM处理器还配置为当所述浏览器中 存在对当前 DOM 对象进行处理的 DOM 对象处理器时, 调用该 DOM 对象处理器, 对该 DO。
5、M 对象 进行设置的定制处理 ; 当所述浏览器中不存在为当前 DOM 对象进行处理的 DOM 对象处理器时, 对该 DOM 对象 进行缺省处理。 4.根据权利要求1至3任一项所述的装置, 其特征在于, 每个DOM对象处理器存储有对 所述特定 DOM 对象已经加载完成时触发的事件 ContentReady 进行处理的处理方式。 5.根据权利要求4所述的装置, 其特征在于, 每个DOM对象处理器还存储有对所述获取 页面的 HTML 全部加载完成时触发的事件 DocumentReady 进行处理的处理方式。 6.根据权利要求1至5任一项所述的装置, 其特征在于, 所述DOM处理器设置在所述浏 览器的。
6、渲染引擎中。 7.根据权利要求1至6任一项所述的装置, 其特征在于, 所述DOM处理器配置为利用所 述浏览器提供的对所述网页元素进行渲染的接口调用所述至少一个对象处理器。 8. 根据权利要求 7 所述的装置, 其特征在于, 所述 DOM 对象包括 : 文本框元素 ; 密码输 入框元素。 9.一种页面元素处理方法, 在浏览器侧设置至少一个DOM对象处理器, 其中每个DOM对 象处理器存储有特定 DOM 对象的定制处理, 该方法包括 : 在浏览器侧加载获取页面, 并对所述获取页面的页面元素进行解析, 将各页面元素转 换为 DOM 对象 ; 调用所述设置的至少一个 DOM 对象处理器, 对所述转换的。
7、 DOM 对象中的至少一个进行 设置的定制处理 ; 利用经过所述设置的定制处理的 DOM 对象生成最终的 DOM 树 ; 对所述 DOM 树进行渲染。 10. 根据权利要求 9 所述的方法, 其特征在于, 调用所述设置的至少一个 DOM 对象处理 器, 包括 : 权 利 要 求 书 CN 102999578 A 2 2/2 页 3 在对象处理注册表中查询是否存在对当前DOM对象进行处理的DOM对象处理器, 其中, 所述对象处理注册表中登记有所述设置的至少一个 DOM 对象处理器的登记信息 ; 若是, 根据登记信息查找到对该 DOM 对象进行处理的 DOM 对象处理器, 并调用。 11. 根据权。
8、利要求 9 所述的方法, 其特征在于, 调用所述设置的至少一个 DOM 对象处理 器, 对所述转换的 DOM 对象中的至少一个进行设置的定制处理, 包括 : 当所述浏览器中存在对当前 DOM 对象进行处理的 DOM 对象处理器时, 调用该 DOM 对象 处理器, 对该 DOM 对象进行设置的定制处理 ; 当所述浏览器中不存在为当前 DOM 对象进行处理的 DOM 对象处理器时, 对该 DOM 对象 进行缺省处理。 12.根据权利要求9至11任一项所述的方法, 其特征在于, 每个DOM对象处理器存储有 对所述特定 DOM 对象已经加载完成时触发的事件 ContentReady 进行处理的处理方式。
9、。 13.根据权利要求12所述的方法, 其特征在于, 每个DOM对象处理器还存储有对所述获 取页面的 HTML 全部加载完成时触发的事件 DocumentReady 进行处理的处理方式。 14. 根据权利要求 9 至 13 任一项所述的方法, 其特征在于, 调用所述设置的至少一个 DOM 对象处理器, 包括 : 根据所述浏览器提供的、 对所述网页元素进行渲染的接口调用所述至少一个 DOM 对象 处理器。 15. 根 据 权 利 要 求 10 至 14 任 一 项 所 述 的 方 法,其 特 征 在 于,所 述 浏 览 器 为 IE 浏 览 器 时, 所 述 浏 览 器 所 在 的 客 户 端 。
10、在 WebBrowser 插 件 设 置 第 一 接 口 IElementBehaviorFactory、 第 二 接 口 IElementBehavior 以 及 第 三 接 口 IDocHostUIHandler, 其中, 所述第一接口和所述第二接口用于调用各 DOM 对象处理器, 所 述第三接口用于将各 DOM 对象处理器注册到所述对象处理注册表中 ; 调用所述设置的至少一个 DOM 对象处理器, 包括 : 内核引擎根据所述浏览器所在的客户端提供的行为名称 BehaviorName, 通过所述第二 接口调用与所述第一接口连接的所述至少一个 DOM 对象处理器 ; 以及 所述内核引擎根据所。
11、述客户端提供的页面元素标识 TAG 加载对应的页面元素时, 调用 元素行为通知方法, 通知所述客户端页面元素的加载状态。 16.根据权利要求15所述的方法, 其特征在于, 所述内核引擎调用所述至少一个DOM对 象处理器, 包括 : 所述内核引擎与所述获取页面提供的第四接口 IElementBehaviorSite 关联, 通过所 述第四接口确定当前 DOM 对象是定已有定制处理。 17. 根据权利要求 9 至 16 任一项所述的方法, 其特征在于, 所述 DOM 对象包括 : 文本框 元素 ; 密码输入框元素。 权 利 要 求 书 CN 102999578 A 3 1/9 页 4 页面元素处理。
12、方法和装置 技术领域 0001 本发明涉及网络应用领域, 尤其是涉及一种页面元素处理方法和装置。 背景技术 0002 随着国际互联网的快速发展, 基于国际互联网的应用和信息也呈现出爆发性的增 长。网络浏览器为互联网用户提供了一种访问网络信息和使用网络应用的方式, 该方式适 用性强, 越多越多的用户已经习惯于通过网络浏览器来获取各种信息和使用各种应用。网 络信息和应用供应商提供以诸如 HTML(超文本标记语言, Hypertext MarkupLanguage) 之 类格式的语言编写的网页, 网络浏览器在用户处呈现这些网页, 从而使得网络浏览器的用 户可以获取相关信息。 随着网络技术的快速发展,。
13、 由网络浏览器呈现的内容也越来越丰富, 因此网络浏览器的呈现功能也越来越强大和重要。目前常见的网页浏览器有微软公司的 Internet Explorer、 Mozilla Firefox、 谷歌公司的 Chrome、 Opera 以及苹果公司的 Safari 等等。 0003 在相关技术中, 网络浏览器利用渲染引擎 (Rendering Engine) 来解释网页中的内 容 (如 HTML、 JavaScript) 并渲染 (显示) 网页。渲染引擎决定了浏览器如何显示网页的内 容以及页面的格式信息。不同的渲染引擎对网页编写语法的解释也有不同, 因此同一网页 在不同渲染引擎的浏览器里的渲染 (显。
14、示) 效果也可能不同。 0004 目前网页浏览器的渲染引擎通过将 HTML 中的各个元素以及 js 代码转换成 DOM 模 型来进行渲染。在进行转换时, 整个 HTML 文档被构建 DOM 树, HTML 中的各元素被转换成 DOM 树中的对象, 而对象之间的关系被构造为节点和子节点之间的关系来构造, 通过使用有 关对象的方法, 可以对这些对象进行寻址和操作。DOM 模型已经具有很多公共的规范和定 义。 0005 当网页浏览器处理HTML页面时, 浏览器中的渲染引擎对HTML页面语言进行分析, 将其处理为 DOM 模型, 随后利用 DOM 模型来构造用于在浏览器中显示页面的内部结构。DOM A。
15、PI 还向 js 代码提供了监控或者修改网页的接口。 0006 渲染引擎引入了基于事件的机制来处理 DOM 对象。每个 DOM 对象具有相关联的多 个事件, 并且这些事件可以被触发。例如, 渲染引擎分析网页中的 JS 代码, 并且将相应 JS 代码和事件相关联, 从而使得到特定事件被触发时, 执行相应的 JS 代码。 0007 然而, 在目前的网页浏览器中, 渲染引擎通常仅仅根据HTML网页中的JS代码来控 制相应 DOM 对象, 因此, 用户使用浏览器时很难对 DOM 对象, 即网页中的各个元素进行定制 渲染。 0008 综上可知, 现在的网络浏览器在呈现网页时, 通常根据网络应用和信息提供。
16、商所 要求的方式来呈现网页内容, 而并未充分考虑用户对页面呈现方式的偏好。因此现有的网 络浏览器虽然具有不同的渲染引擎, 当其呈现效果基本相同, 这使得用户无法充分个性化 定制网络浏览器呈现的内容, 降低用户的感受体验。 说 明 书 CN 102999578 A 4 2/9 页 5 发明内容 0009 鉴于上述问题, 提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的页面元素处理装置和相应的页面元素处理方法。 0010 依据本发明的一个方面, 提供了一种页面元素处理装置, 包括 : 至少一个 DOM 对象 处理器, 设置在浏览器侧, 每个 DOM 对象处理器配置为存储有特定 D。
17、OM 对象的定制处理 ; 页 面解析器, 配置为在浏览器侧加载获取页面, 并对获取页面的页面元素进行解析, 将各页面 元素转换为 DOM 对象 ; DOM 处理器, 耦接到页面解析器和至少一个 DOM 对象处理器, 配置为 调用设置的至少一个 DOM 对象处理器, 对转换的 DOM 对象中的至少一个进行设置的定制处 理 ; 树生成器, 耦接到 DOM 处理器, 配置为利用经过设置的定制处理的 DOM 对象生成最终的 DOM 树, 并对 DOM 树进行渲染。 0011 可选地, DOM 处理器还配置为在对象处理注册表中查询是否存在对当前 DOM 对象 进行处理的DOM对象处理器, 其中, 对象处。
18、理注册表中登记有设置的至少一个DOM对象处理 器的登记信息 ; 若是, 根据登记信息查找到对该 DOM 对象进行处理的 DOM 对象处理器, 并调 用。 0012 可选地, DOM 处理器还配置为当浏览器中存在对当前 DOM 对象进行处理的 DOM 对 象处理器时, 调用该 DOM 对象处理器, 对该 DOM 对象进行设置的定制处理 ; 当浏览器中不存 在为当前 DOM 对象进行处理的 DOM 对象处理器时, 对该 DOM 对象进行缺省处理。 0013 可选地, 每个 DOM 对象处理器存储有对特定 DOM 对象已经加载完成时触发的事件 ContentReady 进行处理的处理方式。 0014。
19、 可选地, 每个DOM对象处理器还存储有对获取页面的HTML全部加载完成时触发的 事件 DocumentReady 进行处理的处理方式。 0015 可选地, DOM 处理器设置在浏览器的渲染引擎中。 0016 可选地, DOM 处理器配置为利用浏览器提供的对网页元素进行渲染的接口调用至 少一个 DOM 对象处理器。 0017 可选地, DOM 对象包括 : 文本框元素 ; 密码输入框元素。 0018 依据本发明的另一方面, 还提供了一种页面元素处理方法, 在浏览器侧设置至少 一个 DOM 对象处理器, 其中每个 DOM 对象处理器存储有特定 DOM 对象的定制处理, 该方法 包括 : 在浏览器。
20、侧加载获取页面, 并对获取页面的页面元素进行解析, 将各页面元素转换为 DOM 对象 ; 调用设置的至少一个 DOM 对象处理器, 对转换的 DOM 对象中的至少一个进行设置 的定制处理 ; 对转换的 DOM 对象中的至少一个进行设置的定制处理之后, 还包括 : 利用经过 设置的定制处理的 DOM 对象生成最终的 DOM 树 ; 对 DOM 树进行渲染。 0019 可选地, 调用设置的至少一个 DOM 对象处理器, 包括 : 在对象处理注册表中查询是 否存在对当前DOM对象进行处理的DOM对象处理器, 其中, 对象处理注册表中登记有设置的 至少一个DOM对象处理器的登记信息 ; 若是, 根据登。
21、记信息查找到对该DOM对象进行处理的 DOM 对象处理器, 并调用。 0020 可选地, 调用设置的至少一个DOM对象处理器, 对转换的DOM对象中的至少一个进 行设置的定制处理, 包括 : 当浏览器中存在对当前 DOM 对象进行处理的 DOM 对象处理器时, 调用该 DOM 对象处理器, 对该 DOM 对象进行设置的定制处理 ; 当浏览器中不存在为当前 DOM 对象进行处理的 DOM 对象处理器时, 对该 DOM 对象进行缺省处理。 说 明 书 CN 102999578 A 5 3/9 页 6 0021 可选地, 每个 DOM 对象处理器存储有对特定 DOM 对象已经加载完成时触发的事件 C。
22、ontentReady 进行处理的处理方式。 0022 可选地, 每个DOM对象处理器还存储有对获取页面的HTML全部加载完成时触发的 事件 DocumentReady 进行处理的处理方式。 0023 可选地, 调用设置的至少一个 DOM 对象处理器, 包括 : 根据浏览器提供的、 对网页 元素进行渲染的接口调用至少一个 DOM 对象处理器。 0024 可选地, 浏览器为 IE 浏览器时, 浏览器所在的客户端在 WebBrowser 插件设 置 第 一 接 口 IElementBehaviorFactory、 第 二 接 口 IElementBehavior 以 及 第 三 接 口 IDocH。
23、ostUIHandler, 其中, 第一接口和第二接口用于调用各 DOM 对象处理器, 第三接口用 于将各DOM对象处理器注册到对象处理注册表中 ; 调用设置的至少一个DOM对象处理器, 包 括 : 内核引擎根据浏览器所在的客户端提供的行为名称 BehaviorName, 通过第二接口调用 与第一接口连接的至少一个 DOM 对象处理器 ; 以及内核引擎根据客户端提供的页面元素标 识 TAG 加载对应的页面元素时, 调用元素行为通知方法, 通知客户端页面元素的加载状态。 0025 可选地, 内核引擎调用至少一个 DOM 对象处理器, 包括 : 内核引擎与获取页面提供 的第四接口IElementB。
24、ehaviorSite关联, 通过第四接口确定当前DOM对象是定已有定制处 理。 0026 可选地, DOM 对象包括 : 文本框元素 ; 密码输入框元素。 0027 在本发明实施例中, 对于每个 DOM 对象, 在浏览器侧设置对其进行定制处理的 DOM 对象处理器, 在页面的获取过程中, 利用 DOM 处理器调用选择的 DOM 对象处理器对 DOM 对象 进行设置的定制处理。 由此可见, 采用本发明实施例提供的页面元素处理装置, 能够分别对 于每个DOM对象进行处理, 其处理的方式是由DOM处理器进行选择调用, 由此呈现的网页内 容能够实现个性化定制处理, 而并非是根据网络应用和信息提供商所。
25、要求的固定方式, 进 而实现了用户能够对网络浏览器呈现的内容进行个性化定制的目的, 满足不同的用户的偏 好, 提高用户的感受体验。 0028 上述说明仅是本发明技术方案的概述, 为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施, 并且为了让本发明的上述和其它目的、 特征和优点能够 更明显易懂, 以下特举本发明的具体实施方式。 附图说明 0029 通过阅读下文优选实施方式的详细描述, 各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的, 而并不认为是对本发明 的限制。而且在整个附图中, 用相同的参考符号表示相同的部件。在附图中 : 00。
26、30 图 1 示出了根据本发明一个实施例的页面元素处理装置的结构示意图 ; 0031 图 2 示出了根据本发明一个实施例的页面元素处理方法的流程图 ; 以及 0032 图 3 示出了根据本发明一个实施例的 DOM 对象处理器的查询流程图。 具体实施方式 0033 下面将参照附图更详细地描述本公开的示例性实施例。 虽然附图中显示了本公开 的示例性实施例, 然而应当理解, 可以以各种形式实现本公开而不应被这里阐述的实施例 说 明 书 CN 102999578 A 6 4/9 页 7 所限制。 相反, 提供这些实施例是为了能够更透彻地理解本公开, 并且能够将本公开的范围 完整的传达给本领域的技术人员。
27、。 0034 相关技术中提到, 现在的网络浏览器在呈现网页时, 通常根据网络应用和信息提 供商所要求的方式来呈现网页内容, 而并未充分考虑用户对页面呈现方式的偏好。因此现 有的网络浏览器虽然具有不同的渲染引擎, 当其呈现效果基本相同, 这使得用户无法充分 个性化定制网络浏览器呈现的内容, 降低用户的感受体验。 0035 为解决上述技术问题, 本发明实施例提供了一种在浏览器侧进行页面元素处理的 装置, 用于实现改进的网页元素处理方式, 该装置可以允许用户来个性化定制网页元素的 呈现方式, 从而增强页面的显示效果。 0036 图1示出了本发明一个实施例的页面元素处理装置的结构示意图。 参见图1, 。
28、该装 置包括设置在浏览器侧的至少一个 DOM 对象处理器 110, 页面解析器 120 以及 DOM 处理器 130。 0037 其中, DOM 对象处理器 110 包括至少一个, 且预先设置在浏览器侧, 在每个 DOM 对 象处理器 110 中存储有特定 DOM 对象的定制处理。DOM 对象处理器的数量可以是 1 个, 也可 以是 2 个, 也可以是 3 个、 4 个、 5 个或更多, 具体的数量根据特定 DOM 对象的数量以及定制 处理的数量决定。图 1 中为了示意, 将其设置为 3 个。 0038 在对获取的一个页面进行处理时, 页面解析器 120 在浏览器侧加载该获取页面, 并对获取页。
29、面的页面元素进行解析。考虑到页面以及页面元素并不能够直接进行处理, 因 此, 页面解析器 120 在解析过程中将各页面元素转换为 DOM 对象, 以供后续 DOM 处理器 130 处理。 0039 参见图1, DOM处理器130, 耦接到页面解析器120和至少一个DOM对象处理器110。 当页面解析器 120 解析结束后, 启动 DOM 处理器 130。DOM 处理器 130 在转换的 DOM 对象中 选择至少一个作为当前准备处理的 DOM 对象, 调用设置的至少一个 DOM 对象处理器 110, 对 选择出的 DOM 对象进行设置的定制处理。 0040 在本发明实施例中, 对于每个 DOM 。
30、对象, 在浏览器侧设置对其进行定制处理的 DOM 对象处理器, 在页面的获取过程中, 利用 DOM 处理器调用选择的 DOM 对象处理器对 DOM 对象 进行设置的定制处理。 由此可见, 采用本发明实施例提供的浏览器网页元素处理的装置, 能 够分别对于每个DOM对象进行处理, 其处理的方式是由DOM处理器进行选择调用, 由此呈现 的网页内容能够实现个性化定制处理, 而并非是根据网络应用和信息提供商所要求的固定 方式, 进而实现了用户能够对网络浏览器呈现的内容进行个性化定制的目的, 满足不同的 用户的偏好, 提高用户的感受体验。 0041 参见图 1, 浏览器进行网页元素处理的装置还包括树生成器。
31、 140, 耦接到 DOM 处理 器 130。当 DOM 处理器 130 调用 DOM 对象处理器 110, 对 DOM 对象进行定制处理结束后, 树 生成器 140 利用经过设置的定制处理的 DOM 对象生成最终的 DOM 树, 并对 DOM 树进行渲染。 0042 其中, 对于 DOM 对象处理器 110 的调用操作, DOM 处理器 130 需要知道每个 DOM 对 象处理器 110 的地址, 进而进行相应的调用, 若 DOM 对象处理器较多且存储地址相对分散 的情况下, DOM 处理器 130 的调用就会存在一定的难度。现提供一种优选的调用方式, 本例 中, 设置对象处理注册表, 在该。
32、表格中登记所有的 DOM 对象处理器的登记信息, 此处的登记 信息可以包括各DOM对象处理器的存储地址、 每个DOM对象处理器的定制操作、 是否正在被 说 明 书 CN 102999578 A 7 5/9 页 8 调用等等。DOM 处理器 130 可以在对象处理注册表中查询是否存在对当前 DOM 对象进行处 理的 DOM 对象处理器。可选的, 若查询结果为是, DOM 处理器 130 就会根据登记信息查找到 对该DOM对象进行处理的DOM对象处理器110, 并调用。 可选的, 若查询结果为否, 则证明当 前不存在对该 DOM 对象进行处理的 DOM 对象处理器 110。 0043 在调用的过程。
33、中, 若 DOM 处理器 130 确定浏览器中存在对当前 DOM 对象进行处理 的 DOM 对象处理器时, 调用该 DOM 对象处理器, 对该 DOM 对象进行设置的定制处理。而 DOM 处理器 130 确定浏览器中不存在为当前 DOM 对象进行处理的 DOM 对象处理器时, 对该 DOM 对象进行缺省处理。 0044 对于每个 DOM 对象, 都存在有至少两个事件, 一个是该 DOM 对象已经加载完 成时触发的事件 ContentReady, 另一个是整个 HTML 都已经加载完成时触发的事件 DocumentReady。为了对网页元素进行定制, 本发明实施例的构思为 : 在与网页元素相对应。
34、 的 DOM 对象的 ContentReady 事件被触发时, 就调用在网页浏览器处预先编制的定制处理, 从而实现对特定网页元素的定制处理。与该构思相对应, 在每个 DOM 对象处理器 110 存储 有对特定 DOM 对象已经加载完成时触发的事件 ContentReady 进行处理的处理方式。进一 步, 由于DOM对象还存在整个页面已加载完成时触发的事件, 因此, 每个DOM对象处理器110 还可以存储有对获取页面的 HTML 全部加载完成时触发的事件 DocumentReady 进行处理的 处理方式。 0045 由于最终呈现的是一个完整的网页, 而现有技术中网页的呈现是由渲染引擎渲染 结束后。
35、呈现的, 因此, 为便于页面呈现, 本发明实施例提供的 DOM 处理器设置在浏览器的渲 染引擎中。 0046 在现有技术中, 渲染引擎通常仅仅根据 HTML 网页中的 JS 代码来控制相应 DOM 对 象, 渲染引擎提供了与 JS 代码间的接口。而 JS 代码通常由网络应用自身或业务提供商控 制, 因此, 渲染引擎所渲染出的网页页面是相类似的。而本例中, DOM 处理器 130 能够利用 浏览器提供的对网页元素进行渲染的接口调用至少一个 DOM 对象处理器 110, 从该接口可 以实现用户的个性化定制。 0047 优选的, 上述各实施例中提及的 DOM 对象包括文本框元素、 密码输入框元素。当。
36、 然, DOM 对象不仅仅包括上述两种元素, 其他的网页元素均可以实现。 0048 上述的浏览器进行页面元素处理的装置的各部分构架是根据其功能提供的, 实际 构架并不仅限于上述各部分, 还可以包括其他部分、 模块、 器件等。 0049 图 2 示出了根据本发明实施例的一种页面元素处理方法的流程图, 在浏览器侧设 置至少一个DOM对象处理器, 其中每个DOM对象处理器存储有特定DOM对象的定制处理。 该 方法的处理流程包括步骤 S202 至步骤 S204。 0050 步骤 S202、 在浏览器侧加载获取页面, 并对获取页面的页面元素进行解析, 将各页 面元素转换为 DOM 对象。 0051 步骤。
37、 S204、 调用设置的至少一个 DOM 对象处理器, 对步骤 S202 转换的 DOM 对象中 的至少一个进行设置的定制处理。 0052 在本发明实施例中, 对于每个 DOM 对象, 在浏览器侧设置对其进行定制处理的 DOM 对象处理器, 在页面的获取过程中, 调用选择的DOM对象处理器对DOM对象进行设置的定制 处理。 由此可见, 采用本发明实施例提供的浏览器网页元素处理的装置, 能够分别对于每个 说 明 书 CN 102999578 A 8 6/9 页 9 DOM 对象进行处理, 其处理的方式是根据 DOM 对象进行选择调用, 由此呈现的网页内容能够 实现个性化定制处理, 而并非是根据网。
38、络应用和信息提供商所要求的固定方式, 进而实现 了用户能够对网络浏览器呈现的内容进行个性化定制的目的, 满足不同的用户的偏好, 提 高用户的感受体验。 0053 参见图 2 所示流程, 步骤 S204 在实施之后, 利用经过设置的定制处理的 DOM 对象 生成最终的 DOM 树, 并对对 DOM 树进行渲染, 将渲染后的网页呈现给用户。 0054 步骤S204中提及调用设置的至少一个DOM对象处理器, 通过调用是需要知道调用 对象 (每个 DOM 对象处理器) 的地址, 进而进行相应的调用, 若 DOM 对象处理器较多且存储地 址相对分散的情况下, 调用就会存在一定的难度。现提供一种优选的调用。
39、方式, 本例中, 设 置对象处理注册表, 在该表格中登记所有的 DOM 对象处理器的登记信息, 此处的登记信息 可以包括各DOM对象处理器的存储地址、 每个DOM对象处理器的定制操作、 是否正在被调用 等等。其具体的调用方法请参见图 3。 0055 图 3 示出了根据本发明一个实施例的 DOM 对象处理器的调用方法的流程图。参见 图 3, 该步骤包括步骤 S302 至步骤 S306。 0056 步骤 S302、 在对象处理注册表中查询是否存在对当前 DOM 对象进行处理的 DOM 对 象处理器。 0057 步骤 S304、 当步骤 S302 的查询结果为是时, 根据登记信息查找到对该 DOM 。
40、对象进 行处理的 DOM 对象处理器, 并调用。 0058 步骤 S306、 当步骤 S302 的查询结果为否时, 确定不存在对当成当前 DOM 对象进行 处理的 DOM 对象处理器。 0059 在调用的过程中, 当浏览器中存在对当前DOM对象进行处理的DOM对象处理器时, 调用该 DOM 对象处理器, 对该 DOM 对象进行设置的定制处理。而当浏览器中不存在为当前 DOM 对象进行处理的 DOM 对象处理器时, 则直接对该 DOM 对象进行缺省处理。 0060 对于每个 DOM 对象, 都存在有至少两个事件, 一个是该 DOM 对象已经加载完 成时触发的事件 ContentReady, 另一。
41、个是整个 HTML 都已经加载完成时触发的事件 DocumentReady。为了对网页元素进行定制, 本发明实施例的构思为 : 在与网页元素相对应 的 DOM 对象的 ContentReady 事件被触发时, 就调用在网页浏览器处预先编制的定制处理, 从而实现对特定网页元素的定制处理。与该构思相对应, 在每个 DOM 对象处理器存储有对 特定 DOM 对象已经加载完成时触发的事件 ContentReady 进行处理的处理方式。进一步, 由 于DOM对象还存在整个页面已加载完成时触发的事件, 因此, 每个DOM对象处理器还可以存 储有对获取页面的HTML全部加载完成时触发的事件DocumentR。
42、eady进行处理的处理方式。 0061 在现有技术中, 渲染引擎通常仅仅根据 HTML 网页中的 JS 代码来控制相应 DOM 对 象, 渲染引擎提供了与 JS 代码间的接口。而 JS 代码通常由网络应用自身或业务提供商控 制, 因此, 渲染引擎所渲染出的网页页面是相类似的。而本例中, 浏览器提供了能够对网页 元素进行渲染的接口, 利用该接口调用至少一个 DOM 对象处理器, 实现用户的个性化定制。 0062 实施例一 0063 本发明实施例中提及到的浏览器可以为多种, 例如微软公司的 Internet Explorer(简称 IE) 、 Mozilla Firefox、 谷歌公司的 Chro。
43、me、 Opera 以及苹果公司的 Safari 等等。 说 明 书 CN 102999578 A 9 7/9 页 10 0064 现以 IE 浏览器为例对本发明实施例提供的网页元素的具体处理方法进行详细地 阐述和说明。 0065 当 浏 览 器 为 IE 浏 览 器 时, 浏 览 器 所 在 的 客 户 端 在 WebBrowser 插 件 设 置 第 一 接 口 IElementBehaviorFactory、第 二 接 口 IElementBehavior 以 及 第 三 接 口 IDocHostUIHandler, 其中, 第一接口和第二接口用于调用各 DOM 对象处理器, 第三接口用。
44、 于将各 DOM 对象处理器注册到对象处理注册表中。 0066 对于针对每个网页元素的特定处理, 可能需要实现 0067 IElementBehavior(元素行为) 0068 Implementing the IElementBehavior Interface(执行元素行为接口) 0069 Implementing the Notify Method(执行通知方法) 0070 Implementing the Init Method(执行初始化方法) 0071 Implementing the Detach Method(执行分离方法) 0072 IElementBehaviorFacto。
45、ry(元素行为工厂行为) 0073 IElementNamespaceFactory(元素命名空间工厂接口) 0074 IElementNamespaceFactoryCallback(元素命名空间回调接口) 0075 初始化设置后, IE 浏览器中的客户端 WebBrowser(网络浏览器) 插件实现网页元 素的具体处理步骤如下 : 0076 步 骤 1、客 户 端 WebBrowser 插 件 实 现 IElementBehaviorFactory 接 口 和 IElementBehavior 接口。 0077 步骤 2、 客户端 WebBrowser 插件实现 IDocHostUIHan。
46、dler 接口。 0078 注 : 这里的 WebBrowser 插件就是在针对特定 DOM 对象的特定处理器在 IE 中的具 体实施方式, 实现 IDocHostUIHandler 接口用于把特定处理器注册到对象注册表中由 DOM 处理器采用, 实现IElementBehaviorFactory和IElementBehavior接口用于说明具体的定 制处理实现。 0079 步骤 3、 页面创建时, MSHTML 会调用 IDocHostUIHandler 的 GetHostInfo 方法 , 客 户端程序向 MSHTML 提供页面元素 TAG 及对应的 Behavior Name 0080 。
47、注 : MSHTML 对应于内核引擎, 这个步骤对应于 DOM 处理器查询所有的 DOM 对象处 理器列表。 0081 步骤 4、 页面加载时, MSHTML 会根据以上提供的 Behavior Name, 逐个调用 IElementBehaviorFactory的FindBehavior方法, 由客户端提供IElementBehavior接口实 现。 0082 此处, 优选的, , 并与页面提供的对应接口 IElementBehaviorSite 关联, 以确定是 否定制行为。 0083 步骤 5、 若客户端提供了 IElementBehavior 实现, MSHTML 在加载对应 TAG 。
48、的页面 元素时, 调用元素行为通知方法, 通知客户端页面元素的加载状态。 0084 注 : 元素行为通知方法在 IE 中实现可利用 IElementBehavior : Notify。 0085 其中, 值得注意的是, 步骤 4 和步骤 5 对应于 DOM 处理器查调用相应的 DOM 对象处 理器对 DOM 对象进行处理。 0086 本实施例的方法并不仅限 IE 浏览器, 对于其他浏览器, 其实现方式是相类似的。 说 明 书 CN 102999578 A 10 8/9 页 11 0087 优选的, 上述各实施例中提及的 DOM 对象包括文本框元素、 密码输入框元素。当 然, DOM 对象不仅仅。
49、包括上述两种元素, 其他的网页元素均可以实现。现以文本框元素为例 进行说明。 0088 实施例二 0089 对于 Textarea(文本框) 页面单元, 为用户提供了在网页中输入大量文字的输入 框, 但是在当前的网页呈现方式下, 用户仅仅可以 textarea 中输入简单的文字, 而无法输 入预订格式的文字、 图像等内容。而通过在浏览器处提供对 textarea 的定制渲染, 可以使 得在 textarea 中输入更加丰富的内容。 0090 本例中对于文本框元素的具体操作提供相应的说明。 0091 1、 首先, 进行事件定义, 在 IDocHostUIHandler 的 GetHostInfo 方法中, 对浏览器 的结构和标识进行自定义。在文本框元素上设置一个 div 层, 利用 pCSSBuffer 指针调度, 将涉及文本框元素的操作均牵引在 div 层上执行。 0092 2、 IElementBehaviorFac。