移动浏览器、 网关、 浏览系统及互联网页面访问方法 【技术领域】
本发明涉及移动数据业务领域, 特别是一种移动浏览器、 网关、 浏览系统及互联网 页面访问方法。背景技术
现有的移动浏览器技术方案主要有以下两种 :
单纯的移动客户端浏览器客户端产品, 包括 WAP 浏览器和 WWW 浏览器。 典型的 WAP 浏览有 Openwave、 Teleca 等公司的浏览器产品。典型的 WWW 移动浏览器有 Opera 公司的 Opera Mobile、 Google 公司的 Chrome Lite 等产品。此类产品的特点是能够不需要网关配 合独立工作, 对于网站页面的解析、 排版、 呈现都在客户端完成。
而另外一种移动浏览器属于网关与客户端相结合的移动浏览器。 采用这类方案的 典型产品有 Opera 公司的 Opera Mini 和优视动景公司的 UCWeb。 此类技术方案由网关和客 户端两部分组成。一般而言, 页面先由网关解析、 排版, 然后转换成易于呈现的私有格式传 输到客户端。 由于网关已经对页面进行了处理, 所以客户端呈现的速度会有所提高, 网关和 客户端之间的数据传输量也会有所减少。
然而现有技术中的网关与客户端相结合的移动浏览器至少存在以下缺点 :
由于用户可能会对一些网页进行重复访问, 但这些页面在一段时间内的页面布局 变化很小, 其变化的可能仅仅是页面的数据, 但现有技术必须每次都将整个页面进行传输, 这就导致传输资源的浪费。 发明内容
本发明的目的是提供一种移动浏览器、 网关、 浏览系统及互联网页面访问方法, 降 低网关与移动浏览器之间的数据传输量。
为了实现上述目的, 本发明实施例提供了一种网关, 其中, 包括 :
第一请求接收模块, 用于接收第一页面访问请求, 所述第一访问请求是移动浏览 器发送的包括用于指示本地存在待访问互联网页面对应的模板的字段的请求 ;
第一获取模块, 用于在接收到所述第一页面访问请求时访问所述待访问互联网页 面, 获取所述待访问互联网页面对应的内容数据 ;
第一发送模块, 用于向所述浏览器返回所述内容数据, 供所述浏览器合并所述内 容数据与所述待访问互联网页面对应的模板后呈现。
上述的网关, 其中, 还包括 :
第二请求接收模块, 用于接收第二页面访问请求, 所述第二访问请求是移动浏览 器发送的包括用于指示本地没有待访问互联网页面对应的模板的字段的请求 ;
第二获取模块, 用于在接收到所述第二页面访问请求时访问所述待访问互联网页 面, 获取所述待访问互联网页面对应的内容数据和模板 ;
第二发送模块, 用于向所述浏览器返回第二获取模块获取的所述待访问互联网页面对应的内容数据和模板, 供所述浏览器合并后呈现。
上述的网关, 其中, 所述第二获取模块具体包括 :
访问单元, 用于访问所述待访问互联网页面, 得到页面文件 ;
第一遍历单元, 用于遍历所述页面文件, 得到资源文件 ;
文档对象模型树生成单元, 用于解析所述页面文件到内存, 生成文档对象模型 树;
Render 树生成单元, 用于利用排版引擎和 DOM 树生成 Render 树 ;
分离单元, 用于遍历 Render 树生成模板和内容数据文件。
上述的网关, 其中, 所述第一页面访问请求中还包括所述待访问互联网页面对应 的模板的标识, 所述第一获取模块具体包括 :
访问单元, 用于访问所述待访问互联网页面 ;
第一判断单元, 用于从返回的数据中抽取排版特征, 并根据抽取的排版特征和所 述标识对应的模板判断页面布局是否修改 ;
获取单元, 用于在布局修改时, 获取待访问互联网页面对应的内容数据和更新后 的模板, 否则获取待访问互联网页面对应的内容数据 ; 所述第一发送模块具体用于向浏览器返回获取单元得到的数据。
为了实现上述目的, 本发明实施例还提供了一种移动浏览器, 包括 :
保存模块, 用于保存互联网页面对应的模板 ;
判断模块, 用于在请求访问待访问互联网页面之前, 判断所述保存模块是否保存 有所述待访问互联网页面对应的模板 ;
第一请求发送模块, 用于在所述保存模块保存有所述待访问互联网页面对应的模 板时, 向网关发送包括用于指示本地存在所述待访问互联网页面对应的模板的字段的第一 页面访问请求 ;
第一接收模块, 用于接收网关根据所述第一页面访问请求返回的所述待访问互联 网页面的内容数据 ;
第一合并模块, 用于合并所述内容数据与所述待访问互联网页面对应的模板 ;
第一呈现模块, 用于呈现所述第一合并模块合并得到的数据。
上述的移动浏览器, 其中, 还包括 :
第二请求发送模块, 用于在所述保存模块没有保存所述待访问互联网页面对应的 模板时, 向网关发送包括用于指示本地没有所述待访问互联网页面对应的模板的字段的第 二页面访问请求 ;
第二接收模块, 用于接收所述网关根据所述第二页面访问请求返回的所述待访问 互联网页面的内容数据和模板 ;
第二合并模块, 用于合并所述网关根据所述第二页面访问请求返回的内容数据和 模板, 并将所述网关返回的模板保存到所述保存模块 ;
第二呈现模块, 用于呈现所述第二合并模块合并得到的数据。
上述的移动浏览器, 其中, 所述第一页面访问请求中还包括所述待访问互联网页 面对应的模板的标识, 所述标识用于网关判断模板是否更新 ;
所述第一合并模块具体包括 :
第二判断单元, 用于判断接收到的数据是否包括更新后的模板 ;
第一合并单元, 用于在接收到的数据包括更新后的模板时, 合并接收到的更新后 的模板和内容数据, 并保存所述更新后的模板到所述保存模块 ;
第二合并单元, 用于在接收到的数据不包括更新后的模板时, 合并所述保存模块 中与所述待访问互联网页面对应的模板和接收到的内容数据。
为了实现上述目的, 本发明实施例还提供了一种浏览系统, 包括移动浏览器和网 关, 移动浏览器, 包括 :
保存模块, 用于保存互联网页面对应的模板 ;
判断模块, 用于在请求访问待访问互联网页面之前, 判断所述保存模块是否保存 有所述待访问互联网页面对应的模板 ;
第一请求发送模块, 用于在所述保存模块保存有所述待访问互联网页面对应的模 板时, 向网关发送包括用于指示本地存在所述待访问互联网页面对应的模板的字段的第一 页面访问请求 ;
第一接收模块, 用于接收网关返回的所述待访问互联网页面的内容数据 ;
第一合并模块, 用于合并所述内容数据与所述待访问互联网页面对应的模板 ; 第一呈现模块, 用于呈现所述第一合并模块合并得到的数据。
所述网关包括 :
第一请求接收模块, 用于接收所述第一页面访问请求 ;
第一获取模块, 用于在接收到所述第一页面访问请求时访问所述待访问互联网页 面, 获取所述待访问互联网页面对应的内容数据 ;
第一发送模块, 用于向所述浏览器返回所述内容数据。
上述的浏览系统, 其中 :
所述移动浏览器还包括 :
第二请求发送模块, 用于在所述保存模块没有保存所述待访问互联网页面对应的 模板时, 向网关发送包括用于指示本地没有所述待访问互联网页面对应的模板的字段的第 二页面访问请求 ;
第二接收模块, 用于接收所述网关根据所述第二页面访问请求返回的所述待访问 互联网页面的内容数据和模板 ;
第二合并模块, 用于合并所述网关返回的内容数据和模板, 并将所述网关返回的 模板保存到所述保存模块 ;
第二呈现模块, 用于呈现所述第二合并模块合并得到的数据。
所述网关还包括 :
第二请求接收模块, 用于接收第二页面访问请求 ;
第二获取模块, 用于在接收到所述第二页面访问请求时访问所述待访问互联网页 面, 获取所述待访问互联网页面对应的内容数据和模板 ;
第二发送模块, 用于向所述浏览器返回第二获取模块获取的所述待访问互联网页 面对应的内容数据和模板。
上述的浏览系统, 其中 :
所述第一页面访问请求中还包括所述待访问互联网页面对应的模板的标识 ;
所述第一获取模块具体包括 :
访问单元, 用于访问所述待访问互联网页面 ;
第一判断单元, 用于从返回的数据中抽取排版特征, 并根据抽取的排版特征和所 述标识对应的模板判断页面布局是否修改 ;
获取单元, 用于在布局修改时, 获取待访问互联网页面对应的内容数据和更新后 的模板, 否则获取待访问互联网页面对应的内容数据 ;
所述第一发送模块具体用于向浏览器返回获取单元得到的数据。
所述第一合并模块具体包括 :
第二判断单元, 用于判断接收到的数据是否包括更新后的模板 ;
第一合并单元, 用于在接收到的数据包括更新后的模板时, 合并接收到的更新后 的模板和内容数据, 并保存所述更新后的模板到所述保存模块 ;
第二合并单元, 用于在接收到的数据不包括更新后的模板时, 合并所述保存模块 中与所述待访问互联网页面对应的模板和接收到的内容数据。
为了实现上述目的, 本发明实施例还提供了一种互联网页面访问方法, 包括 :
网关接收第一页面访问请求, 所述第一访问请求是移动浏览器发送的包括用于指 示本地存在待访问互联网页面对应的模板的字段的请求 ;
网关访问所述待访问互联网页面, 获取所述待访问互联网页面对应的内容数据 ;
网关向所述浏览器返回所述内容数据, 供所述浏览器合并所述内容数据与所述待 访问互联网页面对应的模板后呈现。
上述的互联网页面访问方法, 其中, 还包括 :
网关接收第二页面访问请求, 所述第二访问请求是移动浏览器发送的包括用于指 示本地没有待访问互联网页面对应的模板的字段的请求 ;
网关在接收到所述第二页面访问请求时访问所述待访问互联网页面, 获取所述待 访问互联网页面对应的内容数据和模板 ;
网关向所述浏览器返回第二获取模块获取的所述待访问互联网页面对应的内容 数据和模板, 供所述浏览器合并后呈现。
上述的互联网页面访问方法, 其中, 还包括 : 所述获取所述待访问互联网页面对应 的内容数据和模板具体包括 :
网关遍历页面文件, 得到资源文件 ;
网关解析所述页面文件到内存, 生成文档对象模型树 ;
网关利用排版引擎和 DOM 树生成 Render 树 ;
网关遍历 Render 树生成模板和内容数据文件。
上述的互联网页面访问方法, 其中, 所述第一页面访问请求中还包括所述待访问 互联网页面对应的模板的标识, 所述网关访问页面所述待访问互联网, 获取所述待访问互 联网页面对应的内容数据具体包括 :
网关访问所述待访问互联网页面 ;
网关从返回的数据中抽取排版特征, 并根据抽取的排版特征和所述标识对应的模 板判断页面布局是否修改 ;
网关在布局修改时, 获取待访问互联网页面对应的内容数据和更新后的模板, 否则获取待访问互联网页面对应的内容数据。
为了实现上述目的, 本发明实施例还提供了一种互联网页面访问方法, 包括 :
移动浏览器在请求访问待访问互联网页面之前, 判断本地是否保存有所述待访问 互联网页面对应的模板 ;
移动浏览器在本地保存有所述待访问互联网页面对应的模板时, 向网关发送包括 用于指示本地存在所述待访问互联网页面对应的模板的字段的第一页面访问请求 ;
移动浏览器接收网关根据所述第一页面访问请求返回的所述待访问互联网页面 的内容数据 ;
移动浏览器合并所述内容数据与所述待访问互联网页面对应的模板后呈现。
上述的互联网页面访问方法, 其中, 还包括 :
移动浏览器在本地没有保存所述待访问互联网页面对应的模板时, 向网关发送包 括用于指示本地没有所述待访问互联网页面对应的模板的字段的第二页面访问请求 ;
移动浏览器接收所述网关根据所述第二页面访问请求返回的所述待访问互联网 页面的内容数据和模板 ;
移动浏览器合并所述网关根据所述第二页面访问请求返回的内容数据和模板后 呈现, 并将所述网关返回的模板保存到所述保存模块。 上述的互联网页面访问方法, 其中, 所述第一页面访问请求中还包括所述待访问 互联网页面对应的模板的标识, 所述标识用于网关判断模板是否更新 ;
所述移动浏览器合并所述内容数据与所述待访问互联网页面对应的模板具体包 括:
所述移动浏览器判断接收到的数据是否包括更新后的模板 ;
所述移动浏览器在接收到的数据包括更新后的模板时, 合并接收到的更新后的模 板和内容数据, 并保存所述更新后的模板到所述保存模块, 否则合并本地保存的与所述待 访问互联网页面对应的模板和接收到的内容数据。
本发明实施例具有以下的有益效果 :
本发明具体实施例的移动浏览器、 网关、 浏览系统及互联网页面访问方法中, 网关 解析互联网页面数据, 获取所述互联网页面对应的模板, 并将该模板及内容数据返回给浏 览器端, 由移动浏览器合并该模板及内容数据后展现给用户, 在移动浏览器后续访问该页 面时, 网关只需要将对应的内容数据返回给该移动浏览器, 网元不需要每次都解析页面进 行排版和计算模板特征的计算, 同时也不需要每次都发送模板, 因此, 能够降低数据的传输 量和网关的运算量。 同时, 在互联网页面的布局不经常变化的情况下, 大大降低了客户端的 计算量和数据传输量, 从而提高用户通过移动浏览器访问互联网的速度, 降低电量消耗, 提 升用户体验 ;
本发明实施例中, 在页面模板更新时, 网关向浏览器返回更新后的模板, 保证在模 板变化的情况下, 浏览器也能够正确呈现待访问互联网页面。
本发明实施例中, 利用 Render 树来分离模板和数据, 实现简单。
附图说明
图 1 为本发明实施例的浏览系统的结构示意图 ;图 2 为本发明实施例的方法浏览器侧的流程示意图 ; 图 3 为本发明实施例的方法网关侧的流程示意图 ; 图 4 为一 HTML 页面在浏览器里的显示效果示意图 ; 图 5 为本发明实施例中进行模板和数据分离的具体流程示意图。具体实施方式
本发明具体实施例的移动浏览器、 网关、 浏览系统及互联网页面访问方法中, 网关 解析互联网页面数据, 获取所述互联网页面对应的模板, 并将该模板及内容数据返回给浏 览器端, 由移动浏览器合并该模板及内容数据后展现给用户, 在移动浏览器后续访问该页 面时, 网关只需要将对应的内容数据返回给该移动浏览器, 网元不需要每次都解析页面进 行排版和计算模板特征的计算, 同时也不需要每次都发送模板, 因此, 能够降低数据的传输 量和网关的运算量。
本发明实施例的浏览系统包括移动浏览器和网关, 其中, 移动浏览器如图 1 所示, 包括 :
保存模块, 用于保存互联网页面对应的模板 ; 判断模块, 用于在请求访问待访问互联网页面之前, 判断所述保存模块是否保存 有所述待访问互联网页面对应的模板 ;
第一请求发送模块, 用于在所述保存模块保存有所述待访问互联网页面对应的模 板时, 向网关发送包括第一指示字段和第二指示字段的第一页面访问请求, 所述第一指示 字段用于指示所述待访问互联网页面, 所述第二指示字段用于指示本地存在所述待访问互 联网页面对应的模板 ;
第一接收模块, 用于接收所述网关返回的所述待访问互联网页面的内容数据 ;
第一合并模块, 用于合并所述内容数据与所述待访问互联网页面对应的模板 ;
第一呈现模块, 用于呈现所述第一合并模块合并得到的数据。
而网关如图 1 所示, 包括 :
第一请求接收模块, 用于接收第一页面访问请求, 所述第一访问请求是移动浏览 器本地保存有待访问互联网页面对应的模板时发送的包括第一指示字段和第二指示字段 的请求 ; 所述第一指示字段用于指示所述待访问互联网页面, 所述第二指示字段用于指示 本地存在所述待访问互联网页面对应的模板 ;
第一获取模块, 用于在接收到所述第一页面访问请求时访问所述待访问互联网页 面, 获取所述待访问互联网页面对应的内容数据 ;
第一发送模块, 用于向所述浏览器返回所述内容数据, 供所述浏览器合并所述内 容数据与所述待访问互联网页面对应的模板后呈现。
从浏览器侧看, 本发明实施例的互联网页面访问方法如图 2 所示, 包括 :
步骤 21, 在请求访问待访问互联网页面之前, 移动浏览器判断所述保存模块是否 保存有所述待访问互联网页面对应的模板 ;
步骤 22, 在所述保存模块保存有所述待访问互联网页面对应的模板时, 移动浏览 器向网关发送包括第一指示字段和第二指示字段的第一页面访问请求, 所述第一指示字段 用于指示所述待访问互联网页面, 所述第二指示字段用于指示本地存在所述待访问互联网
页面对应的模板 ;
步骤 23, 移动浏览器接收所述网关返回的所述待访问互联网页面的内容数据 ;
步骤 24, 移动浏览器合并所述内容数据与所述待访问互联网页面对应的模板后呈 现。
在步骤 21 中, 先根据页面的 URL( 不包括 http get 参数 ) 查询终端本地模板库里 是否有该页面的模板。如果有则将模板调入内存, 准备好呈现所需要的数据结构 ;
从网关侧看, 本发明实施例的互联网页面访问方法如图 3 所示, 包括 :
步骤 31, 网关接收第一页面访问请求, 所述第一访问请求是移动浏览器本地没有 保存有待访问互联网页面对应的模板时发送的包括第一指示字段和第二指示字段的请求 ; 所述第一指示字段用于指示所述待访问互联网页面, 所述第二指示字段用于指示本地存在 所述待访问互联网页面对应的模板 ;
步骤 32, 网关访问所述待访问互联网页面, 获取所述待访问互联网页面对应的内 容数据 ;
步骤 33, 网关向所述浏览器返回所述内容数据, 供所述浏览器合并所述内容数据 与所述待访问互联网页面对应的模板后呈现。 在上述的实施例中, 是以待访问互联网页面的模板不发生变化为例进行的说明, 在待访问互联网页面的模板不发生变化时, 网关仅需要获取该待访问互联网页面的内容数 据, 并发送给浏览器, 由浏览器在本地合并接收到的内容数据和本地保存的模板展现给用 户, 因此, 网关不必每次页面访问请求都发送模板, 也就不必每次都抽取模板, 因此不但节 约了网络带宽, 也节省了网关有限的处理资源, 能够为更多的用户服务。
在本发明的具体实施例中, 所述待访问互联网页面对应的模板可以通过多种方式 得到, 如下所述。
预先保存方式, 如将大量的模板保存在服务器, 由用户选择下载到本地, 对于这部 分用户已经下载到本地的模板所对应的页面, 用户在下一次访问时, 就不再需要网关发送 模板 ; 而用户可以周期性更新这些页面模板, 以保证保存在本地的页面模板的正确性。
实时获取方式, 对于实时获取的方式详细说明如下。
在所述待访问互联网页面为用户首次访问时, 本地没有该页面对应的模板, 此时 浏览器发送的访问请求中会指示本地没有所述待访问互联网页面对应的模板, 此时, 网关 在接收到该访问请求时, 会访问该待访问页面, 并利用返回的 HTML 页面进行排版并计算模 板特征, 从而得到该待访问页面对应的模板, 同时将该待访问页面对应的模板和内容数据 同时返回浏览器, 由浏览器保存模板, 并合并接收到的内容数据和模板后呈现给用户。
在这种情况下, 本发明实施例的移动浏览器还包括第二请求发送模块、 第二接收 模块和第二合并模块, 其中 :
第二请求发送模块在所述保存模块没有保存所述待访问互联网页面对应的模板 时, 向网关发送包括第一指示字段和第三指示字段的第二页面访问请求, 所述第一指示字 段用于指示所述待访问互联网页面, 所述第三指示字段用于指示本地不存在所述待访问互 联网页面对应的模板 ;
第二接收模块接收所述网关根据所述第二页面访问请求返回的所述待访问互联 网页面的内容数据和所述待访问互联网页面对应的模板 ;
第二合并模块合并所述网关返回的内容数据和模板, 并将所述网关返回的模板保 存到所述保存模块 ;
第二呈现模块呈现所述第二合并模块合并得到的数据。
而网关还包括第二请求接收模块、 第二获取模块、 第二发送模块, 其中 :
第二请求接收模块接收第二页面访问请求, 所述第二访问请求是移动浏览器本地 没有保存有待访问互联网页面对应的模板时发送的包括第一指示字段和第三指示字段的 请求 ; 所述第三指示字段用于指示所述待访问互联网页面, 所述第三指示字段用于指示本 地没有所述待访问互联网页面对应的模板 ;
第二获取模块在接收到所述第二页面访问请求时访问所述待访问互联网页面, 获 取所述待访问互联网页面对应的内容数据和模板 ;
第二发送模块向所述浏览器返回第二获取模块获取的所述待访问互联网页面对 应的内容数据和模板, 供所述浏览器合并后呈现。
应当理解的是, 上述的第一请求发送模块和第二请求发送模块可以分开设置, 但 也可以由一个模块来实现, 同样其他功能基本相同的模块也可以由一个模块来实现。
在上述的实施例中, 都是以页面对应的模板不再发生变化的情况进行的说明, 但 一般而言, 页面会有周期性或临时性的布局变化需求, 在这种情况下, 本发明实施例还需要 对待访问互联网页面的模板进行检查, 查看是否有变化, 并在发生变化的情况向浏览器发 送变化后的模板, 以使得浏览器能够正确呈现, 下面进行详细说明。
所述的第一请求发送模块, 用于在所述保存模块保存有所述待访问互联网页面对 应的模板时, 向网关发送包括第一指示字段和第二指示字段的第一页面访问请求, 所述第 一指示字段用于指示所述待访问互联网页面, 所述第二指示字段用于指示本地存在的所述 待访问互联网页面对应的模板, 其可以是模板标识 ;
而网关的第一获取模块具体包括 :
访问单元, 用于访问所述待访问互联网页面 ;
第一判断单元, 用于从返回的数据中抽取排版特征, 并根据抽取的排版特征和所 述第一页面访问请求包括的标识对应的模板判断页面布局是否修改 ;
获取单元, 用于在布局修改时, 获取待访问互联网页面对应的内容数据和更新后 的模板, 否则获取待访问互联网页面对应的内容数据 ;
所述第一发送模块具体用于向浏览器返回获取单元得到的数据。
而第一接收模块具体用于接收网关返回的数据。
所述第一合并模块具体包括 :
第二判断单元, 用于判断接收到的数据是否包括更新后的模板 ;
第一合并单元, 用于在接收到的数据包括更新后的模板时, 合并接收到的更新后 的模板和内容数据 ;
第二合并单元, 用于在接收到的数据不包括模板时, 合并所述保存模块中与所述 待访问互联网页面对应的模板和接收到的内容数据。
通过上述的过程, 实现了页面模板的及时更新, 保证在模板变化的情况下, 浏览器 也能够正确呈现待访问互联网页面。
在本发明的具体实施例中, 该 http 请求的自定义 Header, ATB_Template_ID 填本地模板 id, 如果本地没有对应的模板, 则此 Header 值为空, 即可指示本地是否有模板, 在有 模板的情况下, 具体是哪一个模板。
下面对本发明实施例中的模板以及内容数据的获取进行进一步详细说明。
在本发明的具体实施例中, 采用 XML( 可扩展标记语言 ) 来定义模板, 模板的主要 元素有 : Page、 Label、 Picture、 Memo、 Button、 Edit、 Checkbox、 Radio、 Menu、 Repeatbox 等。
模板元素具有公共属性和私有属性, 公共属性模板元素共有的属性, 主要包括位 置、 颜色和字体等属性。例如对于 Picture 元素, 位置属性定义如下 :
属性名 Visible Left Top Width Height
类型 数字 数字 数字 数字 数字属性值样例 1 “0” “0” “240” “320”说明 0 和 1 分别表示图片不可见和可见 图片左边缘起始坐标 图片上边缘起始坐标 图片宽度 图片高度私有属性是某个模板元素特有的属性, 比如 Picture 元素, 具有以下私有属性 :类型 数字 属性值样例 “21” 说明 对象对应的图片资源 ID, -1 无效资源属性名 Res
通过综合使用这些模板标记, 可以描述绝大多数互联网页面的布局。
当然, 对于某些难以处理的内容, 如 Flash、 AJAX 等 RIA 内容, 为了降低处理难度, 可以由网关过滤。 下面通过一个例子说明将互联网页面分解为模板和内容数据的过程。 例如有如下 HTML 页面 :
Style
此页面在浏览器里的显示效果如图 4 所示。 而网关根据接收到的 HTML 页面分离得到模板和内容数据如图 5 所示, 包括 : 步骤 51, 遍历得到的 HTML 页面文件, 得到全部资源文件, 如图片和 CSS(Cascading Sheets, 层叠样式表单 ) 等 ; 步骤 52, 解析 html 页面到内存, 生成 DOM(Document Object Model 文档对象模型 ) 步骤 53, 调用排版引擎 ( 如 webkit), 根据 DOM 树生成 Render Tree ; 步骤 54, 遍历 Render Tree 生成模板文件和内容数据文件。15树;
102065572 A CN 102065582
说明书11/13 页因此, 网关的第二获取模块具体包括 : 访问单元, 用于访问所述待访问互联网页面, 得到页面文件 ; 第一遍历单元, 用于遍历所述页面文件, 得到资源文件 ; 文档对象模型树生成单元, 用于解析所述页面文件到内存, 生成文档对象模型树; Render 树生成单元, 用于利用排版引擎和 DOM 树生成 Render 树 ;
分离单元, 用于遍历 Render 树生成模板和内容数据文件。
在步骤 54 中, 对每一个 Render 节点, 将其节点类型添加模板元素到模板文件, 二 将节点的值添加到内容数据文件, 如文本型的 Render 节点对应 Label 模板元素, 对 Render 节点的内容数据编号, 放入单独的内容数据文件。
对于 DOM(Document Object Model 文档对象模型 ) 树和 Render 树的生成属于现 有技术的范畴, 下面以一个实际的例子说明如下。
对于上面样例 html 页面, 生成的模板文件如下 :
而生成的内容数据文件如下 :本发明实施例中, 浏览器在访问页面前, 先根据页面的 URL( 不包括 httpget 参数 ) 查询终端本地模板库里是否有该页面的模板。如果有则将模板调入内存, 准备好呈现所需 要的数据结构 ;
浏览器发送页面 http 请求到网关, http 请求的自定义 Header, ATB_Template_ID 填本地模板 id, 如果本地没有对应的模板, 则此 Header 值为空。
网关收到浏览器的 http 请求, 将网关模板库中对应的模板调入内存。同时转发 http 请求到 WWW 网站, 网站返回 html 页面给 ATB 网关 ;
网关解析 html 页面并排版, 抽取排版特征与当前模板进行比较。如果页面布局有 修改或者浏览器没有模板, 则将网页分离为模板和内容数据两部分, 新模板或修改后的模 板保存在网关上, 并与内容数据返回给浏览器 ;
如果页面布局没有修改, 网关根据模板定义从 html 页面中抽取内容数据, 只将内 容数据返回给 ATB 浏览器 ;
ATB 浏览器收到的返回里如果有新模板, 则更新本地模板库, 如果没有则使用老模 板。将模板与内容数据合并得到可以直接显示的数据结构, 显示在屏幕上。
以上所述仅是本发明的优选实施方式, 应当指出, 对于本技术领域的普通技术人 员来说, 在不脱离本发明原理的前提下, 还可以作出若干改进和润饰, 这些改进和润饰也应 视为本发明的保护范围。