System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及计算机,尤其涉及一种运行第三方插件的方法、装置及存储介质。
技术介绍
1、在通用软件平台的售卖中,通用软件平台的功能往往无法满足客户全部要求,对于客户提出的不同定制化要求,通用软件平台的开发者也缺少人力去完成,此时,通用软件平台会提供第三方插件,客户可以通过第三方插件来拓展软件平台的内容,当用户在软件平台上添加第三方插件后,软件平台会获取远程的第三方插件的javascript代码,借助javascript的动态执行能力,加载第三方插件并执行第三方插件中的脚本,实现对软件平台的内容进行拓展。
2、但第三方插件的安全性较差,该插件可以直接使用网络获取软件平台页面上的任意内容,导致用户数据被窃取,且客户无法动态卸载该插件,需要在卸载该插件后重新加载页面才能使卸载操作生效,给客户带来不便。
技术实现思路
1、本专利技术所要解决的技术问题是:本专利技术提供一种运行第三方插件的方法、装置及存储介质,提高运行第三方插件的安全性的同时优化用户体验。
2、为了解决上述技术问题,本专利技术采用的技术方案为:
3、第一方面,本专利技术提供一种运行第三方插件的方法,包括:
4、在平台上集成虚拟机;
5、获取第三方插件的插件脚本内容,通过所述虚拟机加载并运行所述插件脚本内容,实现对所述第三方插件的运行。
6、本专利技术的有益效果在于:通过在平台上集成虚拟机,由虚拟机加载并运行第三方插件的插件脚本内容实现对第三方插件的运行,
7、可选地,所述在平台上集成虚拟机包括:
8、通过emscripten工具链将虚拟机编译成webassembly文件,获取前端设置的webassembly代码,使用所述webassembly代码在浏览器中加载所述webassembly文件,实现在平台上集成虚拟机。
9、根据上述描述可知,通过emscripten工具链将虚拟机编译成webassembly文件,并在浏览器中运行该文件,充分利用webassembly文件较高的性能和较好的移植性,使得浏览器应用程序的性能和功能都得到提升。
10、可选地,所述获取第三方插件的插件脚本内容包括:
11、接收前端输入的第三方插件的插件脚本内容,通过打包工具将所述插件脚本内容打包成静态文件,并将所述静态文件上传存储至远程服务器;
12、接收前端输入的第三方插件的启动请求,根据所述启动请求从所述远程服务器中获取与所述第三方插件对应的插件脚本内容。
13、根据上述描述可知,将第三方插件的插件脚本内容打包成静态文件存储到远程服务器,当需要启动第三方插件时,从远程服务器获取与之对应的插件脚本内容,降低系统存储压力的同时提高启动第三方插件的效率。
14、可选地,所述通过所述虚拟机加载并运行所述插件脚本内容包括:
15、接收前端输入的第三方插件的插件函数,基于所述插件函数对所述虚拟机进行初始化,得到初始化后的虚拟机;
16、通过初始化后的虚拟机中的插件函数加载并运行所述插件脚本内容。
17、根据上述描述可知,通过第三方插件的插件函数对虚拟机进行初始化,使得初始化后的虚拟机通过其插件函数加载并运行插件脚本内容,实现基于虚拟机运行第三方插件,提高第三方插件运行的可控性和安全性。
18、可选地,所述接收前端输入的第三方插件的插件函数,基于所述插件函数对所述虚拟机进行初始化包括:
19、当所述插件函数不存在于预设的白名单内时,则所述插件函数无效,弹出无效提醒,所述无效提醒用于对所述插件函数进行修改;
20、当所述函数存在于预设的白名单内时,则所述插件函数有效,基于所述插件函数对所述虚拟机进行初始化。
21、根据上述描述可知,未初始化的虚拟机默认未引入任意函数,前端用户可以自定义第三方插件可以使用的插件函数,但该插件函数需在预设的白名单内,若不存在预设的白名单内,则该插件函数无效,能防止前端用户使用危险函数导致平台异常,同时弹出无效提醒便于前端用户对无效的插件函数进行修改,优化用户体验。
22、可选地,所述插件函数包括超时回调函数,所述通过初始化后的虚拟机中的插件函数加载并运行所述插件脚本内容包括:
23、若在预设时间内加载所述插件脚本内容失败,则启动所述超时回调函数,通过所述超时回调函数加载并运行平台脚本内容。
24、根据上述描述可知,通过初始化后的虚拟机中插件函数加载插件脚本内容时,若在预设时间内加载失败,会启动超时回调函数加载并运行平台脚本内容,从而打破加载第三方插件的插件脚本内容失败时出现的死循环导致平台页面卡死的状态。
25、可选地,所述插件函数包括内存使用量限制函数,所述内存使用量限制函数用于限制所述虚拟机的内存使用量。
26、根据上述描述可知,可以通过使用内存使用量限制函数来限制虚拟机的内存使用量,防止第三方插件的插件脚本占用过多内存,拖累平台性能。
27、第二方面,本专利技术提供一种运行第三方插件的装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面所述的一种运行第三方插件的方法。
28、第三方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时,实现第一方面所述的一种运行第三方插件的方法。
29、其中,第二方面所提供的一种运行第三方插件的装置,和第三方面所提供的一种计算机可读存储介质,所对应的技术效果参照第一方面所提供的一种运行第三方插件的方法的相关描述。
本文档来自技高网...【技术保护点】
1.一种运行第三方插件的方法,其特征在于,包括:
2.如权利要求1所述的一种运行第三方插件的方法,其特征在于,所述在平台上集成虚拟机包括:
3.如权利要求1所述的一种运行第三方插件的方法,其特征在于,所述获取第三方插件的插件脚本内容包括:
4.如权利要求1所述的一种运行第三方插件的方法,其特征在于,所述通过所述虚拟机加载并运行所述插件脚本内容包括:
5.如权利要求4所述的一种运行第三方插件的方法,其特征在于,所述接收前端输入的第三方插件的插件函数,基于所述插件函数对所述虚拟机进行初始化包括:
6.如权利要求4所述的一种运行第三方插件的方法,其特征在于,所述插件函数包括超时回调函数,所述通过初始化后的虚拟机中的插件函数加载并运行所述插件脚本内容包括:
7.如权利要求4所述的一种运行第三方插件的方法,其特征在于,所述插件函数包括内存使用量限制函数,所述内存使用量限制函数用于限制所述虚拟机的内存使用量。
8.一种运行第三方插件的装置,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被执行时,实现如权利要求1至7中任一项所述的方法。
...【技术特征摘要】
1.一种运行第三方插件的方法,其特征在于,包括:
2.如权利要求1所述的一种运行第三方插件的方法,其特征在于,所述在平台上集成虚拟机包括:
3.如权利要求1所述的一种运行第三方插件的方法,其特征在于,所述获取第三方插件的插件脚本内容包括:
4.如权利要求1所述的一种运行第三方插件的方法,其特征在于,所述通过所述虚拟机加载并运行所述插件脚本内容包括:
5.如权利要求4所述的一种运行第三方插件的方法,其特征在于,所述接收前端输入的第三方插件的插件函数,基于所述插件函数对所述虚拟机进行初始化包括:
6.如权利要求4所述的一种运行第三方插件的方法,其特征在于...
【专利技术属性】
技术研发人员:杨明哲,
申请(专利权)人:福建福诺移动通信技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。