[发明专利]一种动态加载JavaScript模块的方法及系统在审
| 申请号: | 201710500521.7 | 申请日: | 2017-06-27 |
| 公开(公告)号: | CN107329785A | 公开(公告)日: | 2017-11-07 |
| 发明(设计)人: | 谢鹏 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445 |
| 代理公司: | 北京集佳知识产权代理有限公司11227 | 代理人: | 罗满 |
| 地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 动态 加载 javascript 模块 方法 系统 | ||
技术领域
本发明涉及存储管理领域,特别涉及一种存储管理软件动态加载JavaScript模块的方法及系统。
背景技术
存储管理软件可以方便用户使用并提高存储器利用率,在存储管理软件中,需要支持页面各模块的静态内容提取拼接功能,也就是说,一个页面由各个模块按需组合而成,一个请求进来,管理软件会并发地处理这些模块,最后再组合成一个完整的页面返回给客户。但是,如果将页面分为多个模块,模块过多会带来阻碍页面渲染的问题。
为了解决上述问题,在现有技术中,浏览器支持JavaScript并行下载,也就是说对所有模块进行下载,但是由于浏览器不能保证下载的执行顺序,会导致加载完成的模块准备执行时,部分依赖模块还没有下载完成,进而造成在页面渲染时页面加载不全甚至是加载不出的问题。
因此,如何加快JavaScript模块加载速度且保证渲染时页面全部加载完成,是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种存储管理软件动态加载JavaScript模块的方法及系统,加快JavaScript模块加载速度且保证渲染时页面全部加载完成。
为解决上述技术问题,本申请提供一种存储管理软件动态加载JavaScript模块的方法及系统,该方法包括:
接收动态加载资源的命令,其中,所述命令中携带有用户的请求信息;
根据所述请求信息,加载相应的所述JavaScript模块,并绑定完成事件,其中,所述完成事件用于通知加载所述JavaScript模块已完成;
判断所述JavaScript模块是否存在依赖子模块,如果是,则加载所述依赖子模块,并在所述依赖子模块上绑定所述完成事件;
当所述JavaScript模块及所述依赖子模块加载完成,触发所述完成事件。
可选的,加载相应的所述JavaScript模块包括:
通过use方法判断缓存中是否存有所述JavaScript模块;
若存在,则从所述缓存中获取所述JavaScript模块;
若不存在,则创建、加载所述JavaScript模块。
可选的,创建、加载所述JavaScript模块包括:
以所述JavaScript模块的地址作为ID创建所述JavaScript模块对应的代码;
通过创建script标签的方式异步加载所述代码。
可选的,加载所述依赖子模块,并在所述依赖子模块上绑定所述完成事件包括:
加载第一依赖等级子模块,并判断所述第一依赖等级子模块是否依赖更高依赖级别的依赖子模块;
如果是,则加载更高依赖级别的依赖子模块,并在所述更高依赖级别的依赖子模块上绑定所述完成事件,其中,所述第一依赖等级子模块为依赖等级最低的依赖子模块。
可选的,当所述JavaScript模块及所述依赖子模块加载完成,触发所述完成事件包括:
当依赖等级最高的依赖子模块加载完成,按依赖等级从高到低的顺序依次触发各依赖子模块和所述JavaScript模块绑定的所述完成事件。
本申请还提供了一种存储管理软件动态加载JavaScript模块的系统,所述系统包括:
接收模块,用于接收动态加载资源的命令,其中,所述命令中携带有用户的请求信息;
加载模块,用于根据所述请求信息,加载相应的所述JavaScript模块,并绑定完成事件,其中,所述完成事件用于通知加载所述JavaScript模块已完成;
判断模块,用于判断所述JavaScript模块是否存在依赖子模块,如果是,则加载所述依赖子模块,并在所述依赖子模块上绑定所述完成事件;
反馈模块,用于当所述JavaScript模块及所述依赖子模块加载完成,触发所述完成事件。
可选的,加载模块包括:
入口加载单元,用于通过use方法加载所述JavaScript模块的入口模块;
缓存检测单元,用于通过所述use方法判断缓存中是否存有所述JavaScript模块;
若存在,则从所述缓存中获取所述JavaScript模块;
若不存在,则创建、加载所述JavaScript模块。
可选的,所述缓存检测单元包括:
ID创建子单元,用于以所述JavaScript模块的地址作为ID创建所述JavaScript模块对应的代码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710500521.7/2.html,转载请声明来源钻瓜专利网。





