基于lua脚本交互信息的方法、Web引擎和嵌入式终端的制作方法

文档序号:6602859阅读:354来源:国知局
专利名称:基于lua脚本交互信息的方法、Web引擎和嵌入式终端的制作方法
技术领域
本发明涉及计算机领域,特别涉及一种基于Iua脚本交互信息的方法、Web引擎和嵌入式终端。
背景技术
目前嵌入式终端大多采取javascript与xml/html网页结合的形式,提供一些轻量级的服务,例如天气、股票等给用户。基于javascript结合xml/html网页技术,嵌入式终端上包含javascript解释器与虚拟机,实现对xml/html页面的解析,绑定javascript脚本与方法,从而实现页面的 action (云力作)。但是,javascript占用内存资源比较大,开发包动辄几兆或几十兆,不适合嵌入式环境,尤其是比较低端的嵌入式终端。另外,javascript与高级语言c/c++的交互性不强, 执行效率不高。

发明内容
为了节约内存资源、提高程序的交互性和执行效率,本发明实施例提供了一种基于Iua脚本交互信息的方法、Web引擎和嵌入式终端。所述技术方案如下一种基于Iua脚本交互信息的方法,所述方法包括Web引擎判断当前页面绑定脚本的脚本类型;如果所述脚本类型是Iua脚本,通过Iua引擎加载绑定的所述Iua脚本;接收用户请求、并解析所述当前页面中所述请求对应的动作;通过所述Iua引擎,执行所述动作绑定的所述Iua脚本的方法。其中,所述通过所述Iua引擎,执行所述动作绑定的所述Iua脚本的方法之前包括将所述当前页面包含的动作与所述Iua脚本的方法进行绑定。其中,所述方法还包括在所述Iua脚本中设置本地应用程序编程接口 API,使所述Iua引擎通过所述本地 API进行本地操作。一种Wfeb引擎,所述Wfeb引擎包括判断模块,用于判断当前页面绑定脚本的脚本类型;加载模块,用于如果所述判断模块判断的脚本类型是Iua脚本,通过Iua引擎加载绑定的所述Iua脚本;解析模块,用于所述加载模块加载完所述Iim脚本后,接收用户请求、并解析所述当前页面中所述请求对应的动作;执行模块,用于通过所述Iua引擎,执行所述解析模块解析的动作绑定的所述Iua 脚本的方法。
其中,所述Web引擎还包括绑定模块,用于执行所述执行模块的功能之前,将所述当前页面包含的动作与所述Iua脚本的方法进行绑定。其中,所述Wfeb引擎是微件Widget引擎。一种嵌入式终端,所述终端包括:Web引擎、Iua引擎和Iua脚本;所述Wfeb引擎包括判断模块,用于判断当前页面绑定脚本的脚本类型;加载模块,用于如果所述判断模块判断的脚本类型是Iim脚本,通过Iua引擎加载绑定的所述Iua脚本;解析模块,用于所述加载模块加载完所述Iua脚本后,接收用户请求、并解析所述当前页面中所述请求对应的动作;执行模块,用于通过所述Iua引擎,执行所述解析模块解析的动作绑定的所述Iua 脚本的方法。其中,所述Web引擎还包括绑定模块,用于执行所述执行模块的功能之前,将所述当前页面包含的动作与所述Iua脚本的方法进行绑定。其中,所述终端还包括接口设置模块,用于在所述Iua脚本中设置本地应用程序编程接口 API,使所述 Iua引擎通过所述本地API进行本地操作。其中,所述Wfeb引擎是微件Widget引擎。本发明实施例提供的技术方案带来的有益效果是通过Web引擎判断当前页面绑定脚本的脚本类型,如果该脚本类型是Iua脚本,通过Iua引擎加载绑定的该Iim脚本,接收用户请求、并解析该当前页面中该请求对应的动作,通过该Iua引擎,执行该动作绑定的该Iua脚本的方法,实现了 Iim脚本与页面技术的结合,从而节约了内存资源、提高了程序的交互性和执行效率。


图1是本发明实施例
图2是本发明实施例
图3是本发明实施例
图4是本发明实施例
图5是本发明实施例
图6是本发明实施例
图7是本发明实施例
中提供的基于Iua脚本交互信息的方法流程图; 中提供的基于Iua脚本交互信息的另一方法流程图中提供的操作出错提示界面示意图; 中提供的Web引擎结构示意图; 中提供的Web引擎另一结构示意图; 中提供的嵌入式终端结构示意图; 中提供的嵌入式终端另一结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例1参见图1,本实施例提供了一种基于Iua脚本交互信息的方法,包括101 =Web引擎判断当前页面绑定脚本的脚本类型;
102 如果该脚本类型是Iua脚本,通过Iua引擎加载绑定的该Iua脚本;103 接收用户请求、并解析该当前页面中该请求对应的动作;104 通过该Iua引擎,执行该动作绑定的该Iua脚本的方法。本实施例提供的方法,通过Web引擎判断当前页面绑定脚本的脚本类型,如果该脚本类型是Um脚本,通过Iua引擎加载绑定的该Um脚本,接收用户请求、并解析该当前页面中该请求对应的动作,通过该Iua引擎,执行该动作绑定的该Um脚本的方法,实现了 Iua脚本与页面技术的结合,从而节约了内存资源、提高了程序的交互性和执行效率。参见图2,下面结合具体实例详细介绍上述方法。201 =Web引擎判断当前页面绑定脚本的脚本类型;其中,脚本类型包括javascript脚本或Iua脚本等。Lua脚本(script),也即Iua 脚本应用程序,通过绑定页面的action、响应native (本地)系统的各种事件来操纵界面的显示渲染,访问网络、访问终端存储系统,实现各种交互、负责功能丰富的嵌入式轻量级插件。另外,Iua还具有与c/c++无缝结合的特性、强大的交互特性(也即Iua与c/c++可以相互传递值、c/c++可以访问Iua对象与方法、Iua也可以访问c/c++的对象与方法)、高执行效率特性。对于Iua脚本,Web引擎主要负责页面解析与渲染、页面元素action(动作)解析、绑定action与Iua脚本方法,还需要响应页面元素action,并执行其所绑定的Iua脚本方法,与Iua脚本进行交互,提供操纵页面dom(Document 0b jectModel,文档对象模型) tree (W)白勺 API (Application Programming Interface, jSMfMj^lSfM^ Π ) ^b Iua 方便Iua脚本能够操纵修改当前页面。Web引擎具体可以是Widget (微件)引擎。202 当脚本类型是Iua脚本时,Web引擎通过Iua引擎加载绑定的Iua脚本;其中,Iua引擎主要指Iua的编译器与虚拟机,主要负责脚本的加载、卸载、编译以及执行等。203 =Web引擎将当前页面包含的动作与Iua脚本的方法进行绑定;204 =Web引擎接收用户请求、并解析当前页面中该请求对应的动作;205 =Web引擎通过Iua引擎,执行该动作绑定的Iua脚本的方法
206 进一步的,还可以在Iua脚本中设置本地API,方便Iua引擎通过本地API进行本地操作。其中,“本地”是指由Web引擎、Iua引擎和Iua脚本等组成的嵌入式终端。本地操作具体可以是操纵本地存储,访问网络,绘制、响应各种按键、笔点事件等。本地API使Iua脚本除了操作dom tree之外,还能够直接与嵌入式系统交互,极大的扩展了脚本的能力与弹性,提供了更加丰富的插件化应用,不仅可以为用户提供页面化的界面,还能够提供软件化的界面,有效地实现了网页软件化。例如,下面程序为一 xml描述的“操作出错请返回”提示页面。< ? xml version = " 1.0〃 encoding = " UTF-8" ? >< ! D0CTYPE wml PUBLIC" -//WAPF0RUM//DTD WML 1. 1//EN" “ http://www. wapforum. org/DTD/wml_l. 1. xml" ><wml>〈card title = 〃操作出错〃 >
5
这是出错提示<br/>
<br/>
操作出错请返回!
<br/>
<import res =" script\error〃>
</import)
<group id = " Iua action" >
<call when = " _entry" exec = " errorpage. entry ()" >
<call when =" rsk_press"exec = “ errorpage. goback ()“ >
</call>
</group)
<mttbar mttrsk ="返回">
</mttbar>
</card>
</wml>
下面对上述代码简要介绍如下
(lXcard title ="操作出错">,表明该页面为操作出错提示页面。
(2)<imp0rtX/imp0rt>,主要用于表明并导入当前页面绑定的Iua脚本:
中的据P本为〃 script\error",艮口 script 目录下 error. Iua 据P本。(3)〈group id= 〃 Iua action" X/group〉,此标签主要用来描叙当前页面所有的action及其绑定的脚本方法。其中,action类别很多,本示例有“_entry”事件,“rsk_press”(按右软键)事件, 分另定白勺errorpage. entry ()禾口 errorpage. goback()。G)<mttbarX/mttbar>,此标签用于描叙界面底部的softkeybar (软键)的显示内容。本示例中右软键为“返回”。界面显示参见图3。上述标签仅为部分实例,具体应用时,可以扩展更多标签,并一一对其绑定脚本方法,实现更大的弹性或扩展性。Lua 脚本[error. Iua]具体如下-Lua scripterrorpage = {}__setup variableserrorpage. index = 0function errorpage. entry ()str = C_WIDGET_ENTRY ;//Iua entry 事件字符串ui. trace (str) ;//打印当前已经调用了 entry事件endfunction errorpage. goback()trace (" rsk event goback");ui. IoadC mtt_config. wml");
end其中,脚本里调用的ui. trace和ui. load方法,是Web引擎注册给Iua的方法,分别用于打印信息,以及加载另外一个wml页面。脚本里的trace的方法,是嵌入式终端注册给Iua的本地方法,以方便Iua引擎进行本地操作。基于上述程序,信息交互的过程具体包括Web引擎解析上述页面时,解析〈importX/import〉标签时,会立即去加载当前页面所绑定的脚本error, lua,然后解析到〈group id = 〃 Iua action" X/group>标签以及标签内容时,则解析页面所包含的action并与其脚本方法绑定起来,页面加载完毕立即执行相应的_entry事件,调用其绑定的errorpage. entry方法完成一些必要的初始化,然后,当接收到用户触发按右软键(rsk_press)的动作,则调用其绑定的errorpage. goback 方法,返回上一级界面,完成一次出错提示。本实施例提供的方法,通过Web引擎判断当前页面绑定脚本的脚本类型,如果该脚本类型是Um脚本,通过Iua引擎加载绑定的该Um脚本,接收用户请求、并解析该当前页面中该请求对应的动作,通过该Iua引擎,执行该动作绑定的该Um脚本的方法,实现了 Iua脚本与页面技术的结合,从而节约了内存资源、提高了程序的交互性和执行效率。另外, 注册嵌入式平台本地接口给脚本,极大扩展了脚本的能力与弹性,有效地实现了网页软件化,并利用Iua与c/c++无缝结合的特性、强大的交互特性、高执行效率特性,构建了一个强大的插件化应用平台,为嵌入式终端浏览器增添了亮点,给用户带来更有价值的无线互联网服务。实施例2参见图4,本实施例提供了一种Web引擎,包括判断模块301,用于判断当前页面绑定脚本的脚本类型;加载模块302,用于如果判断模块301判断的脚本类型是Iim脚本,通过Iim引擎加载绑定的Iua脚本;解析模块303,用于加载模块302加载完Iua脚本后,接收用户请求、并解析当前页面中该请求对应的动作;执行模块304,用于通过Iua引擎,执行解析模块303解析的动作绑定的Iua脚本的方法。参见图5,Web引擎还包括绑定模块305,用于执行该执行模块304的功能之前, 将当前页面包含的动作与Iua脚本的方法进行绑定。Web引擎是微件Widget引擎。本实施提供的Web引擎与方法实施例属于同一构思,其具体实现过程,详见方法实施例,这里不再赘述。本实施例通过Web引擎判断当前页面绑定脚本的脚本类型,如果该脚本类型是 Iim脚本,通过Iim引擎加载绑定的该Iim脚本,接收用户请求、并解析该当前页面中该请求对应的动作,通过该Iua引擎,执行该动作绑定的该Um脚本的方法,实现了 Iua脚本与页面技术的结合,从而节约了内存资源、提高了程序的交互性和执行效率。另外,利用Iua与 c/c++无缝结合的特性、强大的交互特性、高执行效率特性,构建了一个强大的插件化应用平台,为嵌入式终端浏览器增添了亮点,给用户带来更有价值的无线互联网服务。
实施例3参见图6,本实施例提供了一种嵌入式终端,包括Web引擎401、Iua引擎402和 Iua 脚本 403 ;Web 引擎 401 包括:判断模块301,用于判断当前页面绑定脚本的脚本类型;加载模块302,用于如果判断模块301判断的脚本类型是Iim脚本,通过Iim引擎 402加载绑定的Iua脚本403 ;解析模块303,用于加载模块302加载完Iua脚本403后,接收用户请求、并解析当前页面中该请求对应的动作;执行模块304,用于通过Iua引擎402,执行解析模块303解析的动作绑定的Iua 脚本403的方法。进一步的,Web引擎401还包括绑定模块305,用于执行该执行模块304的功能之前,将当前页面包含的动作与 Iua脚本403的方法进行绑定。进一步的,参见图7,该嵌入式终端还包括接口设置模块404,用于在Iua脚本403中设置本地应用程序编程接口 API,使Iua 引擎402通过所述本地API进行本地操作。其中,Web引擎401可以是微件Widget引擎。本实施提供的嵌入式终端,其所涉及的Web引擎、Iua引擎、Iua脚本和本地接口, 与方法实施例属于同一构思,其具体实现过程,详见方法实施例,这里不再赘述。本实施例通过Web引擎判断当前页面绑定脚本的脚本类型,如果该脚本类型是 Um脚本,通过Iua引擎加载绑定的该Iua脚本,接收用户请求、并解析该当前页面中该请求对应的动作,通过该Iua引擎,执行该动作绑定的该Um脚本的方法,实现了 Iua脚本与页面技术的结合,从而节约了内存资源、提高了程序的交互性和执行效率。另外,注册嵌入式平台本地接口给脚本,极大扩展了脚本的能力与弹性,有效地实现了网页软件化,并利用 Iua与c/c++无缝结合的特性、强大的交互特性、高执行效率特性,构建了一个强大的插件化应用平台,为嵌入式终端浏览器增添了亮点,给用户带来更有价值的无线互联网服务。以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如计算机中的硬盘、光盘或软盘。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于Iim脚本交互信息的方法,其特征在于,所述方法包括 Web引擎判断当前页面绑定脚本的脚本类型;如果所述脚本类型是Iua脚本,通过Iua引擎加载绑定的所述Iua脚本; 接收用户请求、并解析所述当前页面中所述请求对应的动作; 通过所述Iua引擎,执行所述动作绑定的所述Iua脚本的方法。
2.如权利要求1所述的方法,其特征在于,所述通过所述Iua引擎,执行所述动作绑定的所述Iua脚本的方法之前包括将所述当前页面包含的动作与所述Iua脚本的方法进行绑定。
3.如权利要求1所述的方法,其特征在于,所述方法还包括在所述Iua脚本中设置本地应用程序编程接口 API,使所述Iua引擎通过所述本地API 进行本地操作。
4.一种Web引擎,其特征在于,所述Web引擎包括 判断模块,用于判断当前页面绑定脚本的脚本类型;加载模块,用于如果所述判断模块判断的脚本类型是Iua脚本,通过Iim引擎加载绑定的所述Iua脚本;解析模块,用于所述加载模块加载完所述Iua脚本后,接收用户请求、并解析所述当前页面中所述请求对应的动作;执行模块,用于通过所述Iua引擎,执行所述解析模块解析的动作绑定的所述Iim脚本的方法。
5.如权利要求4所述的Web引擎,其特征在于,所述Web引擎还包括绑定模块,用于执行所述执行模块的功能之前,将所述当前页面包含的动作与所述Iua脚本的方法进行绑定。
6.如权利要求4或5所述的Web引擎,其特征在于,所述Web引擎是微件Widget引擎。
7.一种嵌入式终端,其特征在于,所述终端包括:Web引擎、Iua引擎和Iua脚本; 所述Web引擎包括判断模块,用于判断当前页面绑定脚本的脚本类型;加载模块,用于如果所述判断模块判断的脚本类型是Iua脚本,通过Iua引擎加载绑定的所述Iua脚本;解析模块,用于所述加载模块加载完所述Iua脚本后,接收用户请求、并解析所述当前页面中所述请求对应的动作;执行模块,用于通过所述Iua引擎,执行所述解析模块解析的动作绑定的所述Iua脚本的方法。
8.如权利要求7所述的终端,其特征在于,所述Web引擎还包括绑定模块,用于执行所述执行模块的功能之前,将所述当前页面包含的动作与所述Iua脚本的方法进行绑定。
9.如权利要求7所述的终端,其特征在于,所述终端还包括接口设置模块,用于在所述Um脚本中设置本地应用程序编程接口 API,使所述Iua引擎通过所述本地API进行本地操作。
10.如权利要求7-9任一权利要求所述的终端,其特征在于,所述Web引擎是微件 Widget 引擎。
全文摘要
本发明公开了一种基于lua脚本交互信息的方法、Web引擎和嵌入式终端,属于计算机领域。所述方法包括Web引擎判断当前页面绑定脚本的脚本类型;如果所述脚本类型是lua脚本,通过lua引擎加载绑定的所述lua脚本;接收用户请求、并解析所述当前页面中所述请求对应的动作;通过所述lua引擎,执行所述动作绑定的所述lua脚本的方法。所述Web引擎包括判断模块、加载模块、解析模块和执行模块。所述嵌入式终端包括Web引擎、lua引擎和lua脚本。本发明通过上述方法,实现了lua脚本与页面技术的结合,从而节约了内存资源、提高了程序的交互性和执行效率。
文档编号G06F9/44GK102253946SQ20101017965
公开日2011年11月23日 申请日期2010年5月20日 优先权日2010年5月20日
发明者古佳, 吴志华, 邱会发, 邱璇 申请人:腾讯科技(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1