[发明专利]在web页面上实现本地操作的方法和装置有效
申请号: | 201310011380.4 | 申请日: | 2013-01-11 |
公开(公告)号: | CN103927151B | 公开(公告)日: | 2018-04-27 |
发明(设计)人: | 莫洪灵;李京;徐晶;冯荣峰 | 申请(专利权)人: | 联想(北京)有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451 |
代理公司: | 北京三高永信知识产权代理有限责任公司11138 | 代理人: | 张耀光 |
地址: | 100085*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | web 页面 实现 本地 操作 方法 装置 | ||
技术领域
本发明涉及web技术领域,特别涉及一种在web页面上实现本地操作的方法和装置。
背景技术
JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,广泛应用于客户端的Web开发。JavaScript常用来给超文本标记语言(英文:HyperText Markup Language,缩写:HTML)网页添加动态功能,比如响应用户的各种操作等等,JavaScript也可以用于其他场合,如服务器端编程等等。
JavaScript引擎是能够阅读并执行JavaScript源代码的解释器,现多用于网页浏览器中,如Apple Safari4的Nitro,Chrome浏览器的V8和Mozilla Firefox3.5的TraceMonkey等等。
在Chrome浏览器中,由Javascript引擎V8负责解析和运行Javascript代码。其中,Javascript引擎V8运行在Chrome浏览器的渲染(英文:render)进程下,出于安全的考虑,通常将该render进程置入沙箱之中,以限制Javascript代码只能在沙箱中运行,从而提高浏览器的安全性。
但是,由于Javascript代码只能在沙箱中运行,因此,web页面上的javascript代码执行本地调用的能力非常微弱,目前还无法实现对本地文件的访问。
发明内容
为了提高javascript代码的本地调用能力,本发明提供了一种在web页面上实现本地操作的方法和装置。所述技术方案如下:
一方面,本发明提供了一种在web页面上实现本地操作的方法,所述方法应用于一电子设备中,所述电子设备包括一显示单元以及所述电子设备具有超文本标记语言HTML运行环境,所述方法包括:
在所述HTML运行环境中通过地址信息加载web页面;
在加载所述web页面的过程中,获得用于表征所述电子设备的本地资源的情况的标识信息;
获得操作请求,所述操作请求用于表征操作所述本地资源的第一资源的请求;
根据所述操作请求,以所述第一资源响应所述操作请求;
在所述显示单元上显示所述第一资源响应所述操作请求的响应结果。
其中,根据所述操作请求,以所述第一资源响应所述操作请求,包括:
当javascript引擎在渲染进程中解析到所述操作请求对应的第一接口时,所述javascript引擎用于解释javascript脚本,所述第一接口为基于javascript自定义的接口,用于在web页面上操作所述第一资源,且所述javascript引擎中注册有所述第一接口,则所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息,请求在所述web页面上操作所述本地的第一资源;
在所述主进程中,根据收到的所述IPC消息调用本地接口在所述web页面上操作所述本地的第一资源;
其中,所述渲染进程处于保护状态,不具有调用本地接口的权限,所述主进程处于非保护状态,具有调用本地接口的权限。
其中,所述javascript引擎根据所述第一接口向主进程发送IPC消息,请求在所述web页面上操作所述本地的第一资源,包括:
所述javascript引擎将所述第一接口映射为所述渲染进程能够运行的本地函数;
运行所述本地函数,向所述主进程发送所述IPC消息,请求在所述web页面上操作所述本地的第一资源。
其中,所述方法还包括:
所述javascript引擎根据所述第一接口向主进程发送进程间通信IPC消息之前,根据预设的白名单判断所述web页面是否具有操作本地资源的权限;
如果确定所述web页面具有操作本地资源的权限,则执行所述javascript引擎根据所述第一接口向主进程发送所述IPC消息的步骤。
另一方面,本发明还提供了一种在web页面上实现本地操作的方法,所述方法应用于一电子设备中,所述电子设备具有超文本标记语言HTML运行环境,所述方法包括:
当在所述HTML运行环境中打开一个web页面时,javascript引擎在渲染进程中对所述web页面进行解析;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于联想(北京)有限公司,未经联想(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310011380.4/2.html,转载请声明来源钻瓜专利网。