在web页面上实现本地操作的方法和装置制造方法

文档序号:6498972阅读:159来源:国知局
在web页面上实现本地操作的方法和装置制造方法
【专利摘要】本发明公开了一种在web页面上实现本地操作的方法和装置,属于web【技术领域】。所述方法应用于一电子设备中,该电子设备包括一显示单元且具有HTML运行环境,所述方法包括:在HTML运行环境中通过地址信息加载web页面;在加载页面过程中,获得用于表征所述电子设备的本地资源的情况的标识信息;获得操作请求,该操作请求用于表征操作本地资源的第一资源的请求;根据所述操作请求,以第一资源响应该操作请求;在显示单元上显示第一资源响应所述操作请求的响应结果。所述装置包括:加载单元、获取单元、响应单元和显示单元。本发明在web页面上实现了执行本地操作,提高了javascript代码的本地调用能力。
【专利说明】在web页面上实现本地操作的方法和装置
【技术领域】
[0001]本发明涉及web【技术领域】,特别涉及一种在web页面上实现本地操作的方法和装置。
【背景技术】
[0002]JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,广泛应用于客户端的Web开发。JavaScript常用来给超文本标记语言(英文=HyperTextMarkup Language,缩写:HTML)网页添加动态功能,比如响应用户的各种操作等等,JavaScript也可以用于其他场合,如服务器端编程等等。
[0003]JavaScript引擎是能够阅读并执行JavaScript源代码的解释器,现多用于网页浏览器中,如 Apple Safari4 的 Nitro, Chrome 浏览器的 V8 和 Mozilla Firefox3.5 的TraceMonkey 等等。
[0004]在Chrome浏览器中,由Javascript引擎V8负责解析和运行Javascript代码。其中,Javascript引擎V8运行在Chrome浏览器的渲染(英文:render)进程下,出于安全的考虑,通常将该render进程置入沙箱之中,以限制Javascript代码只能在沙箱中运行,从而提高浏览器的安全性。
[0005]但是,由于Javascript代码只能在沙箱中运行,因此,web页面上的javascript代码执行本地调用的能力非常微弱,目前还无法实现对本地文件的访问。

【发明内容】

[0006]为了提高javascript代码的本地调用能力,本发明提供了一种在web页面上实现本地操作的方法和装置。所述技术方案如下:
[0007]—方面,本发明提供了一种在web页面上实现本地操作的方法,所述方法应用于一电子设备中,所述电子设备包括一显示单元以及所述电子设备具有超文本标记语言HTML运行环境,所述方法包括:
[0008]在所述HTML运行环境中通过地址信息加载web页面;
[0009]在加载所述web页面的过程中,获得用于表征所述电子设备的本地资源的情况的标识信息;
[0010]获得操作请求,所述操作请求用于表征操作所述本地资源的第一资源的请求;
[0011]根据所述操作请求,以所述第一资源响应所述操作请求;
[0012]在所述显示单元上显示所述第一资源响应所述操作请求的响应结果。
[0013]其中,根据所述操作请求,以所述第一资源响应所述操作请求,包括:
[0014]当javascript引擎在渲染进程中解析到所述操作请求对应的第一接口时,所述javascript引擎用于解释javascript脚本,所述第一接口为基于javascript自定义的接口,用于在web页面上操作所述第一资源,且所述javascript引擎中注册有所述第一接口,则所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息,请求在所述web页面上操作所述本地的第一资源;
[0015]在所述主进程中,根据收到的所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源;
[0016]其中,所述渲染进程处于保护状态,不具有调用本地接口的权限,所述主进程处于非保护状态,具有调用本地接口的权限。
[0017]其中,所述javascript引擎根据所述第一接口向主进程发送IPC消息,请求在所述web页面上操作所述本地的第一资源,包括:
[0018]所述javascript引擎将所述第一接口映射为所述渲染进程能够运行的本地函数;
[0019]运行所述本地函数,向所述主进程发送所述IPC消息,请求在所述web页面上操作所述本地的第一资源。
[0020]其中,所述方法还包括:
[0021]所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息之前,根据预设的白名单判断所述web页面是否具有操作本地资源的权限;
[0022]如果确定所述web页面具有操作本地资源的权限,则执行所述javascript引擎根据所述第一接口向主进程发送所述IPC消息的步骤。
[0023]另一方面,本发明还提供了一种在web页面上实现本地操作的方法,所述方法应用于一电子设备中,所述电子设备具有超文本标记语言HTML运行环境,所述方法包括:
[0024]当在所述HTML运行环境中打开一个web页面时,javascript引擎在渲染进程中对所述web页面进行解析;
[0025]当所述javascript引擎解析到第一接口时,所述第一接口为基于javascript自定义的接口,用于在web页面上操作本地的第一资源,且所述javascript引擎中注册有所述第一接口,则所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息,请求在所述web页面上操作所述本地的第一资源;
[0026]在所述主进程中,根据收到的所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源;
[0027]其中,所述渲染进程处于保护状态,不具有调用本地接口的权限,所述主进程处于非保护状态,具有调用本地接口的权限。
[0028]其中,所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息,请求在所述web页面上操作所述本地的第一资源,包括:
[0029]所述javascript引擎将所述第一接口映射为所述渲染进程能够运行的本地函数;
[0030]运行所述本地函数,向所述主进程发送所述IPC消息,请求在所述web页面上操作所述本地的第一资源。
[0031]其中,所述方法还包括:
[0032]所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息之前,根据预设的白名单判断所述web页面是否具有操作本地资源的权限;
[0033]如果确定所述web页面具有操作本地资源的权限,则执行所述javascript引擎根据所述第一接口向主进程发送所述IPC消息的步骤。[0034]其中,在所述主进程中,根据收到的所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源,包括:
[0035]在所述主进程中,对所述主进程收到的所述IPC消息进行过滤,确认所述IPC消息为所述主进程处理的消息后,根据所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源。
[0036]再一方面,本发明还提供了一种在web页面上实现本地操作的装置,应用于一电子设备中,所述电子设备具有超文本标记语言HTML运行环境,所述装置包括:
[0037]加载单元,用于在所述HTML运行环境中通过地址信息加载web页面;
[0038]获取单元,用于在加载所述web页面的过程中,获得用于表征所述电子设备的本地资源的情况的标识信息;
[0039]响应单元,用于获得操作请求,所述操作请求用于表征操作所述本地资源的第一资源的请求;根据所述操作请求,以所述第一资源响应所述操作请求;
[0040]显示单元,用于显示所述第一资源响应所述操作请求的响应结果。
[0041]其中,所述响应单元包括:
[0042]javascript引擎,用于当在渲染进程中解析到所述操作请求对应的第一接口时,所述javascript弓丨擎用于解释javascript脚本,所述第一接口为基于javascript自定义的接口,用于在web页面上操作所述第一资源,且所述javascript引擎中注册有所述第一接口,则根据所述第一接口向主进程发送进程间通信IPC消息,请求在所述web页面上操作所述本地的第一资源;
[0043]本地调用子单元,用于在所述主进程中,根据收到的所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源;
[0044]其中,所述渲染进程处于保护状态,不具有调用本地接口的权限,所述主进程处于非保护状态,具有调用本地接口的权限。
[0045]其中,所述javascript引擎用于:
[0046]将所述第一接口映射为所述渲染进程能够运行的本地函数;
[0047]运行所述本地函数,向所述主进程发送所述IPC消息,请求在所述web页面上操作所述本地的第一资源。
[0048]其中,所述javascript引擎还用于:
[0049]根据所述第一接口向主进程发送进程间通信IPC消息之前,根据预设的白名单判断所述web页面是否具有操作本地资源的权限;
[0050]如果确定所述web页面具有操作本地资源的权限,则执行所述javascript引擎根据所述第一接口向主进程发送所述IPC消息的步骤。
[0051]又一方面,本发明还提供了一种在web页面上实现本地操作的装置,应用于一电子设备中,所述电子设备具有超文本标记语言HTML运行环境,所述装置包括:
[0052]javascript引擎,用于当在所述HTML运行环境中打开一个web页面时,在渲染进程中对所述web页面进行解析;当解析到第一接口时,所述第一接口为基于javascript自定义的接口,用于在web页面上操作本地的第一资源,且所述javascript引擎中注册有所述第一接口,则根据所述第一接口向主进程发送进程间通信IPC消息,请求在所述web页面上操作所述本地的第一资源;[0053]本地调用模块,用于在所述主进程中,根据收到的所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源;
[0054]其中,所述渲染进程处于保护状态,不具有调用本地接口的权限,所述主进程处于非保护状态,具有调用本地接口的权限。
[0055]其中,所述javascript引擎用于:
[0056]将所述第一接口映射为所述渲染进程能够运行的本地函数;
[0057]运行所述本地函数,向所述主进程发送所述IPC消息,请求在所述web页面上操作所述本地的第一资源。
[0058]其中,所述javascript引擎还用于:
[0059]根据所述第一接口向主进程发送进程间通信IPC消息之前,根据预设的白名单判断所述web页面是否具有操作本地资源的权限;
[0060]如果确定所述web页面具有操作本地资源的权限,则执行根据所述第一接口向主进程发送所述IPC消息的步骤。
[0061]其中,所述本地调用模块用于:
[0062]在所述主进程中,对所述主进程收到的所述IPC消息进行过滤,确认所述IPC消息为所述主进程处理的消息后,根据所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源。
[0063]本发明提供的技术方案带来的有益效果是:一方面,当在HTML运行环境中通过地址信息加载web页面时,获得用于表征该电子设备的本地资源的情况的标识信息,并获得操作请求,该操作请求用于表征操作本地资源的第一资源的请求,以第一资源响应该操作请求,在显示单元上显示第一资源响应该操作请求的响应结果,实现了 web页面上对本地的资源的访问以及操作,提高了 javascript代码的本地调用能力。另一方面,当在HTML运行环境中打开一个web页面时,javascript引擎在渲染进程中解析到已注册的第一接口后,向主进程发送IPC消息,请求在web页面上操作本地的第一资源;在主进程中,根据该IPC消息调用本地接口在web页面上操作本地的第一资源,使所述web页面上对本地第一资源的操作得到了响应,提高了 javascript代码的本地调用能力,与现有技术相比,能对web页面开放本地调用的接口,增加了 web页面的本地操作功能,所述javascript自定义接口不局限于读文件或者写文件操作,可以根据需要设计为执行各种的本地操作,灵活方便,应用广泛。
【专利附图】

【附图说明】
[0064]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0065]图1是本发明一实施例提供的在web页面上实现本地操作的方法流程图;
[0066]图2是本发明又一实施例提供的在web页面上实现本地操作的方法流程图;
[0067]图3是本发明另一实施例提供的在web页面上实现本地操作的方法流程图;
[0068]图4是本发明实施例提供的通过进程间交互实现本地操作的示意图;[0069]图5是本发明一实施例提供的在web页面上实现本地操作的装置结构图;
[0070]图6是本发明另实施例提供的在web页面上实现本地操作的装置结构图。
【具体实施方式】
[0071]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0072]本发明实施例涉及HTML运行环境。所述HTML运行环境是指具有安全保护的多进程的运行环境。在HTML运行环境中,呈现引擎负责呈现HTML文档和图片,javascript弓丨擎负责解释javascript脚本。所述呈现引擎如webkit, Gecko等等。所述多进程是指在HTML运行环境中会同时运行多个进程来执行任务,该多进程包括但不限于渲染(render)进程、主(browser)进程等等。所述具有安全保护是指该HTML运行环境内的render进程处于保护状态,不具有调用本地接口的权限。例如,置于沙箱(sandbox)之中,遵守最小许可权原贝U,每一个处理动作的权限都会被限制,并且仅能运算但无法写入档案或从敏感区域读取档案,如我的文件、桌面等,以此限制web页面内的Javascript代码只能在沙箱中运行,恶意软件将无法窃取信用卡号码、干扰鼠标运作等,从而提高安全性。所述HTML运行环境可以为浏览器,所述浏览器包括但不限于Chrome浏览器等等。
[0073]参见图1,本发明一实施例提供了 一种在web页面上实现本地操作的方法,应用于一电子设备中,该电子设备包括一显示单元,且该电子设备具有HTML运行环境,该方法包括:
[0074]101:在该HTML运行环境中通过地址信息加载web页面。
[0075]102:在加载该web页面的过程中,获得用于表征该电子设备的本地资源的情况的标识信息。
[0076]103:获得操作请求,所述操作请求用于表征操作本地资源的第一资源的请求。
[0077]104:根据该操作请求,以所述第一资源响应该操作请求。
[0078]105:在该显示单元上显示所述第一资源响应该操作请求的响应结果。
[0079]在上述方法的一个实施例中,具体地,步骤102可以包括:
[0080]在加载所述web页面的过程中,当javascript引擎在渲染进程中解析到第二接口时,所述javascript引擎用于解释javascript脚本,所述第二接口为基于javascript自定义的接口,用于获得用于表征该电子设备的本地资源的情况的标识信息,且所述javascript引擎中注册有所述第二接口,贝U所述javascript引擎根据所述第二接口向主进程发送进程间通信IPC消息,请求获取所述标识信息;在所述主进程中,根据收到的所述IPC消息调用本地接口获取所述标识信息。
[0081]相应地,上述方法中,可以在所述显示单元上显示所述web页面对应的显示界面,并且,在根据该操作请求以所述第一资源响应该操作请求后,在所述显示界面内显示所述响应结果。
[0082]在上述方法的另一个实施例中,具体地,可以先在显示单元上显示所述web页面对应的显示界面,在该显示界面内显示所述标识信息。其中,所述标识信息至少包括与第一资源对应的第一标识,进一步地还可以包括更多的标识,如与第二资源对应的第二标识,或者与第三资源对应的第三标识等等。所述操作请求可以通过检测显示界面上的标识是否被触发来获得,如当检测到显示界面上的第一标识被触发时,获得操作请求,该操作请求用于表征操作本地资源的第一资源的请求。当以第一资源响应该操作请求后,在所述显示界面内显示所述响应结果。
[0083]本实施例中,根据所述操作请求,以所述第一资源响应所述操作请求,包括:
[0084]当javascript引擎在渲染进程中解析到所述操作请求对应的第一接口时,所述javascript引擎用于解释javascript脚本,所述第一接口为基于javascript自定义的接口,用于在web页面上操作所述第一资源,且所述javascript引擎中注册有所述第一接口,则所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息,请求在所述web页面上操作所述本地的第一资源;
[0085]在所述主进程中,根据收到的所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源;
[0086]其中,所述渲染进程处于保护状态,不具有调用本地接口的权限,所述主进程处于非保护状态,具有调用本地接口的权限。
[0087]进一步地,所述javascript引擎根据所述第一接口向主进程发送IPC消息,请求在所述web页面上操作所述本地的第一资源,包括:
[0088]所述javascript引擎将所述第一接口映射为所述渲染进程能够运行的本地函数;
[0089]运行所述本地函数,向所述主进程发送所述IPC消息,请求在所述web页面上操作所述本地的第一资源。
[0090]本实施例中,所述方法还包括:
[0091]所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息之前,根据预设的白名单判断所述web页面是否具有操作本地资源的权限;
[0092]如果确定所述web页面具有操作本地资源的权限,则执行所述javascript引擎根据所述第一接口向主进程发送所述IPC消息的步骤。
[0093]本实施例提供的上述方法,当在HTML运行环境中通过地址信息加载web页面时,获得用于表征该电子设备的本地资源的情况的标识信息,并获得操作请求,该操作请求用于表征操作本地资源的第一资源的请求,以第一资源响应该操作请求,在显示单元上显示第一资源响应该操作请求的响应结果,实现了 web页面上对本地的资源的访问以及操作,提高了 javascript代码的本地调用能力。
[0094]参见图2,本发明又一实施例提供了一种在web页面上实现本地操作的方法,应用于一电子设备中,该电子设备具有HTML运行环境,该方法包括:
[0095]201:当在所述HTML运行环境中打开一个web页面时,javascript引擎在渲染进程中对所述web页面进行解析。
[0096]202:当javascript引擎解析到第一接口时,该第一接口为基于javascript自定义的接口,用于在web页面上操作本地的第一资源,且javascript引擎中注册有该第一接口,则javascript引擎根据该第一接口向主进程发送IPC消息,请求在所述web页面上操作本地的第一资源。
[0097]203:在所述主进程中,根据收到的IPC消息调用本地接口在所述web页面上操作本地的第一资源。[0098]其中,所述渲染进程处于保护状态,不具有调用本地接口的权限,所述主进程处于非保护状态,具有调用本地接口的权限。
[0099]本实施例中,所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息,请求在所述web页面上操作所述本地的第一资源,包括:
[0100]所述javascript引擎将所述第一接口映射为所述渲染进程能够运行的本地函数;
[0101]运行所述本地函数,向所述主进程发送所述IPC消息,请求在所述web页面上操作所述本地的第一资源。
[0102]本实施例中,所述方法还包括:
[0103]所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息之前,根据预设的白名单判断所述web页面是否具有操作本地资源的权限;
[0104]如果确定所述web页面具有操作本地资源的权限,则执行所述javascript引擎根据所述第一接口向主进程发送所述IPC消息的步骤。
[0105]本实施例中,根据收到的所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源,包括:
[0106]在所述主进程中,对所述主进程收到的所述IPC消息进行过滤,确认所述IPC消息为所述主进程处理的消息后,根据所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源。
[0107]本实施例提供的上述方法,当在HTML运行环境中打开一个web页面时,javascript引擎在渲染进程中解析到已注册的第一接口后,向主进程发送IPC消息,请求在web页面上操作本地的第一资源;在主进程中,根据该IPC消息调用本地接口在web页面上操作本地的第一资源,使所述web页面上对本地第一资源的操作得到了响应,提高了javascript代码的本地调用能力,与现有技术相比,能对web页面开放本地调用的接口,增加了 web页面的本地操作功能,所述javascript自定义接口不局限于读文件或者写文件操作,可以根据需要设计为执行各种的本地操作,灵活方便,应用广泛。
[0108]参见图3,本发明另一实施例提供了一种在web页面上实现本地操作的方法,应用于一电子设备中,该电子设备具有HTML运行环境,该方法具体包括:
[0109]301:预先在HTML运行环境中向javascript引擎注册第一接口,其中,所述javascript弓丨擎用于解释javascript脚本,该第一接口为基于javascript自定义的接口,用于在web页面上操作本地的第一资源。
[0110]其中,第一接口为预先设计的,其功能为在web页面上操作本地的第一资源。该web页面是指该HTML运行环境处理的页面,如当前显示的html页面。所述本地的第一资源是指本地客户端上保存的文件、可执行程序等等。所述操作本地的第一资源,包括但不限于:读取该客户端内的文件、在该客户端内写文件,执行一个可执行程序、启用该客户端内的一项服务、或者禁用该客户端内的一项服务等等。
[0111]302:当在HTML运行环境中打开一个web页面时,javascript引擎在渲染进程中对该web页面进行解析。
[0112]本实施例中的HTML运行环境为多进程运行环境,所述多进程包括但不限于:渲染进程、主(browser)进程等等。其中,javascript引擎运行在渲染进程中,例如,Chrome浏览器的javascript引擎V8运行在render进程中。javascript引擎主要用于对web页面内的javascript脚本进行解析。
[0113]303:当javascript引擎解析到所述已注册的第一接口时,javascript引擎根据预设的白名单判断该web页面是否具有操作本地资源的权限。
[0114]本实施例中,所述白名单为预先设置的列表,其中记录有具有操作本地资源的权限的web页面的来源信息。具体地,可以判断该白名单中是否记录有该web页面的来源信息,如果是,则确定该web页面具有操作本地资源的权限,否则,确定该web页面没有操作本地资源的权限。通过白名单可以严格地控制web页面操作本地资源的权限,从而增强了安全性。
[0115]304:如果确定该web页面具有操作本地资源的权限,则将第一接口映射为渲染进程能够运行的本地函数。
[0116]通常,渲染进程中可以运行本地函数库中的各种本地函数,这些函数通常为C++函数,可以执行各种功能。上述第一接口需要映射为对应的本地函数,才能在渲染进程中运行。
[0117]305:运行该本地函数,向主进程发送IPC消息,请求在web页面上操作本地的第一资源。
[0118]本实施例中,由于渲染进程位于沙箱之中,处于保护状态,无法调用本地的各种接口以操作本地资源,因此,渲染进程将操作本地资源的请求发送给主进程,以请求主进程操作本地资源。
[0119]所述IPC消息主要用于进程之间的通信,消息的类型也有很多种,本步骤使用IPC消息用于向主进程发送操作本地资源的请求,具体的IPC消息的格式则不做过多说明。
[0120]306:在该主进程中,对主进程收到的IPC消息进行过滤,在过滤确认收到的该IPC消息为主进程处理的消息后,根据该IPC消息调用本地接口在所述web页面上操作本地的
第一资源。
[0121]通常,主进程会收到很多消息,各种各样的消息,来自于不同的进程,有些消息属于主进程处理的消息,有些消息如广播消息不是主进程处理的消息,因此,为了提高处理效率,主进程可以对收到的消息进行过滤,从而选出属于自己处理的消息。
[0122]其中,主进程处于非保护状态,具有调用本地接口的权限。因此,可以在主进程中,对本地的API (Application Programming Interface,应用程序接口)进行调用,从而实现操作本地资源。主进程在操作本地的第一资源后,将执行的结果返回给渲染进程。
[0123]为了更好地说明上述方法的执行过程,参见图4,为本实施例提供的通过进程间交互实现本地操作的示意图。其中,以HTML运行环境为chiOmium浏览器为例进行说明,浏览器正在运行的web页面上包含了一个javascript自定义接口,用于打开浏览器所在客户端本地的一个exe文件。实现执行本地操作的流程如下:①javascript引擎V8在渲染render进程中对web页面上的javascript代码进行解析,解析到一个javascript自定义接口 meplus.platform.1auchExe O ;②将该 javascript 自定义接口 映射为 render 进程能够执行的本地函数;③运行该本地函数;④发送IPC消息给browser进程,请求执行本地操作toowser进程对收到的消息进行过滤,确认该IPC消息为自己处理的消息,调用browser进程能够执行的函数OnLaunchNativeExe O ,该函数调用windows系统提供的API实现打开本地的exe文件的操作。
[0124]本实施例提供的上述方法,当在HTML运行环境中打开一个web页面时,javascript引擎在渲染进程中解析到已注册的第一接口后,向主进程发送IPC消息,请求在web页面上操作本地的第一资源;在主进程中,根据该IPC消息调用本地接口在web页面上操作本地的第一资源,使所述web页面上对本地第一资源的操作得到了响应,提高了javascript代码的本地调用能力,与现有技术相比,能对web页面开放本地调用的接口,增加了 web页面的本地操作功能,所述javascript自定义接口不局限于读文件或者写文件操作,可以根据需要设计为执行各种的本地操作,灵活方便,应用广泛。
[0125]参见图5,本发明再一实施例提供了一种在web页面上实现本地操作的装置,应用于一电子设备中,该电子设备具有超文本标记语言HTML运行环境,所述装置包括:
[0126]加载单元501,用于在所述HTML运行环境中通过地址信息加载web页面;
[0127]获取单元502,用于在加载所述web页面的过程中,获得用于表征所述电子设备的本地资源的情况的标识信息;
[0128]响应单元503,用于获得操作请求,所述操作请求用于表征操作所述本地资源的第一资源的请求;根据所述操作请求,以所述第一资源响应所述操作请求;
[0129]显示单元504,用于显示所述第一资源响应所述操作请求的响应结果。
[0130]其中,响应单元503包括:
[0131]javascript引擎,用于当在渲染进程中解析到所述操作请求对应的第一接口时,所述javascript弓丨擎用于解释javascript脚本,所述第一接口为基于javascript自定义的接口,用于在web页面上操作所述第一资源,且所述javascript引擎中注册有所述第一接口,则根据所述第一接口向主进程发送进程间通信IPC消息,请求在所述web页面上操作所述本地的第一资源;
[0132]本地调用子单元,用于在所述主进程中,根据收到的所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源;
[0133]其中,所述渲染进程处于保护状态,不具有调用本地接口的权限,所述主进程处于非保护状态,具有调用本地接口的权限。
[0134]进一步地,所述javascript引擎用于:
[0135]将所述第一接口映射为所述渲染进程能够运行的本地函数;
[0136]运行所述本地函数,向所述主进程发送所述IPC消息,请求在所述web页面上操作所述本地的第一资源。
[0137]本实施例中,所述javascript引擎还用于:
[0138]根据所述第一接口向主进程发送进程间通信IPC消息之前,根据预设的白名单判断所述web页面是否具有操作本地资源的权限;
[0139]如果确定所述web页面具有操作本地资源的权限,则执行所述javascript引擎根据所述第一接口向主进程发送所述IPC消息的步骤。
[0140]本实施例提供的上述装置可以执行上述任一方法实施例中提供的方法,详细过程见方法实施例中的描述,此处不赘述。
[0141]本实施例提供的上述装置,当在HTML运行环境中通过地址信息加载web页面时,获得用于表征该电子设备的本地资源的情况的标识信息,并获得操作请求,该操作请求用于表征操作本地资源的第一资源的请求,以第一资源响应该操作请求,在显示单元上显示第一资源响应该操作请求的响应结果,实现了 web页面上对本地的资源的访问以及操作,提高了 javascript代码的本地调用能力。
[0142]参见图6,本发明另一实施例提供了 一种在web页面上实现本地操作的装置,应用于一电子设备中,该电子设备具有超文本标记语言HTML运行环境,所述装置包括:
[0143]javascript引擎601,用于当在所述HTML运行环境中打开一个web页面时,在渲染进程中对所述web页面进行解析;当解析到第一接口时,所述第一接口为基于javascript自定义的接口,用于在web页面上操作本地的第一资源,且所述javascript引擎中注册有所述第一接口,则根据所述第一接口向主进程发送进程间通信IPC消息,请求在所述web页面上操作所述本地的第一资源;
[0144]本地调用模块602,用于在所述主进程中,根据收到的所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源;
[0145]其中,所述渲染进程处于保护状态,不具有调用本地接口的权限,所述主进程处于非保护状态,具有调用本地接口的权限。
[0146]其中,所述javascript引擎用于:
[0147]将所述第一接口映射为所述渲染进程能够运行的本地函数;
[0148]运行所述本地函数,向所述主进程发送所述IPC消息,请求在所述web页面上操作所述本地的第一资源。
[0149]进一步地,所述javascript引擎还用于:
[0150]根据所述第一接口向主进程发送进程间通信IPC消息之前,根据预设的白名单判断所述web页面是否具有操作本地资源的权限;
[0151]如果确定所述web页面具有操作本地资源的权限,则执行根据所述第一接口向主进程发送所述IPC消息的步骤。
[0152]本实施例中,所述本地调用模块用于:
[0153]在所述主进程中,对所述主进程收到的所述IPC消息进行过滤,确认所述IPC消息为所述主进程处理的消息后,根据所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源。
[0154]本实施例提供的上述装置可以执行上述任一方法实施例中提供的方法,详细过程见方法实施例中的描述,此处不赘述。
[0155]本实施例提供的上述装置,当在HTML运行环境中打开一个web页面时,javascript引擎在渲染进程中解析到已注册的第一接口后,向主进程发送IPC消息,请求在web页面上操作本地的第一资源;在主进程中,根据该IPC消息调用本地接口在web页面上操作本地的第一资源,使所述web页面上对本地第一资源的操作得到了响应,提高了javascript代码的本地调用能力,与现有技术相比,能对web页面开放本地调用的接口,增加了 web页面的本地操作功能,所述javascript自定义接口不局限于读文件或者写文件操作,可以根据需要设计为执行各种的本地操作,灵活方便,应用广泛。
[0156]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。[0157]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种在web页面上实现本地操作的方法,其特征在于,所述方法应用于一电子设备中,所述电子设备包括一显示单元以及所述电子设备具有超文本标记语言HTML运行环境,所述方法包括: 在所述HTML运行环境中通过地址信息加载web页面; 在加载所述web页面的过程中,获得用于表征所述电子设备的本地资源的情况的标识信息; 获得操作请求,所述操作请求用于表征操作所述本地资源的第一资源的请求; 根据所述操作请求,以所述第一资源响应所述操作请求; 在所述显示单元上显示所述第一资源响应所述操作请求的响应结果。
2.根据权利要求1所述的方法,其特征在于,根据所述操作请求,以所述第一资源响应所述操作请求,包括: 当javascript引擎在渲染进程中解析到所述操作请求对应的第一接口时,所述javascript引擎用于解释javascript脚本,所述第一接口为基于javascript自定义的接口,用于在web页面上操作所述第一资源,且所述javascript引擎中注册有所述第一接口,则所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息,请求在所述web页面上操作所述本地的第一资源; 在所述主进程中,根据收到的所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源; 其中,所述渲染进程处于保护状态,不具有调用本地接口的权限,所述主进程处于非保护状态,具有调用本地接口的权限。
3.根据权利要求2所述的方法,其特征在于,所述javascript引擎根据所述第一接口向主进程发送IPC消息,请求在所述web页面上操作所述本地的第一资源,包括: 所述javascript引擎将所述第一接口映射为所述渲染进程能够运行的本地函数;运行所述本地函数,向所述主进程发送所述IPC消息,请求在所述web页面上操作所述本地的第一资源。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括: 所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息之前,根据预设的白名单判断所述web页面是否具有操作本地资源的权限; 如果确定所述web页面具有操作本地资源的权限,则执行所述javascript引擎根据所述第一接口向主进程发送所述IPC消息的步骤。
5.一种在web页面上实现本地操作的方法,其特征在于,所述方法应用于一电子设备中,所述电子设备具有超文本标记语言HTML运行环境,所述方法包括: 当在所述HTML运行环境中打开一个web页面时,javascript引擎在渲染进程中对所述web页面进行解析; 当所述javascript引擎解析到第一接口时,所述第一接口为基于javascript自定义的接口,用于在web页面上操作本地的第一资源,且所述javascript引擎中注册有所述第一接口,则所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息,请求在所述web页面上操作所述本地的第一资源; 在所述主进程中,根据收到的所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源; 其中,所述渲染进程处于保护状态,不具有调用本地接口的权限,所述主进程处于非保护状态,具有调用本地接口的权限。
6.根据权利要求5所述的方法,其特征在于,所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息,请求在所述web页面上操作所述本地的第一资源,包括: 所述javascript引擎将所述第一接口映射为所述渲染进程能够运行的本地函数;运行所述本地函数,向所述主进程发送所述IPC消息,请求在所述web页面上操作所述本地的第一资源。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括: 所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息之前,根据预设的白名单判断所述web页面是否具有操作本地资源的权限; 如果确定所述web页面具有操作本地资源的权限,则执行所述javascript引擎根据所述第一接口向主进程发送 所述IPC消息的步骤。
8.根据权利要求5所述的方法,其特征在于,在所述主进程中,根据收到的所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源,包括: 在所述主进程中,对所述主进程收到的所述IPC消息进行过滤,确认所述IPC消息为所述主进程处理的消息后,根据所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源。
9.一种在web页面上实现本地操作的装置,其特征在于,应用于一电子设备中,所述电子设备具有超文本标记语言HTML运行环境,所述装置包括: 加载单元,用于在所述HTML运行环境中通过地址信息加载web页面; 获取单元,用于在加载所述web页面的过程中,获得用于表征所述电子设备的本地资源的情况的标识信息; 响应单元,用于获得操作请求,所述操作请求用于表征操作所述本地资源的第一资源的请求;根据所述操作请求,以所述第一资源响应所述操作请求; 显示单元,用于显示所述第一资源响应所述操作请求的响应结果。
10.根据权利要求9所述的装置,其特征在于,所述响应单元包括: javascript引擎,用于当在渲染进程中解析到所述操作请求对应的第一接口时,所述javascript引擎用于解释javascript脚本,所述第一接口为基于javascript自定义的接口,用于在web页面上操作所述第一资源,且所述javascript引擎中注册有所述第一接口,则根据所述第一接口向主进程发送进程间通信IPC消息,请求在所述web页面上操作所述本地的第一资源; 本地调用子单元,用于在所述主进程中,根据收到的所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源; 其中,所述渲染进程处于保护状态,不具有调用本地接口的权限,所述主进程处于非保护状态,具有调用本地接口的权限。
11.根据权利要求10所述的装置,其特征在于,所述javascript引擎用于: 将所述第一接口映射为所述渲染进程能够运行的本地函数;运行所述本地函数,向所述主进程发送所述IPC消息,请求在所述web页面上操作所述本地的第一资源。
12.根据权利要求10所述的装置,其特征在于,所述javascript引擎还用于: 根据所述第一接口向主进程发送进程间通信IPC消息之前,根据预设的白名单判断所述web页面是否具有操作本地资源的权限; 如果确定所述web页面具有操作本地资源的权限,则执行所述javascript引擎根据所述第一接口向主进程发送所述IPC消息的步骤。
13.—种在web页面上实现本地操作的装置,其特征在于,应用于一电子设备中,所述电子设备具有超文本标记语言HTML运行环境,所述装置包括: javascript引擎,用于当在所述HTML运行环境中打开一个web页面时,在渲染进程中对所述web页面进行解析;当解析到第一接口时,所述第一接口为基于javascript自定义的接口,用于在web页面上操作本地的第一资源,且所述javascript引擎中注册有所述第一接口,则根据所述第一接口向主进程发送进程间通信IPC消息,请求在所述web页面上操作所述本地的第一资源; 本地调用模块,用于在所述主进程中,根据收到的所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源; 其中,所述渲染进程处于保护状态,不具有调用本地接口的权限,所述主进程处于非保护状态,具有调用本地接口的权限。
14.根据权利要求13所述的装置,其特征在于,所述javascript引擎用于: 将所述第一接口映射为所述渲染进程能够运行的本地函数; 运行所述本地函数,向所述主进程发送所述IPC消息,请求在所述web页面上操作所述本地的第一资源。
15.根据权利要求13所述的装置,其特征在于,所述javascript引擎还用于: 根据所述第一接口向主进程发送进程间通信IPC消息之前,根据预设的白名单判断所述web页面是否具有操作本地资源的权限; 如果确定所述web页面具有操作本地资源的权限,则执行根据所述第一接口向主进程发送所述IPC消息的步骤。
16.根据权利要求13所述的装置,其特征在于,所述本地调用模块用于: 在所述主进程中,对所述主进程收到的所述IPC消息进行过滤,确认所述IPC消息为所述主进程处理的消息后,根据所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源。
【文档编号】G06F9/44GK103927151SQ201310011380
【公开日】2014年7月16日 申请日期:2013年1月11日 优先权日:2013年1月11日
【发明者】莫洪灵, 李京, 徐晶, 冯荣峰 申请人:联想(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1