《IE内核浏览器进行网页渲染的方法及装置.pdf》由会员分享,可在线阅读,更多相关《IE内核浏览器进行网页渲染的方法及装置.pdf(17页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102929944 A (43)申请公布日 2013.02.13 CN 102929944 A *CN102929944A* (21)申请号 201210372023.6 (22)申请日 2012.09.28 G06F 17/30(2006.01) (71)申请人 北京奇虎科技有限公司 地址 100088 北京市西城区新街口外大街 28 号 D 座 112 室 (德胜园区) 申请人 奇智软件 (北京) 有限公司 (72)发明人 党壮 任寰 (74)专利代理机构 北京市德权律师事务所 11302 代理人 刘丽君 (54) 发明名称 IE 内核浏览器进行网页渲染的方法及装。
2、置 (57) 摘要 本发明公开了 IE 内核浏览器进行网页渲染 的方法及装置, 所述 IE 内核浏览器中内置有至少 两个版本的 IE 内核, 包括第一映射表, 其保存有 网址与 IE 内核版本之间的映射关系 ; 所述方法包 括 : 预置第二映射表, 所述第二映射表中保存有 特定网址与 IE 内核版本之间的映射关系 ; 接收到 网页访问请求之后, 对选择 IE 内核版本的请求进 行监控 ; 对所述选择 IE 内核版本的请求进行拦 截, 以阻止查询所述第一映射表的操作 ; 确定所 述选择 IE 内核版本的请求对应的目标网页的网 址, 并从所述第二映射表中查找所述目标网页的 网址对应的目标 IE 内。
3、核版本 ; 利用所述目标 IE 内核版本对所述目标网页进行渲染。 通过本发明, 提高了基于 IE 内核的浏览器的渲染效率。 (51)Int.Cl. 权利要求书 3 页 说明书 11 页 附图 2 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 3 页 说明书 11 页 附图 2 页 1/3 页 2 1. 一种 IE 内核浏览器进行网页渲染的方法, 所述 IE 内核浏览器中内置有至少两个版 本的 IE 内核, 所述 IE 内核浏览器中包括第一映射表, 所述第一映射表中保存有网址与 IE 内核版本之间的映射关系 ; 所述方法包括 : 预置第二映射表, 所述第二映射表中保。
4、存有特定网址与 IE 内核版本之间的映射关系 ; 接收到网页访问请求之后, 对选择 IE 内核版本的请求进行监控 ; 当监控到所述选择IE内核版本的请求时, 对所述选择IE内核版本的请求进行拦截, 以 阻止查询所述第一映射表的操作 ; 确定所述选择 IE 内核版本的请求对应的目标网页的网址, 并从所述第二映射表中查 找所述目标网页的网址对应的目标 IE 内核版本 ; 利用所述目标 IE 内核版本对所述目标网页进行渲染。 2. 如权利要求 1 所述的方法, 还包括 : 如果所述第二映射表中不存在所述目标网页的网址, 则从所述第一映射表中查找所述 目标网页的网址对应的目标 IE 内核版本。 3. 。
5、如权利要求 2 所述的方法, 还包括 : 如果所述第一映射表中不存在所述目标网页的网址, 则将预置的默认 IE 内核版本确 定为目标 IE 内核版本。 4. 如权利要求 1 至 3 任一项所述的方法, 还包括 : 记录所述目标网页与目标 IE 内核版本之间的对应关系 ; 当拦截到新的选择 IE 内核版本的请求时, 确定新的目标网页的网址 ; 判断新的目标网页是否为原目标网页的子网页, 如果是, 则将所记录的原目标网页对 应的目标 IE 内核版本, 确定为新的目标网页的目标 IE 内核版本。 5. 如权利要求 1 至 3 任一项所述的方法, 所述第二映射表保存有根据特定地理区域用 户的浏览习惯建。
6、立的特定网址与 IE 内核版本之间的映射关系。 6. 如权利要求 5 任一项所述的方法, 所述第二映射表为多个, 分别对应不同的特定地 理区域, 所述从所述第二映射表中查找所述目标网页的网址对应的目标 IE 内核版本包括 : 根据 IE 内核浏览器终端侧所在用户设备的 IP 地址确定发送方所处的地理区域 ; 从所述发送方所处地理区域对应的第二映射表中查找所述目标网页的网址对应的目 标 IE 内核版本。 7. 如权利要求 1 所述的方法, 还包括 : 根据 IE 内核浏览器服务器侧提供的特定网址与 IE 内核版本的映射关系, 对 IE 内核浏 览器终端侧的第二映射表进行更新。 8. 根据权利要求。
7、 7 所述的方法, 所述第二映射表保存有根据特定地理区域用户的浏览 习惯建立的特定网址与 IE 内核版本之间的映射关系, 且所述第二映射表为多个, 分别对应 不同的特定地理区域, 则所述根据 IE 内核浏览器服务器侧提供的特定网址与 IE 内核版本 的映射关系, 对 IE 内核浏览器终端侧的第二映射表进行更新包括 : 根据浏览器终端侧所在用户设备的 IP 地址确定地理区域 ; 根据IE内核浏览器服务器侧提供的该地理区域对应的特定网址与IE内核版本的映射 关系, 对 IE 内核浏览器终端侧的第二映射表进行更新。 9.如权利要求7或8所述的方法, 所述对IE内核浏览器终端侧的第二映射表进行更新 权。
8、 利 要 求 书 CN 102929944 A 2 2/3 页 3 包括 : 安装所述 IE 内核浏览器的新版本时, 对所述第二映射表进行更新 ; 或者, 通过后台方式对所述第二映射表进行更新 ; 或者, 所述 IE 内核浏览器被启动时, 对所述第二映射表进行更新。 10. 如权利要求 1 至 3 任一项所述的方法, 所述利用所述目标 IE 内核版本对所述目标 网页进行渲染包括 : 通 过 将 所 述 目 标 IE 内 核 版 本 设 置 到 GetUrlCacheEntryInfo 函 数 的 中 的 lpCacheEntryInfo 参数以及 CoInternetSetBrowserEmu。
9、lationMode 函数中, 实现利用所述 目标 IE 内核版本对所述目标网页进行渲染。 11. 一种 IE 内核浏览器进行网页渲染的装置, 所述 IE 内核浏览器中内置有至少两个 版本的IE内核, 所述IE内核浏览器中包括第一映射表, 所述第一映射表中保存有网址与IE 内核版本之间的映射关系 ; 所述装置包括 : 映射表预置单元, 用于预置第二映射表, 所述第二映射表中保存有特定网址与 IE 内核 版本之间的映射关系 ; 监控单元, 用于接收到网页访问请求之后, 对选择 IE 内核版本的请求进行监控 ; 拦截单元, 用于当监控到所述选择IE内核版本的请求时, 对所述选择IE内核版本的请 求。
10、进行拦截, 以阻止查询所述第一映射表的操作 ; 第一查询单元, 用于获取所述选择 IE 内核版本的请求对应的目标网页的网址, 并从所 述第二映射表中查找所述目标网页的网址对应的目标 IE 内核版本 ; 渲染单元, 用于利用所述目标 IE 内核版本对所述目标网页进行渲染。 12. 如权利要求 11 所述的装置, 还包括 : 第二查询单元, 用于如果所述第二映射表中不存在所述目标网页的网址, 则从所述第 一映射表中查找所述目标网页的网址对应的目标 IE 内核版本。 13. 如权利要求 12 所述的装置, 还包括 : 默认选择单元, 用于如果所述第一映射表中不存在所述目标网页的网址, 则将预置的 默。
11、认 IE 内核版本确定为目标 IE 内核版本。 14. 如权利要求 11 至 13 任一项所述的装置, 还包括 : 记录单元, 用于记录所述目标网页与目标 IE 内核版本之间的对应关系 ; 标识确定单元, 用于当拦截到新的选择 IE 内核版本的请求时, 确定新的目标网页的网 址 ; 判断单元, 用于判断新的目标网页是否为原目标网页的子网页, 如果是, 则将所记录的 原目标网页对应的目标 IE 内核版本, 确定为新的目标网页的目标 IE 内核版本。 15.如权利要求11至13任一项所述的装置, 所述第二映射表保存有根据特定地理区域 用户的浏览习惯建立的特定网址与 IE 内核版本之间的映射关系。 。
12、16. 如权利要求 15 所述的装置, 所述第二映射表为多个, 分别对应不同的特定地理区 域, 所述第一查询单元包括 : 地理区域确定子单元, 用于根据 IE 内核浏览器终端侧所在用户设备的 IP 地址确定发 权 利 要 求 书 CN 102929944 A 3 3/3 页 4 送方所处的地理区域 ; 查询子单元, 用于从所述发送方所处地理区域对应的第二映射表中查找所述目标网页 的网址对应的目标 IE 内核版本。 17. 如权利要求 11 所述的装置, 还包括 : 更新单元, 用于根据 IE 内核浏览器服务器侧提供的特定网址与 IE 内核版本的映射关 系, 对 IE 内核浏览器终端侧的第二映射。
13、表进行更新。 18. 如权利要求 17 所述的装置, 所述第二映射表保存有根据特定地理区域用户的浏览 习惯建立的特定网址与 IE 内核版本之间的映射关系, 且所述第二映射表为多个, 分别对应 不同的特定地理区域, 所述更新单元包括 : 区域确定子单元, 用于根据浏览器终端侧所在用户设备的 IP 地址确定地理区域 ; 区域数据更新子单元, 用于根据 IE 内核浏览器服务器侧提供的该地理区域对应的特 定网址与 IE 内核版本的映射关系, 对 IE 内核浏览器终端侧的第二映射表进行更新。 19. 如权利要求 17 或 18 所述的装置, 所述更新单元包括 : 第一更新子单元, 用于安装所述 IE 内。
14、核浏览器的新版本时, 对所述第二映射表进行更 新 ; 或者, 第二更新子单元, 用于通过后台方式对所述第二映射表进行更新 ; 或者, 第三更新子单元, 用于所述 IE 内核浏览器被启动时, 对所述第二映射表进行更新。 20. 如权利要求 11 至 13 任一项所述的装置, 所述渲染单元具体用于 : 通 过 将 所 述 目 标 IE 内 核 版 本 设 置 到 GetUrlCacheEntryInfo 函 数 的 中 的 lpCacheEntryInfo 参数以及通过 CoInternetSetBrowserEmulationMode 函数, 实现利用所 述目标 IE 内核版本对所述目标网页进行。
15、渲染。 权 利 要 求 书 CN 102929944 A 4 1/11 页 5 IE 内核浏览器进行网页渲染的方法及装置 技术领域 0001 本发明涉及浏览器技术领域, 具体涉及 IE 内核浏览器进行网页渲染的方法及装 置。 背景技术 0002 浏览器是指可以显示网页服务器或者文件系统的 HTML(HypertextMarkup Language, 超文本标记语言 ) 文件内容, 并让用户与这些文件交互的一种软件。浏览器最重 要的部分是 “Rendering Engine” , 一般被称为 “解释引擎” , 或者更多的被称为 “浏览器内 核” 。浏览器内核负责对网页语法的解释 ( 如 HTML。
16、、 JavaScript) 并渲染 ( 显示 ) 网页。所 以, 通常所谓的浏览器内核也就是浏览器所采用的渲染引擎, 渲染引擎决定了浏览器如何 显示网页的内容以及页面的格式信息。 0003 不同的渲染引擎对网页编写语法的解释也有不同, 因此同一网页在不同的渲染引 擎的浏览器里的渲染 ( 显示 ) 效果也可能不同。另一方面, 对于同一渲染引擎而言, 随着 渲染引擎版本的升级, 其对网页编写语法的解释一般也会发生变化, 这就使得按照旧版本 编写的网页, 在使用新版本的渲染引擎进行渲染时, 可能会使得网页的显示效果受到影响。 为了尽可能兼容按照不同渲染引擎、 同一渲染引擎的不同版本编写的网页, 同一。
17、个浏览器 中一般会提供多种渲染模式, 也即, 一个浏览器中内置有多个内核, 或者同一内核的多个版 本。 以IE浏览器为例, 在发布IE8浏览器时, 内核版本已经升级到IE8, 但是, 为了能够兼容 按照 IE6、 IE7 标准编写的网页, IE8 浏览器中内置有 IE6、 IE7、 IE8 这三个版本的内核, 在使 用 IE8 浏览器浏览某网页时, 如果该网页在使用 IE7 渲染能够正常显示, 使用 IE8 渲染时却 出现变形, 则可以使用 IE7 对该网页进行渲染, 以保证网页的显示效果。 0004 为了配合这种在多个版本的 IE 内核之间进行转换的机制, IE 内核浏览器一般需 要具有内置。
18、转换引擎, 以及一个专门的配置文件 ( 例如, iecompatdata.xml), 该配置文件 中保存了网址与 IE 内核版本之间的映射关系, 当用户访问某网页时, 浏览器的转换引擎会 首先发起一个选择 IE 内核版本的请求, 从该配置文件中查找当前网页的网址, 并查找到该 网址对应的 IE 内核版本, 然后使用对应的 IE 内核版本对该网页进行渲染。 0005 然而, 在现有技术中, 虽然IE内核浏览器已经使用了前述多个IE内核版本之间进 行切换的机制, 但是, 现有的配置文件中保存的网址与 IE 内核版本之间的映射关系往往是 不够的, 使得网页的渲染效率及效果受到影响。 发明内容 000。
19、6 鉴于上述问题, 提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的 IE 内核浏览器进行网页渲染的方法和相应的 IE 内核浏览器进行网页渲染的装 置。 0007 依据本发明的一个方面, 提供了一种 IE 内核浏览器进行网页渲染的方法, 所述 IE 内核浏览器中内置有至少两个版本的IE内核, 所述IE内核浏览器中包括第一映射表, 所述 说 明 书 CN 102929944 A 5 2/11 页 6 第一映射表中保存有网址与 IE 内核版本之间的映射关系 ; 所述方法包括 : 0008 预置第二映射表, 所述第二映射表中保存有特定网址与 IE 内核版本之间的映射 关系 ; 00。
20、09 接收到网页访问请求之后, 对选择 IE 内核版本的请求进行监控 ; 0010 当监控到所述选择 IE 内核版本的请求时, 对所述选择 IE 内核版本的请求进行拦 截, 以阻止查询所述第一映射表的操作 ; 0011 确定所述选择 IE 内核版本的请求对应的目标网页的网址, 并从所述第二映射表 中查找所述目标网页的网址对应的目标 IE 内核版本 ; 0012 利用所述目标 IE 内核版本对所述目标网页进行渲染。 0013 可选地, 还包括 : 0014 如果所述第二映射表中不存在所述目标网页的网址, 则从所述第一映射表中查找 所述目标网页的网址对应的目标 IE 内核版本。 0015 可选地,。
21、 还包括 : 0016 如果所述第一映射表中不存在所述目标网页的网址, 则将预置的默认 IE 内核版 本确定为目标 IE 内核版本。 0017 可选地, 还包括 : 0018 记录所述目标网页与目标 IE 内核版本之间的对应关系 ; 0019 当拦截到新的选择 IE 内核版本的请求时, 确定新的目标网页的网址 ; 0020 判断新的目标网页是否为原目标网页的子网页, 如果是, 则将所记录的原目标网 页对应的目标 IE 内核版本, 确定为新的目标网页的目标 IE 内核版本。 0021 可选地, 所述第二映射表保存有根据特定地理区域用户的浏览习惯建立的特定网 址与 IE 内核版本之间的映射关系。 。
22、0022 可选地, 所述第二映射表为多个, 分别对应不同的特定地理区域, 所述从所述第二 映射表中查找所述目标网页的网址对应的目标 IE 内核版本包括 : 0023 根据 IE 内核浏览器终端侧所在用户设备的 IP 地址确定发送方所处的地理区域 ; 0024 从所述发送方所处地理区域对应的第二映射表中查找所述目标网页的网址对应 的目标 IE 内核版本。 0025 可选地, 还包括 : 0026 根据 IE 内核浏览器服务器侧提供的特定网址与 IE 内核版本的映射关系, 对 IE 内 核浏览器终端侧的第二映射表进行更新。 0027 可选地, 所述第二映射表保存有根据特定地理区域用户的浏览习惯建立。
23、的特定网 址与 IE 内核版本之间的映射关系, 且所述第二映射表为多个, 分别对应不同的特定地理区 域, 则所述根据 IE 内核浏览器服务器侧提供的特定网址与 IE 内核版本的映射关系, 对 IE 内核浏览器终端侧的第二映射表进行更新包括 : 0028 根据浏览器终端侧所在用户设备的 IP 地址确定地理区域 ; 0029 根据IE内核浏览器服务器侧提供的该地理区域对应的特定网址与IE内核版本的 映射关系, 对 IE 内核浏览器终端侧的第二映射表进行更新。 0030 可选地, 所述对 IE 内核浏览器终端侧的第二映射表进行更新包括 : 0031 安装所述 IE 内核浏览器的新版本时, 对所述第二。
24、映射表进行更新 ; 说 明 书 CN 102929944 A 6 3/11 页 7 0032 或者, 0033 通过后台方式对所述第二映射表进行更新 ; 0034 或者, 0035 所述 IE 内核浏览器被启动时, 对所述第二映射表进行更新。 0036 可选地, 所述利用所述目标 IE 内核版本对所述目标网页进行渲染包括 : 0037 通 过 将 所 述 目 标 IE 内 核 版 本 设 置 到 GetUrlCacheEntryInfo 函 数 的 中 的 lpCacheEntryInfo 参数以及 CoInternetSetBrowserEmulationMode 函数中, 实现利用所述 目。
25、标 IE 内核版本对所述目标网页进行渲染。 0038 根据本发明的另一方面, 提供了一种 IE 内核浏览器进行网页渲染的装置, 所述 IE 内核浏览器中内置有至少两个版本的IE内核, 所述IE内核浏览器中包括第一映射表, 所述 第一映射表中保存有网址与 IE 内核版本之间的映射关系 ; 所述装置包括 : 0039 映射表预置单元, 用于预置第二映射表, 所述第二映射表中保存有特定网址与 IE 内核版本之间的映射关系 ; 0040 监控单元, 用于接收到网页访问请求之后, 对选择 IE 内核版本的请求进行监控 ; 0041 拦截单元, 用于当监控到所述选择IE内核版本的请求时, 对所述选择IE内。
26、核版本 的请求进行拦截, 以阻止查询所述第一映射表的操作 ; 0042 第一查询单元, 用于获取所述选择 IE 内核版本的请求对应的目标网页的网址, 并 从所述第二映射表中查找所述目标网页的网址对应的目标 IE 内核版本 ; 0043 渲染单元, 用于利用所述目标 IE 内核版本对所述目标网页进行渲染。 0044 可选地, 还包括 : 0045 第二查询单元, 用于如果所述第二映射表中不存在所述目标网页的网址, 则从所 述第一映射表中查找所述目标网页的网址对应的目标 IE 内核版本。 0046 可选地, 还包括 : 0047 默认选择单元, 用于如果所述第一映射表中不存在所述目标网页的网址, 。
27、则将预 置的默认 IE 内核版本确定为目标 IE 内核版本。 0048 可选地, 还包括 : 0049 记录单元, 用于记录所述目标网页与目标 IE 内核版本之间的对应关系 ; 0050 标识确定单元, 用于当拦截到新的选择 IE 内核版本的请求时, 确定新的目标网页 的网址 ; 0051 判断单元, 用于判断新的目标网页是否为原目标网页的子网页, 如果是, 则将所记 录的原目标网页对应的目标 IE 内核版本, 确定为新的目标网页的目标 IE 内核版本。 0052 可选地, 所述第二映射表保存有根据特定地理区域用户的浏览习惯建立的特定网 址与 IE 内核版本之间的映射关系。 0053 可选地,。
28、 所述第二映射表为多个, 分别对应不同的特定地理区域, 所述第一查询单 元包括 : 0054 地理区域确定子单元, 用于根据 IE 内核浏览器终端侧所在用户设备的 IP 地址确 定发送方所处的地理区域 ; 0055 查询子单元, 用于从所述发送方所处地理区域对应的第二映射表中查找所述目标 网页的网址对应的目标 IE 内核版本。 说 明 书 CN 102929944 A 7 4/11 页 8 0056 可选地, 还包括 : 0057 更新单元, 用于根据 IE 内核浏览器服务器侧提供的特定网址与 IE 内核版本的映 射关系, 对 IE 内核浏览器终端侧的第二映射表进行更新。 0058 可选地, 。
29、所述第二映射表保存有根据特定地理区域用户的浏览习惯建立的特定网 址与 IE 内核版本之间的映射关系, 且所述第二映射表为多个, 分别对应不同的特定地理区 域, 所述更新单元包括 : 0059 区域确定子单元, 用于根据浏览器终端侧所在用户设备的 IP 地址确定地理区域 ; 0060 区域数据更新子单元, 用于根据 IE 内核浏览器服务器侧提供的该地理区域对应 的特定网址与 IE 内核版本的映射关系, 对 IE 内核浏览器终端侧的第二映射表进行更新。 0061 可选地, 所述更新单元包括 : 0062 第一更新子单元, 用于安装所述 IE 内核浏览器的新版本时, 对所述第二映射表进 行更新 ; 。
30、0063 或者, 0064 第二更新子单元, 用于通过后台方式对所述第二映射表进行更新 ; 0065 或者, 0066 第三更新子单元, 用于所述 IE 内核浏览器被启动时, 对所述第二映射表进行更 新。 0067 可选地, 所述渲染单元具体用于 : 0068 通 过 将 所 述 目 标 IE 内 核 版 本 设 置 到 GetUrlCacheEntryInfo 函 数 的 中 的 lpCacheEntryInfo 参数以及通过 CoInternetSetBrowserEmulationMode 函数, 实现利用所 述目标 IE 内核版本对所述目标网页进行渲染。 0069 根据本发明的 IE 。
31、内核浏览器进行网页渲染的方法及装置, 可以预置不同于原有 第一映射表的第二映射表, 在监控到选择 IE 内核版本的请求时, 对该请求进行拦截, 阻止 转换引擎到第一映射表中查询, 而是从第二映射表中查询出当前网址对应的目标 IE 内核, 并用该 IE 内核对目标网页进行渲染。通过这种方式, 实现了对第一映射表的扩展, 通过第 二映射表可以避免完全依赖于原有的第一映射表, 并且可以引入非第一映射表为主导的 IE 内核版本匹配流程, 从而提高了基于 IE 内核的浏览器的渲染效率。 0070 上述说明仅是本发明技术方案的概述, 为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施, 并。
32、且为了让本发明的上述和其它目的、 特征和优点能够 更明显易懂, 以下特举本发明的具体实施方式。 附图说明 0071 通过阅读下文优选实施方式的详细描述, 各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的, 而并不认为是对本发明 的限制。而且在整个附图中, 用相同的参考符号表示相同的部件。在附图中 : 0072 图 1 示出了根据本发明一个实施例的方法的流程图 ; 以及 0073 图 2 示出了根据本发明一个实施例的装置的示意图。 具体实施方式 说 明 书 CN 102929944 A 8 5/11 页 9 0074 下面将参照附图更详细地描述本公开的。
33、示例性实施例。 虽然附图中显示了本公开 的示例性实施例, 然而应当理解, 可以以各种形式实现本公开而不应被这里阐述的实施例 所限制。 相反, 提供这些实施例是为了能够更透彻地理解本公开, 并且能够将本公开的范围 完整的传达给本领域的技术人员。 0075 首先需要说明的是, 本发明人在实现本发明的过程中发现, 现有技术中之所以在 即时使用了多个 IE 内核版本切换机制的情况下, 仍然经常出现某些网页的显示结果不够 理想的状况, 是因为, 现有的IE内核的开发者在制作网址-渲染引擎映射表时, 一般假设用 户分布在全世界, 因此, 其网址 -IE 内核版本映射表更强调通用性, 而不会专门针对特定地 。
34、理区域范围内 ( 例如某个国家或地区等 ) 的用户的浏览习惯进行特殊的处理。而其他浏览 器开发商开发的浏览器一般也是使用IE内核, 对于使用IE内核的浏览器而言, 内置的转换 引擎会默认使用微软公司提供的网址 -IE 内核版本映射表, 该映射表就是基于全球范围建 立的, 并不会考虑到具体国家或地区用户的浏览习惯。 0076 然而, 有些浏览器的用户群则一般仅限于某个或某几个国家或地区等特定地理区 域, 根据浏览器用户分布区域的不同, 某特定浏览器的用户在访问网站时, 浏览习惯等也往 往会体现出区域性的差异。在这样的情况下, 如果能够基于特定国家或地区的用户浏览习 惯建立起网址 -IE 内核版本。
35、映射表, 则可以使得该网址 -IE 内核版本映射表更具有地域特 色, 并且也可以使得该特定国家或地区内的网站被收录得更全面, 更加符合该国家或地区 的用户的浏览习惯。 0077 因此, 在本发明实施例中, 就可以预置另一张网址 -IE 内核版本映射表, 该网 址 -IE 内核版本映射表可以是基于特定地理区域范围内 ( 例如特定国家或地区等 ) 的用户 浏览器习惯建立起来的, 收录的该特定地理区域范围内的网站也更全面, 当然实际收录的 网站也不限于该地理区域范围内。该网址 -IE 内核版本映射表可以是由工作人员通过对网 站进行收集, 并对各自适用的最佳 IE 内核版本的判断手动建立的 ; 并且,。
36、 还可以根据用户 在浏览过程中的反馈, 对该网址 -IE 内核版本映射表进行调整更新。 0078 但是, 在浏览器内置了多个 IE 内核版本的情况下, 常规的网页渲染过程一般是这 样的 : 在用户发起访问某网页的请求时, 浏览器能够获取到用户请求网页的 URL(Uniform/ Universal Resource Locator, 统一资源定位符 ), 该 URL 可以是地址栏中输入的 URL, 或 者点击新的链接而使得地址栏中显示网址发生变化时, 依据该 URL 发起网页资源下载请 求时所使用的 URL。同时, 浏览器可以将网页资源下载请求发送到网页服务器, 网页服务 器便可以返回相应的网。
37、页资源, 例如 HTML, CSS(Cascading Style Sheet, 级联样式表 ), JS(JavaScript) 等资源后, 然后就可以在渲染中对网页资源进行渲染。由于内置了多个 IE 内核版本, 因此, 转换引擎还需要发起对使用哪个 IE 内核版本进行渲染的判断, 以选择最 合适的 IE 内核版本后进行渲染。该转换引擎会自动到一个默认的网址 -IE 内核版本映射 表 ( 也即由微软公司提供的网址 -IE 内核版本映射表 ) 中进行查询。也就是说, 仅仅提供 一个不同于默认网址 -IE 内核版本映射表的另一个网址 -IE 内核版本映射表是不够的, 如 何打破该常规的流程, 使得。
38、转换引擎能够读取该另一个网址 -IE 内核版本映射表, 并从该 网址 -IE 内核版本映射表中获取相关的信息, 是最终实现前述目的的关键。 0079 为此, 本发明实施例提供了一种IE内核浏览器进行网页渲染方法, 前提是该IE内 核浏览器中内置有至少两个版本的 IE 内核, 并且, 该 IE 内核浏览器中包括第一映射表, 该 说 明 书 CN 102929944 A 9 6/11 页 10 第一映射表一般是基于全世界范围建立的, 并没有考虑特定国家或地区等用户的浏览习惯 问题, 其中保存有网页标识与 IE 内核版本之间的映射关系 ; 参见图 1, 该方法可以包括 : 0080 S101 : 预。
39、置第二映射表, 所述第二映射表中保存有特定网址与 IE 内核版本之间的 映射关系 ; 0081 如前文所述, 在本发明实施例中, 需要预置不同于微软提供的网址 -IE 内核版本 映射表的另一张网址-IE内核版本映射表, 在实际应用中, 该网址-IE内核版本映射表可以 是基于某特定的地理区域范围内用户的浏览习惯建立的。 对于第二映射表中的网址和内核 之间的映射关系的获取, 多是浏览器运营商的服务器侧接收用户的反馈上报的网址后, 将 网址与各个 IE 内核版本进行逐一匹配测试, 选择出渲染效果最好的一个, 将对应关系保存 到第二映射表中 ; 和 / 或, 也可以服务器侧的人员对于指定地域用户访问的。
40、网站网址进行 收集, 并分别将各个网站的网址与各个 IE 内核版本进行逐一匹配测试, 最终选择出渲染效 果最好的 IE 内核版本, 并将对应关系保存到第二映射表中。然后再将第二映射表部署到浏 览器的客户端侧。 0082 S102 : 接收到网页访问请求之后, 对选择 IE 内核版本的请求进行监控 ; 0083 S102 : 当监控到所述选择IE内核版本的请求时, 对所述请求选择IE内核版本的进 行拦截, 以阻止查询所述第一映射表的操作 ; 0084 选择IE内核版本的请求可以是有转换引擎发起的, 目的就是到网址-IE内核版本 映射表中查询当前网址对应的 IE 内核版本。该请求一般是通过调用以下。
41、函数进行的 : 0085 GetUrlCacheEntryInfo(LPCTSTR lpszUrlName, LPINTERNET_CACHE_ENTRY_INFO lpCacheEntryInfo, LPDWORD lpdwCacheEntryInfoBufferSize) ; 0086 因此, 可以通过钩子对该函数进行 HOOK, 这样, 当发现转换引擎通过调用该函数发 出选择 IE 内核版本的请求之后, 就可以对该请求进行拦截, 阻止该请求向默认的网址 -IE 内核版本映射表的发送。 0087 S103 : 确定所述请求对应的目标网页的网址, 并从所述第二映射表中查找所述目 标网页的网址。
42、对应的目标 IE 内核版本 ; 0088 选择IE内核版本的请求是为了给某一个目标网页选择合适的IE内核版本, 因此, 拦截到该请求之后, 可以首先确定出目标网页的标识信息, 具体实现时, 该标识信息可以是 目标网页的 URL 等信息。具体可以在用户在浏览器地址栏中输入 URL 之后就获取到, 或者 在用户点击新的链接而使得地址栏中显示的 URL 发生变化时, 根据地址栏中的新 URL 获取 到。或者, 选择 IE 内核版本的请求中也会携带目标网页的 URL, 因此, 也可以从该请求中提 取。 0089 在获取到目标网页的网址之后, 就可以从预置的第二映射表中查找该目标网页的 网址, 并取出该。
43、网址对应的目标 IE 内核版本。该预置的第二映射表就可以是前述不同于默 认网址 -IE 内核版本映射表的另一网址 -IE 内核版本映射表。在该网址 -IE 内核版本映射 表中, 也保存有网址与IE内核版本之间的对应关系, 如前文所述, 与默认的网址-IE内核版 本映射表不同的是, 该网址 -IE 内核版本映射表中可以根据实际的需求灵活地设置其中具 体包含哪些网址, 以及各个网址对应 IE 内核版本。 0090 当然, 在实际应用中, 也可能出现第二网址 -IE 内核版本映射表中不存在某目标 网页的网址的情况, 还可以到第一网址 -IE 内核版本映射表中进行查询。该第一网址 -IE 说 明 书 。
44、CN 102929944 A 10 7/11 页 11 内核版本映射表就可以是指默认的网址 -IE 内核版本映射表, 例如由微软等在全球范围内 建立起来的网址 -IE 内核版本映射表。如果在第一网址 -IE 内核版本映射表中仍然无法查 找到当前网页, 则可以使用默认的 IE 内核版本对当前目标网页进行渲染。 0091 另外, 在实际应用中, 有些网页之间可能存在父子关系, 例如, 假设网页 B 是网页 A 的子网页, 则网页 A 与网页 B 的制作者可能是相同的, 并且可能是同时制作的, 因此, 网页 A 与网页 B 对应的最佳 IE 内核版本可能是相同的。因此, 在本发明实施例中, 在针对某。
45、目标 网页 A 选择出最佳 IE 内核版本之后, 可以记录下此次选择的结果 ; 如果发现用户在该目标 网页 A 中点击其子网页 B 进行访问, 则在拦截到针对该子网页 B 的 IE 内核版本选择请求之 后, 就可以直接将网页 A 对应的 IE 内核版本返回, 而不必再进行网址 -IE 内核版本映射表 的查询操作。这样, 一方面可以提高响应效率, 另一方面, 当一个父网页包含多个子网页的 情况下, 就可以仅在网址-IE内核版本映射表中保存该父网页与IE内核版本之间的对应关 系, 各个子网页则不需要再进行保存, 因此, 可以避免网址 -IE 内核版本映射表由于收录的 网址过多而显得过于臃肿。 00。
46、92 S104 : 利用所述目标 IE 内核版本对所述目标网页进行渲染。 0093 在为目标网页选定了某目标 IE 内核版本之后, 就可以利用该目标 IE 内核版 本对目标网页进行渲染。具体实现时, 可以使用 GetUrlCacheEntryInfo 函数的中的 LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo 参数进行设置, 来设置该选中的目标 IE 内核版本。其中, lpCacheEntryInfo 一个指向 LPINTERNET_CACHE_ENTRY_INFO 的结构体 指针, 该结构体包含网页缓存的信息, 可以通过为该结构体中的各个成员进行赋。
47、值的方式, 以进行目标 IE 内核版本的设定。进一步地还需要使用 HRESULT WINAPICoInternetSetBro wserEmulationMode)(DWORD dwCurMode) 函数来设置上述的选中的 IE 内核版本, 这样就可 以确保所选中的 IE 内核版本可以用来进行目标网页的渲染。 0094 另外, 在实际应用中, 如果同一个 IE 内核浏览器的用户分布在多个地理区域, 则 也可以在 IE 内核浏览器中设置多个第二映射表, 分别对应不同的特定地理区域, 例如, 中 国的 IP 地址段对应着第二映射表 1 ; 香港的 IP 地址段对应着第二映射表 2 ; 台湾的 IP。
48、 地 址段对应着第二映射表 3, 等等。这样, 可以根据浏览器终端用户的地域不同, 适配不同的 第二映射表, 以便服务不同地域的用户。具体实现时, 在接收到某 IE 浏览器客户端的网页 访问请求之后, 可以首先根据 IE 浏览器客户端所在终端设备的 IP 地址等信息 ( 该信息会 在网页访问请求中携带, 因此可以从中获取 ) 确定出用户所处的地理区域, 然后根据该用 户所在的地理区域对应的第二映射表, 来查询当前请求访问的网页标识信息对应的目标 IE 内核版本。 0095 在实际应用中, 本发明实施例所述的第二映射表的灵活性还体现在, 它可以根据 IE 内核浏览器服务器侧提供的特定网址与 IE。
49、 内核版本的映射关系, 对 IE 内核浏览器终端 侧的第二映射表进行更新, 例如增加信息的映射条目, 或者变更原有的映射条目等等。其 中, 关于IE内核浏览器服务器侧提供的特定网址与IE内核版本的映射关系, 其来源同样可 以是开发或者维护人员等收集的, 或者也可以是用户上报的。需要说明的是, 在第二映射 表保存有根据特定地理区域用户的浏览习惯建立的特定网址与 IE 内核版本之间的映射关 系, 且所述第二映射表为多个, 分别对应不同的特定地理区域的情况下, 对客户端的第二映 射表进行更新时, 可以首先根据浏览器终端侧所在用户设备的 IP 地址确定地理区域, 然后 说 明 书 CN 102929944 A 11 8/11 页 12 根据 IE 内核浏览器服务器侧提供的该地理区域对应的特定网址与 IE 内核版本的映射关 系, 对 IE 内核浏览器终端侧的第二映射表进行更新。 0096 具体在对第二映射表进行更新。