一种JavaScript脚本的执行过程控制方法和系统技术方案

技术编号:9825620 阅读:105 留言:0更新日期:2014-04-01 13:41
本发明专利技术涉及一种JavaScript脚本的执行过程控制方法,包括:分配代码片段的步骤,包括将JavaScript脚本中的多个代码片段分别分配到服务器解析平台或客户端浏览器;客户端浏览器解释执行第一代码片段的步骤,包括:解释执行一个或多个第一代码片段,将解释执行所得到的中间状态、中间参数、中间结果返回给服务器解析平台;服务器解析平台解释执行第二代码片段的步骤,包括:为一个或多个第二代码片段创建独立的工作空间和独立的缓存,在独立的工作空间中完成解释执行过程,将解释执行过程所得到的中间状态、中间参数、中间结果保存在所述独立的缓存中;串接步骤,包括:将各个第一代码片段和第二代码片段的解释执行结果串接起来。

【技术实现步骤摘要】
【专利摘要】本专利技术涉及一种JavaScript脚本的执行过程控制方法,包括:分配代码片段的步骤,包括将JavaScript脚本中的多个代码片段分别分配到服务器解析平台或客户端浏览器;客户端浏览器解释执行第一代码片段的步骤,包括:解释执行一个或多个第一代码片段,将解释执行所得到的中间状态、中间参数、中间结果返回给服务器解析平台;服务器解析平台解释执行第二代码片段的步骤,包括:为一个或多个第二代码片段创建独立的工作空间和独立的缓存,在独立的工作空间中完成解释执行过程,将解释执行过程所得到的中间状态、中间参数、中间结果保存在所述独立的缓存中;串接步骤,包括:将各个第一代码片段和第二代码片段的解释执行结果串接起来。【专利说明】一种JavaScr ipt脚本的执行过程控制方法和系统
本专利技术涉及网络通信领域,特别涉及一种JavaScript脚本的执行过程控制方法和系统
技术介绍
网络是当代人生活中不可或缺的一部分,随着移动终端,特别是智能移动终端的迅速发展,通过移动终端访问网页已经成为网络用户的常见选择。与个人计算机相比,移动终端资源相对有限,如计算能力弱、访问内存小,这会为应用程序在移动终端上的运行带来障碍。动态网页是指除了包含静态URL之外,还包含有必须通过浏览器执行脚本才能得到的超链接网络地址和网页主体内容的网页。现有技术中的动态网页通常包含JavaScript脚本,JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,其解析、执行都在客户端(若通过移动终端访问网页,则客户端即为移动终端)上实现。JavaScript脚本的这一特性,使得对包含有JavaScript的动态网页的处理需要耗费移动终端大量的资源,这会给资源有限的移动终端带来沉重的负担,造成动态网页显示缓慢的问题,甚至造成动态网页无法正常显示。随着网页功能的日益繁多,动态网页中的JavaScript脚本日趋复杂,这一不良影响也日渐显现。现有技术中,本领域技术人员针对JavaScript脚本需在客户端解析执行,从而耗费移动终端大量资源的状况,提出了在服务器端执行JavaScript的方法。例如,在申请号为201010586285.3、申请名称为《由服务器端执行JS的方法和装置》、 申请人:为腾讯科技(深圳)有限公司的中国专利申请中,提出了一种设置在服务器端的页面解析服务器,由该页面解析服务器抓取与移动终端发送的URL请求对应的原始页面,执行该原始页面上的JavaScript,得到结果页面;然后在结果页面上添加JavaScript节点属性,并发送至移动终端,由移动终端根据用户触发的JavaScript事件和所述JavaScript节点属性填写JavaScript请求协议包;最后接收移动终端发送的JavaScript请求协议包,对JavaScript请求协议包中需要执行JavaScript事件的节点标签执行JavaScript事件。在专利授权号为ZL201010226788.X、名称为《用于移动通讯设备终端的浏览器脚本解析方法及其装置》、 申请人:为优视科技有限公司的中国专利中,提出了如下方法:服务端根据客户端请求访问网络服务器,获取网页第一脚本的脚本获取步骤;服务端对第一脚本进行分析并编译成第一中间指令码的中间指令获取步骤;服务端把第一中间指令码发送到客户端的中间指令发送步骤;客户端根据第一中间指令码解析脚本的脚本解析步骤。现有技术中的上述两种方法都采用了自定义中间指令以及定制客户端的方式来处理JavaScript脚本,即由服务器端来分析、编译、执行需要花费大量时间与资源的JavaScript脚本,移动终端采用自行定义的前端语言触发后台交互,仅需完成显示,或执行诸如HTML的静态代码等简易工作。上述方法主要针对当时的移动终端对JavaScript不支持或支持程度很低的情况,但不适用于具有复杂JavaScript应用的网络页面。例如,在诸如电子商务系统、企业管理系统的流程系统中,存在着大量需要在父子页面中连贯动态执行复杂JavaScript应用的网络页面,对于此类系统,现有技术中的上述方法无法完整执行JavaScript 应用。目前,网络上存在着大量带有复杂JavaScript应用的Web服务,这些Web服务在创建时通常都是针对桌面计算机或移动计算机的运行环境所编写的。由于运行环境的差异,若要在移动终端上完整、正确、安全、稳定地运行这些Web服务,通常需要对Web服务的源代码进行改写,甚至重新设计开发,这会花费大量的人力成本与时间成本。若能在不改写原有Web服务的基础上,无需专用客户端即可实现原有Web服务在移动终端上完整、正确、安全、稳定地运行,必将受到用户的欢迎。
技术实现思路
本专利技术的目的在于克服现有技术中的包含复杂JavaScript脚本的页面无法在移动终端上正常访问的缺陷,从而提供一种能够实现包含复杂JavaScript脚本的页面在移动终端上正常访问,并保证JavaScript脚本完整、正确执行的方法与系统。为了实现上述目的,本专利技术提供了一种JavaScript脚本的执行过程控制方法,用于将JavaScript脚本的执行过程在位于服务器端的服务器解析平台与位于客户端的浏览器上加以分配;该方法包括:分配代码片段的步骤,该步骤包括将JavaScript脚本中的多个代码片段分别分配到服务器解析平台或客户端浏览器;其中,分配到客户端浏览器的代码片段为第一代码片段,分配到服务器解析平台的代码片段为第二代码片段;客户端浏览器解释执行第一代码片段的步骤,该步骤包括:解释执行一个或多个第一代码片段,将解释执行所得到的中间状态、中间参数、中间结果返回给服务器解析平台;服务器解析平台解释执行第二代码片段的步骤,该步骤包括:为一个或多个第二代码片段创建独立的工作空间和独立的缓存,在所述独立的工作空间中完成解释执行过程,将解释执行过程所得到的中间状态、中间参数、中间结果保存在所述独立的缓存中;串接步骤,该步骤包括:将各个第一代码片段和第二代码片段的解释执行结果串接起来。上述技术方案中,在所述的分配代码片段的步骤之前还包括:获取分配对象信息的步骤;在所述分配代码片段的步骤中,根据所述分配对象信息将所述第一或第二代码片段分配在服务器解析平台或客户端浏览器。上述技术方案中,根据所述分配对象信息将JavaScript脚本中规模庞大、结构复杂的代码片段放在服务器解析平台中执行,将JavaScript脚本中需要用户参与的代码片段放在客户端浏览器中执行。上述技术方案中,在客户端浏览器解释执行第一代码片段的步骤之后,还包括为第一代码片段解释执行所得到的中间状态、中间参数、中间结果在服务器解析平台中创建独立缓存的步骤。上述技术方案中,所述独立缓存所保存的第一或第二代码片段在解释执行过程中所产生的中间状态、中间参数、中间结果具有全局性。上述技术方案中,所述串接步骤包括:创建一个用于生成完整JavaScript脚本的工作空间,在该工作空间中将各个第一代码片段和第二代码片段的解释执行结果串接起来。上述技术方案中,所述客户端为移动终端。本专利技术还提供了一种JavaScript脚本的执行过程控制系统,包括位于服务器端的服务器解析平台与位于客户端的本文档来自技高网
...

【技术保护点】
一种JavaScript脚本的执行过程控制方法,用于将JavaScript脚本的执行过程在位于服务器端的服务器解析平台与位于客户端的浏览器上加以分配,该方法包括:分配代码片段的步骤,该步骤包括将JavaScript脚本中的多个代码片段分别分配到服务器解析平台或客户端浏览器;其中,分配到客户端浏览器的代码片段为第一代码片段,分配到服务器解析平台的代码片段为第二代码片段;客户端浏览器解释执行第一代码片段的步骤,该步骤包括:解释执行一个或多个第一代码片段,将解释执行所得到的中间状态、中间参数、中间结果返回给服务器解析平台;服务器解析平台解释执行第二代码片段的步骤,该步骤包括:为一个或多个第二代码片段创建独立的工作空间和独立的缓存,在所述独立的工作空间中完成解释执行过程,将解释执行过程所得到的中间状态、中间参数、中间结果保存在所述独立的缓存中;串接步骤,该步骤包括:将各个第一代码片段和第二代码片段的解释执行结果串接起来。

【技术特征摘要】

【专利技术属性】
技术研发人员:周华强朱奕
申请(专利权)人:北京掌中经纬技术有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1