ES新特性支持方法、装置、设备及可读存储介质制造方法及图纸

技术编号:35477870 阅读:13 留言:0更新日期:2022-11-05 16:27
本发明专利技术提供一种ES新特性支持方法、装置、设备及可读存储介质,ES新特性支持方法包括:当检测到JavaScript引擎抛出异常时,获取异常的错误对象、错误类型和上下文执行环境;根据所述错误对象和所述错误类型,在预制数据库中查找新特性代码;若查找到,则在所述上下文执行环境中对所述新特性代码进行编译和运行。通过本发明专利技术,解决了JavaScript引擎所抛出的,JavaScript引擎不支持采用ES新特性编写的代码而导致的异常问题,实现了无需更新浏览器的内核版本,快速地支持ES的新特性。快速地支持ES的新特性。快速地支持ES的新特性。

【技术实现步骤摘要】
ES新特性支持方法、装置、设备及可读存储介质


[0001]本专利技术涉及互联网前端
,尤其涉及一种ES新特性支持方法、装置、设备及可读存储介质。

技术介绍

[0002]ECMAScript(简称ES)是由ECMA(European Computer Manufacturers Association,前身为欧洲计算机制造商协会)国际在标准ECMA

262中定义的脚本语言规范,而JavaScript(简称JS)是基于ECMA

262标准的实现和扩展,目前主流的浏览器的JavaScript引擎都实现了ES规范,自2015年发布ES6起,ES每年都会添加少量新的特性,当前已经更新到ES12,浏览器也在不断发布新版本来迅速响应并支持这些ES新特性。
[0003]因互联网前端技术发展迅速,经常会遇到当前使用的浏览器版本不支持采用ES新特性编写的代码,此时就会导致各种异常问题,如浏览器加载的页面加载显示不全、页面链接点击无响应及功能缺失等,通常的解决措施是更新浏览器内核版本,用于解决浏览器的内核对ES新特性不支持的问题,然而浏览器内核的源码庞大,特别是对于二次开发的浏览器,将面临着迭代版本难度大、开发周期长及维护成本高等问题。

技术实现思路

[0004]本专利技术的主要目的在于提供一种ES新特性支持方法、装置、设备及可读存储介质,旨在解决当ES发布新特性时,若浏览器内核版本未及时更新,不支持采用ES新特性编写的代码,从而导致页面浏览出现异常的技术问题。
>[0005]第一方面,本专利技术提供一种ES新特性支持方法,所述ES新特性支持方法包括:
[0006]当检测到JavaScript引擎抛出异常时,获取异常的错误对象、错误类型和上下文执行环境;
[0007]根据所述错误对象和所述错误类型,在预制数据库中查找新特性代码;
[0008]若查找到,则在所述上下文执行环境中对所述新特性代码进行编译和运行。
[0009]可选的,所述根据所述错误对象和所述错误类型,在预制数据库中查找新特性代码包括:
[0010]在预制数据库中确定所述错误对象对应的数据表;
[0011]在确定的数据表中查找所述错误类型对应的新特性代码。
[0012]可选的,所述在所述上下文执行环境中对所述新特性代码进行编译和运行包括:
[0013]将所述新特性代码编译为字节码;
[0014]在所述上下文执行环境中运行编译后的字节码。
[0015]可选的,所述ES新特性支持方法还包括:
[0016]获取新特性代码;
[0017]在JavaScript引擎初始化时,加载所述新特性代码,以供将所述新特性代码转化为JavaScript引擎可识别的全局对象。
[0018]可选的,所述获取新特性代码包括:
[0019]获取预制数据库中浏览器内核版本缺少部分的新特性代码。
[0020]第二方面,本专利技术还提供一种ES新特性支持装置,所述ES新特性支持装置包括:
[0021]检测模块,用于当检测到JavaScript引擎抛出异常时,获取异常的错误对象、错误类型和上下文执行环境;
[0022]查找模块,用于根据所述错误对象和所述错误类型,在预制数据库中查找新特性代码;
[0023]编译模块,用于若查找到,则在所述上下文执行环境中对所述新特性代码进行编译和运行。
[0024]可选的,所述查找模块,用于:
[0025]在预制数据库中确定所述错误对象对应的数据表;
[0026]在确定的数据表中查找所述错误类型对应的新特性代码。
[0027]可选的,所述编译模块,用于:
[0028]将所述新特性代码编译为字节码;
[0029]在所述上下文执行环境中运行编译后的字节码。
[0030]第三方面,本专利技术还提供一种ES新特性支持设备,所述ES新特性支持设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的ES新特性支持程序,其中所述ES新特性支持程序被所述处理器执行时,实现如上述所述的ES新特性支持方法的步骤。
[0031]第四方面,本专利技术还提供一种可读存储介质,所述可读存储介质上存储有ES新特性支持程序,其中所述ES新特性支持程序被处理器执行时,实现如上述所述的ES新特性支持方法的步骤。
[0032]本专利技术中,当检测到JavaScript引擎抛出异常时,获取异常的错误对象、错误类型和上下文执行环境;根据所述错误对象和所述错误类型,在预制数据库中查找新特性代码;若查找到,则在所述上下文执行环境中对所述新特性代码进行编译和运行。本专利技术通过首先检测拦截JavaScript引擎抛出的异常,在拦截到JavaScript引擎抛出的异常后,获取所拦截到的异常的错误对象、错误类型和上下文执行环境,预先将最新的ES的新特性代码存储在预制的数据库中,根据错误对象和错误类型,在预制的数据库中查找对应的新特性代码,如果查找到了对应的新特性代码,则将新特性代码,在上下文执行环境中进行编译和运行,从而解决了JavaScript引擎所抛出的,JavaScript引擎不支持采用ES新特性编写的代码而导致的异常问题,返回后JavaScript引擎继续执行接下来的代码,在经过编译和运行后,从预制数据库中获取的新特性代码将转换为JavaScript引擎可识别的全局对象,通过本专利技术,能够无需更新浏览器的内核版本,也可以快速地支持ES的新特性。
附图说明
[0033]图1为本专利技术ES新特性支持设备一实施例的硬件结构示意图;
[0034]图2为本专利技术ES新特性支持方法一实施例的流程示意图;
[0035]图3为图2中步骤S20的细化流程示意图;
[0036]图4为本专利技术ES新特性支持方法一实施例的预制数据库结构示意图;
[0037]图5为图2中步骤S30的细化流程示意图;
[0038]图6为本专利技术ES新特性支持装置一实施例的功能模块示意图。
[0039]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0040]应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。
[0041]第一方面,本专利技术实施例提供一种ES新特性支持设备。
[0042]参照图1,图1为本专利技术ES新特性支持设备一实施例的硬件结构示意图。本专利技术实施例中,ES新特性支持设备可以包括处理器1001(例如中央处理器Central Processing Unit,CPU),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真WIreless

FI本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种ES新特性支持方法,其特征在于,所述ES新特性支持方法包括:当检测到JavaScript引擎抛出异常时,获取异常的错误对象、错误类型和上下文执行环境;根据所述错误对象和所述错误类型,在预制数据库中查找新特性代码;若查找到,则在所述上下文执行环境中对所述新特性代码进行编译和运行。2.如权利要求1所述的ES新特性支持方法,其特征在于,所述根据所述错误对象和所述错误类型,在预制数据库中查找新特性代码包括:在预制数据库中确定所述错误对象对应的数据表;在确定的数据表中查找所述错误类型对应的新特性代码。3.如权利要求1所述的ES新特性支持方法,其特征在于,所述在所述上下文执行环境中对所述新特性代码进行编译和运行包括:将所述新特性代码编译为字节码;在所述上下文执行环境中运行编译后的字节码。4.如权利要求1所述的ES新特性支持方法,其特征在于,所述ES新特性支持方法还包括:获取新特性代码;在JavaScript引擎初始化时,加载所述新特性代码,以供将所述新特性代码转化为JavaScript引擎可识别的全局对象。5.如权利要求4所述的ES新特性支持方法,其特征在于,所述获取新特性代码包括:获取预制数据库中浏览器内核版本缺少部分的新特性代码。6.一种ES新特性支持...

【专利技术属性】
技术研发人员:杨娟陈世庆
申请(专利权)人:烽火通信科技股份有限公司
类型:发明
国别省市:

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

1