代码修复方法、装置、电子设备及存储介质与流程

文档序号:27493504发布日期:2021-11-22 15:18阅读:187来源:国知局
代码修复方法、装置、电子设备及存储介质与流程

1.本技术涉及计算机技术领域,具体而言,涉及一种代码修复方法、装置、电子设备及存储介质。


背景技术:

2.用户通过浏览器访问web系统,web系统所有交互都离不开javascript,javascript担当了数据传输的职责,所以若javascript终止运行时web页面停止工作,影响用户访问web系统。
3.现有技术中,javascript是运行在引擎里,不同浏览器厂商配置有不同的引擎,而javascript不能够适配所有的引擎,且javascript是弱类型语言,因此javascript容易发生代码错误。


技术实现要素:

4.本技术实施方式的目的在于提供一种代码修复方法,用于对页面脚本文件进行代码修复。
5.本技术实施方式提供了一种代码修复方法,包括:
6.接收客户端发送的页面脚本文件的代码修复请求;其中,代码修复请求中包含代码错误文件链接、代码错误位置及代码错误类型;
7.根据代码修复请求确定代码修复方法,并根据代码修复方法修复错误代码;
8.修复完成后向客户端返回修复完成通知,触发客户端重新加载页面脚本文件。
9.在一实施方式中,根据代码修复请求确定代码修复方法,并根据代码修复方法修复错误代码包括:
10.根据代码修复请求指示的代码错误类型,查找与代码错误类型所对应的正则表达式,根据正则表达式修复错误代码。
11.在一实施方式中,接收客户端发送的页面脚本文件的代码修复请求之前,所述方法还包括:
12.接收与代码错误类型相对应的正则表达式。
13.本技术实施方式提供了一种代码修复方法,包括:
14.当页面脚本文件出现报错时,向服务端发送代码修复请求;其中,代码修复请求中包含代码错误文件链接、代码错误位置及代码错误类型;
15.接收服务端根据代码修复请求返回的修复完成通知;
16.响应于修复完成通知,从服务端重新加载页面脚本文件。
17.在一实施方式中,当页面脚本文件出现报错时,向服务端发送代码修复请求之前,所述方法还包括:
18.注册错误触发事件;
19.当检测到错误触发事件时,确定页面脚本文件出现报错。
20.本技术实施方式提供了一种代码修复方法,包括:
21.当客户端页面脚本文件出现报错时,所述客户端向服务端发送代码修复请求;其中,代码修复请求中包含代码错误文件链接、代码错误位置及代码错误类型;
22.服务端根据代码修复请求确定代码修复方法,并根据代码修复方法修复错误代码;
23.客户端接收服务端根据代码修复请求返回的修复完成通知,响应于修复完成通知,从服务端重新加载页面脚本文件。
24.本技术实施方式提供了一种代码修复装置,包括:
25.第一接收模块,用于接收客户端发送的页面脚本文件的代码修复请求;其中,代码修复请求中包含代码错误文件链接、代码错误位置及代码错误类型;
26.修复模块,用于根据代码修复请求确定代码修复方法,并根据代码修复方法修复错误代码;
27.通知模块,用于修复完成后向客户端返回修复完成通知,触发客户端重新加载页面脚本文件。
28.本技术实施方式提供了一种代码修复装置,包括:
29.发送模块,用于当页面脚本文件出现报错时,向服务端发送代码修复请求;其中,代码修复请求中包含代码错误文件链接、代码错误位置及代码错误类型;
30.第二接收模块,用于接收服务端根据代码修复请求返回的修复完成通知;
31.加载模块,用于响应于修复完成通知,从服务端重新加载页面脚本文件。
32.本技术实施方式提供了一种电子设备,包括:
33.处理器;
34.用于存储处理器可执行指令的存储器;
35.其中,所述处理器被配置为执行上述代码修复方法。
36.本技术实施方式提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序可有处理器执行以完成上述代码修复方法。
37.本技术上述实施方式提供的技术方案,可以通过代码修复请求确定代码错误类型,并根据所述代码错误类型所对应的正则表达式修复错误代码,从而不影响用户访问页面,使网页页面正常运转。
附图说明
38.为了更清楚地说明本技术实施方式的技术方案,下面将对本技术实施方式中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施方式,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
39.图1为本技术一实施方式提供的代码修复方法的应用场景示意图;
40.图2为本技术一实施方式提供的电子设备的结构示意图;
41.图3为本技术一实施方式提供的代码修复方法的流程示意图;
42.图4为本技术一实施方式提供的代码修复装置的框图;
43.图5为本技术一实施方式提供的代码修复装置的框图。
具体实施方式
44.下面将结合本技术实施方式中的附图,对本技术实施方式中的技术方案进行描述。
45.相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
46.图1为本技术一实施方式提供的代码修复方法的应用场景示意图。如图1所示,该方法可以包括客户端10及服务端20。客户端10可以是智能手机、笔记本电脑或台式电脑等,服务端20可以为台式电脑等。客户端10及服务端20通过有线或无线网络连接。客户端10及服务端20可用于执行下述代码修复方法。
47.图2为本技术一实施方式提供的电子设备的结构示意图。该电子设备30可以是上述客户端10或服务端20,该电子设备30可以用于执行本技术实施例提供的代码修复方法。如图2所示,该电子设备30包括:一个或多个处理器33、一个或多个存储处理器可执行指令的存储器31,处理器33及存储器31通过总线32连接。其中,所述处理器33被配置为执行本技术下述实施例提供的代码修复方法。
48.所述处理器33可以是包含中央处理单元(cpu)、图像处理单元(gpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元的设备,可以对所述电子设备30中的其它组件的数据进行处理,还可以控制所述电子设备30中的其它组件以执行期望的功能。
49.所述存储器31可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器33可以运行所述程序指令,以实现下文所述的代码修复方法。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。
50.图3为本技术一实施方式提供的代码修复方法的流程示意图。如图3所示,该方法可以包括以下步骤s210

s230。
51.步骤s210:当客户端页面脚本文件出现报错时,客户端向服务端发送代码修复请求;其中,代码修复请求中包含错误文件链接、代码错误位置及代码错误类型。
52.当用户访问web系统时,web系统中的页面脚本文件可能会出现报错现象,使得web系统停止运行,影响用户访问web系统,报错现象是因页面脚本文件中存在错误代码导致,因此当web系统中的页面脚本文件出现报错现象时,需修复页面脚本文件中的错误代码。而页面脚本文件是由javascript代码组成,故需修复javascript的错误代码。
53.当客户端页面脚本文件出现报错时,客户端会向服务端发送代码修复请求,代码修复请求中包含错误文件链接、代码错误位置及代码错误类型;其中,错误文件链接及代码错误位置可帮助服务端精确定位出错误代码位置,代码错误类型便于服务端确定错误代码的代码错误类型,利于服务端更好的修复错误代码。
54.客户端确定页面脚本文件出现报错现象的方法如下:
55.客户端注册错误触发事件,当检测到错误触发事件时,确定页面脚本文件出现报
错。
56.其中,错误触发事件为客户端注册的操作事件,其含义为当客户端中的页面脚本文件出现报错现象时,上述操作事件会被触发,因此当检测到上述错误触发事件时,客户端可确定页面脚本文件出现报错。
57.步骤s220:服务端根据代码修复请求确定代码修复方法,并根据代码修复方法修复错误代码。
58.服务端修复错误代码的具体方式为:
59.服务端会根据代码修复请求指示的代码错误类型,查找与代码错误类型所对应的正则表达式,并根据正则表达式修复错误代码。
60.其中,服务端在收到代码修复请求后会对其进行解析,确定出代码错误位置及代码错误类型,每种代码错误类型会对应一种代码修复方法,本技术中的修复方法为使用正则表达式修复错误代码,每种代码错误类型均配有相应的正则表达式,具体的修复手段为通过正则表达式进行查找替换。
61.举例来说,页面脚本文件中常见代码错误类型及修复方法如下:
62.(1)uncaught urierror:当页面脚本文件在运行过程中出现此报错现象时,证明页面脚本文件中存在uri错误,此时的修复方法为正则表达式通过代码修复请求定位到错误代码位置,并将错误代码替换为空语句,以删除uri错误代码,使页面脚本文件能够正常运行;
63.(2)uncaught syntaxerror:当页面脚本文件在运行过程中出现此报错现象时,证明页面脚本文件中存在引用错误,即代码中存在所引用的对象属性其所属对象为空现象,此时的修复方法为正则表达式通过代码修复请求定位到错误代码位置,并在代码中引用对象属性处增加一判断语句,使得页面脚本文件执行上述引用对象属性操作时,会先判断所引用的对象属性其所属对象是否为空,只有当上述对象存在时,才会执行引用对象属性的操作;
64.(3)uncaught typeerror:当页面脚本文件在运行过程中出现此报错现象时,证明页面脚本文件中存在溢出错误,即存在变量的实际大小大于客户端为其分配的存储空间大小,使得出现变量溢出现象,此时的修复方法为正则表达式通过代码修复请求定位到错误代码位置,重新为出现变量溢出情况的变量分配存储空间,消除上述溢出错误;
65.(4)uncaught rangeerror:当页面脚本文件在运行过程中出现此报错现象时,证明页面脚本文件中存在赋值错误,举例来说,页面脚本文件中存在变量a及变量b,变量b的赋值依赖于变量a,但脚本文件中并未对变量a进行赋值操作,因此时会出现上述报错现象;此时的修复方法为正则表达式通过代码修复请求定位到错误代码位置,并在代码中变量b处增加一判断语句,使得页面脚本文件执行上述赋值语句时,会先判断是否对变量a进行赋值操作,只有当对变量a进行赋值操作时,才会执行对变量b的赋值操作,以消除上述赋值错误;
66.(5)uncaught referenceerror:当页面脚本文件在运行过程中出现此报错现象时,证明页面脚本文件中存在uri错误,此时的修复方法为正则表达式通过代码修复请求定位到错误代码位置,并将错误代码替换为空语句,以删除uri错误代码,使页面脚本文件能够正常运行;
67.(6)uncaught evalerror:当页面脚本文件在运行过程中出现此报错现象时,证明页面脚本文件中存在eval语法错误,此时的修复方法为正则表达式通过代码修复请求定位到错误代码位置,并将eval语句替换为空语句,以删除eval错误代码,以消除eval语法错误。
68.由此看出使用正则表达式可修复页面脚本文件中的错误代码,使得页面脚本文件能够正常运转,使用户正常访问web系统。
69.步骤s230:客户端接收服务端根据代码修复请求返回的修复完成通知,客户端响应于修复完成通知,从服务端重新加载页面脚本文件。
70.服务端修复完成后会向客户端返回一修复完成通知,以触发客户端重新加载页面脚本文件,使网页页面能够正常运转。
71.本技术一实施方式中提供了一种代码修复方法,其通过正则表达式修复网页页面脚本文件中的错误代码,使用户能够正常访问web系统,网页页面能够正常运转。
72.图4为本技术一实施方式提供的代码修复装置的框图。如图4所示,该装置包括第一接收模块310、修复模块320及通知模块330。
73.第一接收模块310,用于接收客户端发送的页面脚本文件的代码修复请求;其中,代码修复请求中包含代码错误文件链接、代码错误位置及代码错误类型;
74.修复模块320,用于根据代码修复请求确定代码修复方法,并根据代码修复方法修复错误代码;
75.通知模块330,用于修复完成后向客户端返回修复完成通知,触发客户端重新加载所述页面脚本文件。
76.图5为本技术一实施方式提供的代码修复装置的框图。如图5所示,该装置包括发送模块410、第二接收模块420及加载模块430。
77.发送模块410,用于当页面脚本文件出现报错时,向服务端发送代码修复请求;其中,代码修复请求中包含代码错误文件链接、代码错误位置及代码错误类型;
78.第二接收模块420,用于接收服务端根据代码修复请求返回的修复完成通知;
79.加载模块430,用于响应于修复完成通知,从服务端重新加载页面脚本文件。
80.上述装置中各个模块的功能和作用的实现过程具体详见上述代码修复方法中对应步骤的实现过程,在此不再赘述。
81.在本技术所提供的几个实施方式中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施方式仅仅是示意性的,例如,附图中的流程图和框图显示了根据本技术的多个实施方式的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
82.另外,在本技术各个实施方式中的各功能模块可以集成在一起形成一个独立的部
分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
83.功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施方式方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1