《浏览器中的文件下载方法和浏览器装置.pdf》由会员分享,可在线阅读,更多相关《浏览器中的文件下载方法和浏览器装置.pdf(22页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 103853851 A (43)申请公布日 2014.06.11 CN 103853851 A (21)申请号 201410126041.5 (22)申请日 2014.03.31 G06F 17/30(2006.01) G06F 9/445(2006.01) (71)申请人 北京奇虎科技有限公司 地址 100088 北京市西城区新街口外大街 28 号 D 座 112 室 (德胜园区) 申请人 奇智软件 (北京) 有限公司 (72)发明人 杨晓兵 周鸿祎 (74)专利代理机构 北京市浩天知识产权代理事 务所 11276 代理人 宋菲 刘云贵 (54) 发明名称 浏览器中。
2、的文件下载方法和浏览器装置 (57) 摘要 本发明公开了一种浏览器中的文件下载方法 和浏览器装置, 其中, 方法包括 : 在第一浏览器内 核侧发起对一预下载文件的下载 ; 通过拦截操作 阻断第一浏览器内核侧对预下载文件的下载, 并 将预下载文件的下载信息发送到第二浏览器内核 侧的下载组件, 由下载组件在第二浏览器内核侧 下载预下载文件。 根据该方案, 下载由相对性能较 高的第二浏览器内核侧的下载组件完成, 这提高 了下载的效率, 同时为浏览器下载行为提供统一 的入口和统一的下载界面, 便于用户查看历史记 录, 调整下载选项等操作。 (51)Int.Cl. 权利要求书 2 页 说明书 11 页 。
3、附图 8 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书2页 说明书11页 附图8页 (10)申请公布号 CN 103853851 A CN 103853851 A 1/2 页 2 1. 一种浏览器中的文件下载方法, 其中所述浏览器包括第一浏览器内核和第二浏览器 内核, 所述文件下载方法包括 : 在第一浏览器内核侧发起对一预下载文件的下载 ; 通过拦截操作阻断第一浏览器内核侧对所述预下载文件的下载, 并将所述预下载文件 的下载信息发送到第二浏览器内核侧的下载组件, 由所述下载组件在第二浏览器内核侧下 载所述预下载文件。 2. 根据权利要求 1 所述的文件下载方法, 。
4、在所述在第一浏览器内核侧发起对一预下载 文件的下载之前还包括 : 在所述第一浏览器内核侧分析服务器端反馈的 http 数据包中携带的信息, 依据所述 http 数据包中携带的信息确定是否发起对预下载文件的下载。 3. 根据权利要求 2 所述的文件下载方法, 所述依据所述 http 数据包中携带 的信息确定是否发起对预下载文件的下载具体为 : 依据所述 http 数据包中携带的 content-disposition 信息确定是否发起对预下载文件的下载。 4. 根据权利要求 1-3 任一项所述的文件下载方法, 所述通过拦截操作阻断第一浏览器 内核侧对所述预下载文件的下载进一步包括 : 拦截第一浏。
5、览器内核的下载行为, 通过实现 IDownloadManager 接口阻断第一浏览器内核侧对所述预下载文件的下载。 5. 根据权利要求 4 所述的文件下载方法, 所述拦截第一浏览器内核的下载行为, 通 过实现 IDownloadManager 接口阻断第一浏览器内核侧对所述预下载文件的下载进一 步包括 : 拦截对 IID_IDownloadManager Service 接口的 QueryService 调用, 返回实现 IDownloadManager 接口的类实例指针。 6. 根 据 权 利 要 求 4 或 5 所 述 的 文 件 下 载 方 法,所 述 方 法 还 包 括 : 依 据 I。
6、DownloadManager 接口的 Download 函数中的参数 pmk 和 pbc, 提取预下载文件的下载地址 作为所述预下载文件的下载信息。 7. 根据权利要求 1-6 任一项所述的文件下载方法, 其中 : 所述下载组件由所述第二浏览器内核中的独立进程提供 ; 或者, 所述下载组件由与浏览器独立的下载软件提供, 所述与浏览器独立的下载软件 提供的下载组件通过一组接口函数与浏览器主进程通信, 以供浏览器主进程对下载任务进 行管理和状态查询。 8. 根据权利要求 7 所述的文件下载方法, 所述与浏览器独立的下载软件包括 : 迅雷、 快 播、 网际快车或比特彗星。 9. 根据权利要求 1-。
7、8 任一项所述的文件下载方法, 在第二浏览器内核的下载组件进行 下载的界面中, 提供有使用第一浏览器内核进行下载的入口 ; 所述文件下载方法还包括 : 根据用户对所述入口的选择, 在所述第一浏览器内核侧重 新发起对预下载文件的下载, 由第一浏览器内核侧建立网络连接下载所述预下载文件。 10. 一种浏览器装置, 包括第一浏览器内核组件和第二浏览器内核组件其中 : 所述第一浏览器内核组件用于发起对一预下载文件的下载, 以及通过拦截操作阻断第 一浏览器内核侧对所述预下载文件的下载, 将所述预下载文件的下载信息发送到所述第二 浏览器内核组件 ; 所述第二浏览器内核组件用于接收所述预下载文件的下载信息,。
8、 由下载组件在第二浏 权 利 要 求 书 CN 103853851 A 2 2/2 页 3 览器内核侧下载所述预下载文件。 权 利 要 求 书 CN 103853851 A 3 1/11 页 4 浏览器中的文件下载方法和浏览器装置 技术领域 0001 本发明涉及互联网技术领域, 具体涉及一种浏览器中的文件下载方法和浏览器装 置。 背景技术 0002 浏览器是显示网站服务器或文件系统内的文件, 用于显示在万维网或局域网等内 的文字、 图像及其他信息。 这些文字或图像, 用户可迅速及轻易地浏览各种信息。 PC上常见 的浏览器包括 Internet Explorer、 Firefox、 Google。
9、 的 Chrome 等。浏览器通过内核对网 页进行解释和渲染, 在上述浏览器中, Internet Explorer 采用 Trident 内核, Chrome 浏览 器采用的是 Webkit 内核, Firefox 采用 Gecko 内核。由于 Webkit 等非 IE 内核能实现更好 的用户体验, 然而, 部分网页只支持 IE 的 Trident 内核, 例如, 银行网站等。因此出现了双 核浏览器, 通过速度快的 Webkit 内核等进行一般网页的显示, 对银行网站等特殊网页采用 Trident 内核, 或由用户选择指定的内核。 0003 然而, 在现有的双核浏览器, 例如 Webkit 。
10、和 Trident 双核浏览器中进行文件下载 时, 由发起访问的内核侧负责进行下载, 这一方面不便于用进行下载管理, 查看下载历史, 没有一致的体验, 另一方面, 如果在IE中进行下载, 则下载通过http进行数据传送, 下载速 度慢并受到资源等诸多方面的限制, 在性能上远不如Chrome下载器或其他以P2P等方式进 行下载的独立下载器。总而言之, 这样的双核浏览器无法实现统一、 高效的下载。 发明内容 0004 鉴于上述问题, 提出了本发明以便提供一种克服上述问题或者至少部分地解决上 述问题的浏览器中的文件下载方法和浏览器装置。 0005 根据本发明的一个方面, 提供了一种浏览器中的文件下载。
11、方法, 浏览器包括第一 浏览器内核和第二浏览器内核, 该方法包括 : 在第一浏览器内核侧发起对一预下载文件的 下载 ; 通过拦截操作阻断第一浏览器内核侧对预下载文件的下载, 并将预下载文件的下载 信息发送到第二浏览器内核侧的下载组件, 由下载组件在第二浏览器内核侧下载预下载文 件。 0006 根据本发明的另一方面, 提供了一种浏览器装置, 包括第一浏览器内核组件和第 二浏览器内核组件, 在该浏览器装置中, 第一浏览器内核组件用于发起对一预下载文件的 下载, 以及通过拦截操作阻断第一浏览器内核侧对所述预下载文件的下载, 将预下载文件 的下载信息发送到所述第二浏览器内核组件 ; 第二浏览器内核组件。
12、用于接收预下载文件的 下载信息, 由下载组件在第二浏览器内核侧下载预下载文件。 0007 根据本发明的浏览器中的文件下载方法和浏览器装置, 当第一浏览器内核侧发起 对一预下载文件的下载时, 拦截该次下载操作, 阻断第一浏览器内核侧对预下载文件的下 载, 并将预下载文件的下载信息发送到第二浏览器内核侧的下载组件, 由下载组件在第二 浏览器内核侧下载预下载文件。根据该方案, 下载由相对性能较高的第二浏览器内核侧的 说 明 书 CN 103853851 A 4 2/11 页 5 下载组件完成, 这提高了下载的效率, 同时为浏览器下载行为提供统一的入口和统一的下 载界面, 便于用户查看历史记录, 调整。
13、下载选项等操作。 0008 上述说明仅是本发明技术方案的概述, 为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施, 并且为了让本发明的上述和其它目的、 特征和优点能够 更明显易懂, 以下特举本发明的具体实施方式。 附图说明 0009 通过阅读下文优选实施方式的详细描述, 各种其他的优点和益处对于本领域普通 技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的, 而并不认为是对本发明 的限制。而且在整个附图中, 用相同的参考符号表示相同的部件。在附图中 : 0010 图 1a 示出了根据本发明一个实施例的浏览器中的文件下载方法的流程图 ; 0011 图 1b 示出了该实施例。
14、中第二浏览器内核侧的下载组件的下载界面示意图 ; 0012 图 2a 示出了根据本发明另一个实施例的浏览器中的文件下载方法的流程图 ; 0013 图 2b 示出了该实施例中下载组件的下载界面示意图 ; 0014 图 2c 示出了该实施例中下载组件中的各用户设置项 ; 0015 图 3 示出了根据本发明另一个实施例的浏览器中的文件下载方法的流程图 ; 0016 图 4a 示出了根据本发明另一个实施例的浏览器中的文件下载方法的流程图 ; 0017 图 4b 示出了具有用户选择接口的下载器的示意图 ; 0018 图 4c 示出了第一浏览器内核侧重新发起下载的下载界面示意图 ; 0019 图 5 示出。
15、了根据本发明一个实施例的浏览器装置的结构框图 ; 0020 图 6 示出了根据本发明另一个实施例的浏览器装置的结构框图 ; 0021 图 7 示出了根据本发明另一个实施例的浏览器装置的结构框图。 具体实施方式 0022 下面将参照附图更详细地描述本公开的示例性实施例。 虽然附图中显示了本公开 的示例性实施例, 然而应当理解, 可以以各种形式实现本公开而不应被这里阐述的实施例 所限制。 相反, 提供这些实施例是为了能够更透彻地理解本公开, 并且能够将本公开的范围 完整的传达给本领域的技术人员。 0023 图 1a 示出了根据本发明一个实施例的浏览器中的文件下载方法的流程图, 浏览 器包括第一浏览。
16、器内核和第二浏览器内核, 如图 1a 所示, 该方法包括如下步骤 : 0024 步骤 S110, 在第一浏览器内核侧发起对一预下载文件的下载。 0025 采用双浏览器内核的目的是为兼顾性能和兼容性, 因此, 现有的浏览器中, 第一浏 览器内核都为 IE 浏览器使用的 Trident 内核, 该内核具有较强的兼容性。 0026 步骤 S120, 通过拦截操作阻断第一浏览器内核侧对预下载文件的下载。 0027 通过实现 IE 提供的下载接口完成对预下载文件的拦截。从该接口下的函数的参 数中获取预下载文件的下载信息, 下载信息包括预下载文件的 URL, 第二浏览器内核侧的下 载组件从相应的服务器获取。
17、下载文件数据包。 0028 步骤 S130, 将预下载文件的下载信息发送到第二浏览器内核侧的下载组件。 0029 具体地, 该步骤可通过IPC(进程间通信)等方式相第二浏览器内核侧的下载组件 说 明 书 CN 103853851 A 5 3/11 页 6 发送消息实现。第二浏览器内核一般为 Chrome 浏览器的 Webkit 内核, 或其他内核, 例如, 在 Avant 浏览器中, 采用的是 Gecko 内核。Webkit 等第二浏览器内核与 Trident 第一浏览 内核相比, 性能更高。 0030 步骤 S140, 下载组件在第二浏览器内核侧下载预下载文件。 0031 具体地, 可通过第。
18、二浏览器内核侧的内建下载器进行下载, 例如 Chrome 提供的集 成下载工具, 或通过与浏览器独立的下载软件提供的下载组件进行, 如, 迅雷下载工具。该 独立下载组件的入口通过第二浏览器内核侧提供。 0032 图 1b 示出了实施例中第二浏览器内核侧的下载组件的下载界面示意图, 在图 1b 中, 下载组件由与浏览器独立的迅雷下载提供支持。 0033 根据本发明上述实施例提供的方法, 当第一浏览器内核侧发起对一预下载文件的 下载时, 拦截该次下载操作, 阻断第一浏览器内核侧对预下载文件的下载, 并将预下载文件 的下载信息发送到第二浏览器内核侧的下载组件, 由下载组件在第二浏览器内核侧下载预 下。
19、载文件。 根据该方案, 下载由相对性能较高的第二浏览器内核侧的下载组件完成, 这提高 了下载的效率, 同时为浏览器下载行为提供统一的入口和统一的下载界面, 便于用户查看 历史记录, 调整下载选项等操作。 0034 图 2a 示出了根据本发明另一个实施例的浏览器中的文件下载方法的流程图, 该 浏览器装置包括第一浏览器内核和第二浏览器内核。如图 2a 所示, 该方法包括如下步骤 : 0035 步骤 S210, 在第一浏览器内核侧分析服务器端反馈的 http 数据包中携带的信息 以确定是否发起对预下载文件的下载 ; 如果是, 执行步骤 S220, 否则, 由渲染进程解析 http 数据包并进行渲染。。
20、 0036 对于一个普通的超链接, 当用户在第一浏览器内核相应模式下点击该链接后, 第 一浏览器内核的渲染组件调用资源加载接口加载资源, 该资源加载接口向浏览器发送消 息, 浏览器向服务器端进行网络请求, 服务器端向浏览器反馈 http 数据包。在第一浏览器 内核侧分析服务器端反馈的 http 数据包中携带的信息, 依据 http 数据包中携带的信息确 定是否发起对预下载文件的下载。 0037 具体地, 可以根据返回数据中的 MIME 类型信息判断该次网络请求是否为文件下 载请求, 在第一浏览器内核侧维护一个MIME类型的列表, 如果返回数据的MIME类型记录在 列表中, 第一浏览器内核将返回。
21、数据作为资源直接渲染, 否则将该次网络请求判断为文件 下载。 0038 在 MIME 类 型 判 断 不 明 确 等 情 况 下, 还 可 以 通 过 http 数 据 包 中 携 带 的 content-disposition 的类型信息进行判断, 确定是否发起对预下载文件的下载。 0039 步骤 S220, 在第一浏览器内核侧发起对一预下载文件的下载。 0040 由浏览器调用 IE 提供的 Download 接口通知浏览器上层显示下载界面, 上层会决 定是否下载, 如果上层决定下载, 浏览器通过第一浏览器内核建立与服务器端的连接, 进行 文件的传输。 0041 步骤 S230, 通过实现 。
22、IDownloadManager 接口阻断第一浏览器内核侧对所述预下 载文件的下载。 0042 具体地, 该步骤进一步包括 : 实现 WebBrowser, 在实现的 WebBrowser 中实 现 IServiceProvider 接 口,从 而 拦 截 到 对 IID_IDownloadManager Service 接 口 的 说 明 书 CN 103853851 A 6 4/11 页 7 QueryService 调用, 返回实现 IDownloadManager 接口的类实例指针。 0043 步骤 S240, 提取预下载文件的下载地址作为所述预下载文件的下载信息。 0044 具体地,。
23、 实现IDownloadManager接口中, 可对IDownloadManager:DownLoad函数 做如下声明 : 0045 HRESULT Download( 0046 IMoniker*pmk, 0047 IBindCtx*pbc, 0048 DWORD dwBindVerb, 0049 LONG grfBINDF, 0050 BINDINFO*pBindInfo, 0051 LPCOLESTR pszHeaders, 0052 LPCOLESTR pszRedir, 0053 UINT uiCP 0054 ) ; 0055 其中, pmk 参数用于指定预下载的对象, 截获该参数,。
24、 从该参数中获取预下载文件 的 URL, 作为下载地址。 0056 步骤 S250, 将预下载文件的下载信息发送到由第二浏览器内核中的独立进程提供 的下载组件。 0057 第一浏览器内核进程, 例如, IE 进程, 通过 IPC( 进程间通信 ) 的方式将下载信息 发送到由第二浏览器内核中的独立进程提供的下载组件。 0058 例如, 对于第二浏览器内核为WebKit的情况, 具体为通过IE进程将预下载文件的 URL 信息发送到 Chrome 中内建的独立进程的下载器。 0059 步骤 S260, 通过上述独立进程提供的下载组件下载预下载文件。 0060 独立进程提供的下载组件创建下载任务, 建。
25、立与服务器的链接, 进行文件下载。 0061 根据本发明上述实施例提供的方法, 根据服务器端反馈的 http 数据包中携带的 信息以确定是否发起对预下载文件的下载, 通过实现 IDownloadManager 接口阻断第一浏 览器内核侧对所述预下载文件的下载, 并将下载信息发送给第二浏览器内核中的独立进程 提供的下载组件进行下载。 根据该方案, 文件的下载过程只通过第二浏览器内核侧进行, 提 供了统一、 高效的下载入口, 便于用户的查看和管理。 0062 图2b示出了该实施例中下载组件的下载界面示意图, 如图2b所示, 该下载组件界 面由第二浏览器内核中的独立进程提供, 可以是 Chrome 。
26、内建下载等。图 2c 示出了该下载 组件可提供的用户设置项, 包括下载目录, 保存位置等, 与 IE 下载相比, 操作更方便。 0063 图 3 示出了根据本发明另一个实施例的浏览器中的文件下载方法的流程图, 其 中, 浏览器包括第一浏览器内核和第二浏览器内核。如图 3 所示, 该方法包括如下步骤 : 0064 步骤 S310, 在第一浏览器内核侧分析服务器端反馈的 http 数据包中携带的信息 以确定是否发起对预下载文件的下载 ; 如果是, 执行步骤 S320, 否则, 由渲染进程渲染对 http 数据包进行渲染。 0065 步骤 S320, 在第一浏览器内核侧发起对一预下载文件的下载。 0。
27、066 步骤S330, 拦截对IID_IDownloadManager Service接口的QueryService调用, 返 说 明 书 CN 103853851 A 7 5/11 页 8 回实现 IDownloadManager 接口的类实例指针。 0067 步骤 S340, 提取预下载文件的下载地址作为所述预下载文件的下载信息。 0068 步骤 S310-S340 的实现过程可参考上一实施例中的步骤 S210-S240, 此处不再赘 述。 0069 步骤 S350, 将预下载文件的下载信息发送到第二浏览器内核侧的, 独立于浏览器 的下载软件提供的下载组件。 0070 区别于上一实施例的是。
28、, 该实施例中, 下载组件与浏览器独立, 以 Webkit 内核为 例, 下载组件通过一组接口函数与 Chrome 主进程通信。Chrome 主进程可通过 IPC( 进程间 通信 ) 等方式向这些接口发送消息, 而该独立下载组件的进程也通过相应的接口函数将下 载进度等信息发送给 Chrome 主进程, 由 Chrome 主进程显示在界面中。也即, 该实施例中, 首先按照 Chrome 的下载流程, 获取下载信息并提示用户, 待用户确认后, 调用与浏览器独 立的下载组件, 按照下载信息创建下载任务。 0071 进一步地, 浏览器主进程可将 Chrome 内建下载工具中常用的下载配置发送给独 立下。
29、载进程, 例如, 文件下载目录, 是否询问保存位置, 下载完成后是否执行等, 通常这些配 置选项显示在 Chrome 内建下载的界面中。 0072 进一步地, 在界面中为用户提供接口, 例如, 暂停下载、 删除、 停止、 重新下载等, 接 收用户操作, 再将操作信息发送给独立下载进程, 实现对下载的管理和查询。 0073 上述与浏览器独立的下载组件由迅雷、 快播、 网际快车或比特彗星等常见的下载 工具提供。 0074 步骤 S360, 通过上述独立于浏览器的下载软件提供的下载组件对预下载文件进行 下载。 0075 独立下载软件提供的下载组件与第二浏览器内核提供的下载组件, 如 Chrome 中。
30、 的下载组件相比下载速度更快, 性能更佳, 可通过 P2P 等方式进行下载, 资源受限较少。并 且能够隔离外部程序可能对浏览器主进程的破坏, 避免对文件下载的中断和干扰。 0076 步骤 S370, 启动安全组件对下载的文件进行安全扫描, 并给出安全扫描的结果。 0077 例如, 在浏览器中集成扫描工具和木马特征库、 恶意网址库等, 这可以避免传统杀 毒工具滞后查杀的缺陷。 0078 步骤 S380, 依据下载的文件的类型, 在移动终端中进行安装下载的文件。 0079 例如, 检测到智能手机等移动终端与 PC 端相连接时, 若下载文件为 apk 等特定类 型, 直接安装至移动终端中。 0080。
31、 该实施例中, 独立于浏览器的下载组件的下载界面可参照图 2。 0081 根据本发明上述实施例提供的方法, 采用独立于浏览器的下载软件进行下载, 性 能更佳, 资源受限较少。 并且能够隔离外部程序可能对浏览器主进程的破坏, 避免对文件下 载的中断和干扰。 0082 图 4a 示出了根据本发明另一个实施例的浏览器中的文件下载方法的流程图, 其 中, 浏览器包括第一浏览器内核和第二浏览器内核。如图 4a 所示, 该方法包括如下步骤 : 0083 步骤 S410, 在第一浏览器内核侧发起对一预下载文件的下载。 0084 步骤 S420, 通过实现 IDownloadManager 接口阻断第一浏览器。
32、内核侧对所述预下 载文件的下载。 说 明 书 CN 103853851 A 8 6/11 页 9 0085 步骤 S430, 提取预下载文件的下载地址作为所述预下载文件的下载信息。 0086 步骤 S440, 将预下载文件的下载信息发送到第二浏览器内核侧的下载组件。 0087 步骤 S410-S440 的实施过程可参照上一实施例, 此处不再赘述。 0088 步骤 S450, 下载组件给出下载界面。 0089 区别于上一实施例的是, 下载界面中含有使用第一浏览器内核进行下载的入口。 0090 步骤 S460, 检测用户是否选择使用第一浏览器内核进行下载的入口 ; 如果是, 执 行步骤 S470,。
33、 否则, 执行步骤 S480。 0091 步骤 S470, 第一浏览器内核侧重新发起对预下载文件的下载, 由第一浏览器内核 侧建立网络连接下载所述预下载文件。 0092 步骤 S480, 由下载组件在第二浏览器内核侧下载所述预下载文件。 0093 该步骤的具体过程与上一实施例相同, 此处不再赘述。 0094 图 4b 示出了该实施例下的一种下载界面的示意图, 图 4c 示出了通过 IE 重新发起 下载的下载界面示意图。可见, 图 4b 中的下载组件上给出 “用 IE 下载” 的接口, 用户点击 后, 该下载界面关闭, 而弹出图 4c 所示的 IE 下载界面, IE 重新发起对预下载文件的下载建。
34、 立网络, 进行下载。 0095 根据本发明上述实施例提供的方法, 提供了第一浏览器内核进行下载的入口, 对 不兼容 Webkit 等第二浏览器内核的文件下载, 可利用 IE 重新发起下载, 更具兼容性。 0096 图5示出了根据本发明一个实施例的浏览器装置的结构框图, 如图5所示, 该浏览 器装置包括 : 第一浏览器内核组件 510 和第二浏览器内核组件 520, 其中 : 0097 第一浏览器内核组件 510 用于发起对一预下载文件的下载, 以及通过拦截操作阻 断第一浏览器内核侧对预下载文件的下载, 将预下载文件的下载信息发送到第二浏览器内 核组件 520 ; 第二浏览器内核组件 520 。
35、用于接收预下载文件的下载信息, 由下载组件 530 在 第二浏览器内核侧下载预下载文件。 0098 第一浏览器内核组件 510 还用于, 在下载之前, 分析服务器端反馈的 http 数据包 中携带的信息, 依据所述 http 数据包中携带的信息确定是否发起对预下载文件的下载。具 体地, 可以根据返回数据中的 MIME 类型信息判断该次网络请求是否为文件下载请求, 在第 一浏览器内核侧维护一个MIME类型的列表, 如果返回数据的MIME类型记录在列表中, 第一 浏览器内核将返回数据作为资源直接渲染, 否则将该次网络请求判断为文件下载。 0099 在 MIME 类型判断不明确等情况下, 第一浏览器。
36、内核组件 510 还可以通过 http 数 据包中携带的 content-disposition 的类型信息进行判断, 确定是否发起对预下载文件的 下载。 0100 第一浏览器内核组件 510 还用于 : 拦截第一浏览器内核的下载行为, 通过实现 IDownloadManager 接口阻断第一浏览器内核侧对预下载文件的下载。 0101 具体地, 第一浏览器内核组件510拦截对IID_IDownloadManager Service接口的 QueryService 调用, 返回实现 IDownloadManager 接口的类实例指针。 0102 第一浏览器内核组件 510 还用于依据 IDown。
37、loadManager 接口的 Download 函数中 的参数 pmk 和 pbc, 提取预下载文件的下载地址作为所述预下载文件的下载信息。 0103 第一浏览器内核组件 510 提取下载信息后, 将下载信息发送到第二浏览器内核组 件 520。在该实施例中, 下载组件 530 由第二浏览器内核组件中的独立进程提供。例如, 对 说 明 书 CN 103853851 A 9 7/11 页 10 于第二浏览器内核为 WebKit 的情况, 上述过程具体为 : 第一浏览器内核组件 510 将预下载 文件的 URL 下载信息发送到 Chrome 中内建的独立进程的下载组件 530。 0104 独立进程。
38、提供的下载组件 530 创建下载任务, 建立与服务器的链接, 进行文件下 载。 0105 图6示出了根据本发明另一个实施例的浏览器装置的结构框图, 如图6所示, 该浏 览器装置包括 : 第一浏览器内核组件 610 和第二浏览器内核组件 620, 其中 : 0106 第一浏览器内核组件 610 用于发起对一预下载文件的下载, 以及通过拦截操作阻 断第一浏览器内核侧对预下载文件的下载, 将预下载文件的下载信息发送到第二浏览器内 核组件 620 ; 第二浏览器内核组件 620 用于接收预下载文件的下载信息, 由下载组件 630 在 第二浏览器内核侧下载预下载文件。 0107 该实施例与上一实施例的区。
39、别在于 : 下载组件 630 集成在浏览器装置中且与浏 览器独立, 下载组件 630 通过一组接口函数与浏览器主进程, 例如, 与第二浏览器内核侧的 Chrome 主进程通信, 以供 Chrome 主进程对下载任务进行管理和状态查询。 0108 以下以 Webkit 作为第二浏览器内核为例, 说明其工作过程。下载组件 630 通过 一组接口函数与 Chrome 主进程通信。Chrome 主进程可通过 IPC( 进程间通信 ) 等方式向 这些接口发送消息, 而该独立下载组件 630 也通过相应的接口函数将下载进度等信息发送 给 Chrome 主进程, 由 Chrome 主进程显示在界面中。也即,。
40、 第二浏览器内核 620 首先按照 Chrome 的下载流程, 获取下载信息并提示用户, 待用户确认后, 调用与浏览器独立的下载组 件 630, 按照下载信息创建下载任务, 进行下载。 0109 进一步地, 第二浏览器组件620可将Chrome内建下载工具中常用的下载配置发送 给独立下载进程, 例如, 文件下载目录, 是否询问保存位置, 下载完成后是否执行等, 通常这 些配置选项显示在 Chrome 内建下载的界面中。 0110 进一步地, 第二浏览器内核组件 620 还用于在界面中为用户提供接口, 例如, 暂停 下载、 删除、 停止、 重新下载等, 接收用户操作, 再将操作信息发送给独立下载。
41、进程, 实现对 下载的管理和查询。 0111 上述与浏览器独立的下载组件由迅雷、 快播、 网际快车或比特彗星等常见的下载 工具提供。 0112 在该实施例中, 采用独立于浏览器的下载软件进行下载, 性能更佳, 资源受限较 少。并且能够隔离外部程序可能对浏览器主进程的破坏, 避免对文件下载的中断和干扰。 0113 图7示出了根据本发明另一个实施例的浏览器装置的结构框图, 如图7所示, 该浏 览器装置同样包括第一浏览器内核组件 710 和第二浏览器内核组件 720 及下载组件 730。 0114 在该实施例中, 第一浏览器内核组件 710 还用于 : 根据用户对所述入口的选择, 重 新发起对预下载。
42、文件的下载, 建立网络连接下载所述预下载文件。 0115 其中, 下载界面由第二浏览器内核侧的下载组件 730 提供, 下载界面中含有使用 第一浏览器内核进行下载的入口。下载组件 730 检测用户是否选择使用第一浏览器内核 进行下载的入口, 如果是, 通知第一浏览器内核组件 710 重新发起对预下载文件的下载, 由 第一浏览器内核组件 710 建立网络连接下载所述预下载文件。这样, 浏览器装置对不兼容 Webkit 等第二浏览器内核的文件下载, 可利用 IE 重新发起下载, 更具兼容性。 0116 在上述三个浏览器装置的实施例中, 第二浏览器内核组件还可进一步用于对下载 说 明 书 CN 10。
43、3853851 A 10 8/11 页 11 的文件进行安全扫描, 并给出安全扫描的结果 ; 以及, 用于依据下载的文件的类型, 在移动 终端中进行安装下载的文件。 0117 根据本发明上述实施例提供的浏览器装置, 下载由相对性能较高的第二浏览器内 核侧的下载组件完成, 这提高了下载的效率, 同时为浏览器下载行为提供统一的入口和统 一的下载界面, 便于用户查看历史记录, 调整下载选项等操作。 0118 在此提供的算法和显示不与任何特定计算机、 虚拟系统或者其它设备固有相关。 各种通用系统也可以与基于在此的示教一起使用。根据上面的描述, 构造这类系统所要求 的结构是显而易见的。此外, 本发明也不。
44、针对任何特定编程语言。应当明白, 可以利用各种 编程语言实现在此描述的本发明的内容, 并且上面对特定语言所做的描述是为了披露本发 明的最佳实施方式。 0119 在此处所提供的说明书中, 说明了大量具体细节。然而, 能够理解, 本发明的实施 例可以在没有这些具体细节的情况下实践。 在一些实例中, 并未详细示出公知的方法、 结构 和技术, 以便不模糊对本说明书的理解。 0120 类似地, 应当理解, 为了精简本公开并帮助理解各个发明方面中的一个或多个, 在 上面对本发明的示例性实施例的描述中, 本发明的各个特征有时被一起分组到单个实施 例、 图、 或者对其的描述中。 然而, 并不应将该公开的方法解。
45、释成反映如下意图 : 即所要求保 护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说, 如下面 的权利要求书所反映的那样, 发明方面在于少于前面公开的单个实施例的所有特征。 因此, 遵循具体实施方式的权利要求书由此明确地并入该具体实施方式, 其中每个权利要求本身 都作为本发明的单独实施例。 0121 本领域那些技术人员可以理解, 可以对实施例中的设备中的模块进行自适应性地 改变并且把它们设置在与该实施例不同的一个或多个设备中。 可以把实施例中的模块或单 元或组件组合成一个模块或单元或组件, 以及此外可以把它们分成多个子模块或子单元或 子组件。除了这样的特征和或过程或者单元中。
46、的至少一些是相互排斥之外, 可以采用任 何组合对本说明书 ( 包括伴随的权利要求、 摘要和附图 ) 中公开的所有特征以及如此公开 的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述, 本说明书 ( 包括伴 随的权利要求、 摘要和附图 ) 中公开的每个特征可以由提供相同、 等同或相似目的的替代 特征来代替。 0122 此外, 本领域的技术人员能够理解, 尽管在此所述的一些实施例包括其它实施例 中所包括的某些特征而不是其它特征, 但是不同实施例的特征的组合意味着处于本发明的 范围之内并且形成不同的实施例。 例如, 在下面的权利要求书中, 所要求保护的实施例的任 意之一都可以以任意的组合方。
47、式来使用。 0123 本发明的各个部件实施例可以以硬件实现, 或者以在一个或者多个处理器上运行 的软件模块实现, 或者以它们的组合实现。 本领域的技术人员应当理解, 可以在实践中使用 微处理器或者数字信号处理器 (DSP) 来实现根据本发明实施例的浏览器装置中的一些或 者全部部件的一些或者全部功能。 本发明还可以实现为用于执行这里所描述的方法的一部 分或者全部的设备或者装置程序(例如, 计算机程序和计算机程序产品)。 这样的实现本发 明的程序可以存储在计算机可读介质上, 或者可以具有一个或者多个信号的形式。这样的 信号可以从因特网网站上下载得到, 或者在载体信号上提供, 或者以任何其他形式提供。
48、。 说 明 书 CN 103853851 A 11 9/11 页 12 0124 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制, 并且本领 域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词 “包含” 不排除存在 未列在权利要求中的元件或步骤。位于元件之前的单词 “一” 或 “一个” 不排除存在多个这 样的元件。 本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来 实现。在列举了若干装置的单元权利要求中, 这些装置中的若干个可以是通过同一个硬件 项来具体体现。单词第一、 。
49、第二、 以及第三等的使用不表示任何顺序。可将这些单词解释为 名称。 0125 本发明公开了 : 0126 A1、 一种浏览器中的文件下载方法, 其中所述浏览器包括第一浏览器内核和第二 浏览器内核, 所述文件下载方法包括 : 0127 在第一浏览器内核侧发起对一预下载文件的下载 ; 0128 通过拦截操作阻断第一浏览器内核侧对所述预下载文件的下载, 并将所述预下载 文件的下载信息发送到第二浏览器内核侧的下载组件, 由所述下载组件在第二浏览器内核 侧下载所述预下载文件。 0129 A2、 根据 A1 所述的文件下载方法, 在所述在第一浏览器内核侧发起对一预下载文 件的下载之前还包括 : 0130 在所述第一浏览器内核侧分析服务器端反馈的 http 数据包中携带的信息, 依。