[发明专利]Javascript中调用二进制组件的方法有效
申请号: | 201310367174.7 | 申请日: | 2013-08-21 |
公开(公告)号: | CN104423932B | 公开(公告)日: | 2018-03-16 |
发明(设计)人: | 贾靖;陈冬晓;宋宇培 | 申请(专利权)人: | 上海科泰世纪科技有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 201203 上海市张江高*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | javascript 调用 二进制 组件 方法 | ||
1.一种Javascript中调用二进制组件的方法,应用于Javascript引擎中,其特征在于,该方法包括以下步骤以Javascript引擎的异常拦截方式实现调用二进制组件:
判定步骤:Javascript引擎获取Javascript语句中的字符串并判定该字符串是否为Javascript语言节点;
拦截步骤:若该字符串不是Javascript语言节点,Javascript引擎的异常拦截器拦截并获取该字符串;
检索步骤:从二进制组件的加载路径中查询是否存在该字符串对应的二进制组件;
创建步骤:当二进制组件的加载路径中存在与该字符串对应的二进制组件时,创建该字符串对应的二进制组件对象并封装为Javascript对象。
2.如权利要求1所述的Javascript中调用二进制组件的方法,其特征在于,该方法还包括:当判定Javascript语句中的字符串为Javascript语言节点,Javascript引擎解释并执行该Javascript语句。
3.如权利要求1所述的Javascript中调用二进制组件的方法,其特征在于,该方法还包括:当二进制组件的加载路径中未查询到该字符串对应的二进制组件时,Javascript引擎进行异常报错处理。
4.如权利要求1所述的Javascript中调用二进制组件的方法,其特征在于,该方法还以XPCOM组件封装二进制组件的方式实现调用二进制组件,包括以下步骤:
注册步骤:注册一个封装所有二进制组件的XPCOM组件;
重写步骤:重写该XPCOM组件创建对象的方法;
判定步骤:当Javascript引擎调用XPCOM组件对象的方法时,若调用方法的对象为上述XPCOM组件封装的二进制组件创建的对象,则使用二进制组件内部自建的方法调用该对象的方法,若调用方法的对象为标准XPCOM组件创建的对象,则调用XPCOM的标准Call方法调用该对象的方法。
5.如权利要求1或4所述的Javascript中调用二进制组件的方法,其特征在于,当调用的二进制组件为CAR组件,在Javascript脚本中使用CAR组件的回调机制,实现在Javascript中回调函数的同步和异步回调。
6.如权利要求5所述的Javascript中调用二进制组件的方法,其特征在于,该方法还包括:当调用的二进制组件为CAR组件,Javascript引擎在初始化时,创建一个回调执行线程执行回调事件的回调函数。
7.如权利要求6所述的Javascript中调用二进制组件的方法,其特征在于,当调用CAR组件对象的方法而触发回调事件时,该回调事件的回调函数的执行过程为:
当该回调事件属性为同步时,若同步回调事件关联的回调函数为Javascript函数则由Javascript引擎主线程直接执行该回调函数,若同步回调事件关联的回调函数非Javascript函数则由回调执行线程执行该回调函数;
当该回调事件属性是异步时,Javascript主线程发送该回调事件给回调执行线程,回调执行线程捕捉该异步回调事件,若该异步回调事件关联的回调函数为Javascript函数,则回调执行线程将该异步回调事件和回调函数打包并回抛给Javascript引擎主线程,若该异步回调事件关联的回调函数非Javascript函数,则由回调执行线程执行该回调函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海科泰世纪科技有限公司,未经上海科泰世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310367174.7/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种生成测试脚本的方法及系统
- 下一篇:一种分支预测方法及相关装置