基于Localstroage的静态资源的缓存方法及其系统与流程

文档序号:11830426阅读:来源:国知局

技术特征:

1.基于Localstroage的静态资源的缓存方法,其特征在于,包括以下具体步骤:

步骤一、源码保存步骤,页面初次加载时,将页面的代码保存到Localstroage中;

步骤二、版本号保存步骤,在整个页面上利用cookie保存一个版本号信息,并存储一个MD5的版本号;

步骤三、对比判断步骤,第二次访问页面,引入版本号信息,将当前页面的文件版本号与步骤二中的版本号对比,判断代码是否更新,当代码更新时,执行步骤四,当代码无更新时,执行步骤五;

步骤四、代码更新步骤,重新下发有变更的代码,并将当前的代码重新保存到Localstroage内,覆盖原先的数据,更新版本号,得到一个新的版本号;

步骤五、代码执行步骤,解析本地Localstroage并读取代码,执行下发代码;

步骤六、结束步骤,重复步骤三,直至页面不再加载。

2.根据权利要求1所述的基于Localstroage的静态资源的缓存方法,其特征在于,所述步骤一中,页面初次加载时,需要进行嵌标签步骤,先将页面中的js和css嵌入script和style标签,以此把代码存入Localstroage中。

3.根据权利要求1或2所述的基于Localstroage的静态资源的缓存方法,其特征在于,所述步骤三中,引入的版本号信息为版本号信息中的config.js。

4.根据权利要求3所述的基于Localstroage的静态资源的缓存方法,其特征在于,所述步骤四中,在进行重新下发有变更的代码时,需要进行缓存代码分层步骤,将需要缓存的代码分为通用代码以及业务代码。

5.根据权利要求4所述的基于Localstroage的静态资源的缓存方法,其特征在于,所述步骤四中,更新版本号的具体步骤如下:

步骤1、第一判断步骤,进入页面后,判断页面中是否存在缓存版本的cookie,若页面中存在缓存版本的cookie,则执行步骤2,若页面中不存在缓存版本的cookie,则执行步骤5;

步骤2、第二判断步骤,判断cookie中版本是否为最新版本,当cookie中存在过期版本时,执行步骤3,当cookie的版本为最新版本时,执行步骤4;

步骤3、第一执行步骤,下发过期代码后,执行代码并将代码存入到Localstroage,同时重新设置cookie后,执行步骤6;

步骤4、第二执行步骤,cookie中的代码不会下发,同时执行存在Localstroage中的代码;

步骤5、第三执行步骤,全量下发cookie的版本信息,执行代码并将代码存入到Localstroage,同时重新设置cookie后,执行步骤6;

步骤6、结束步骤,重复步骤1,直至不再进入页面。

6.基于Localstroage的静态资源的缓存系统,其特征在于,包括源码保存模块、版本保存模块、对比判断模块、代码更新模块以及代码执行模块;

所述源码保存模块,用于当页面初次加载时,将页面的代码保存到Localstroage中;

所述版本保存模块,用于在源码保存模块保存代码后,在整个页面上利用cookie保存一个版本号信息,并存储一个MD5的版本号,与所述源码保存模块连接;

所述对比判断步骤,用于在所述版本保存模块存储版本号和版本号信息后,第二次访问页面时,引入版本号信息,将当前页面的文件版本号与版本保存模块存储版本号的版本号对比,判断代码是否更新,与所述版本保存模块连接;

所述代码更新模块,用于当所述对比判断模块判断代码有更新时,重新下发有变更的代码,并将当前的代码重新保存到Localstroage内,覆盖原先的数据,更新版本号,得到一个新的版本号,与所述对比判断模块连接;

所述代码执行模块,用于当所述对比判断模块判断代码无更新时,解析本地Localstroage并读取代码,执行下发代码,与所述对比判断模块连接。

7.根据权利要求6所述的基于Localstroage的静态资源的缓存系统,其特征在于,所述基于Localstroage的静态资源的缓存系统还包括嵌标签模块,用于将页面中的js和css嵌入script和style标签,与所述源码保存模块连接。

8.根据权利要求6或7所述的基于Localstroage的静态资源的缓存系统,其特征在于,所述基于Localstroage的静态资源的缓存系统包括缓存代码分层模块,用于所述对比判断模块判断代码有更新后,将需要缓存的代码分为通用代码以及业务代码,所述代码更新模块再进行重新下发有变更的代码,分别与所述对比判断模块以及所述代码更新模块连接。

9.根据权利要求8所述的基于Localstroage的静态资源的缓存系统,其特征在于,所述对比判断模块包括第一判断子模块、第二判断子模块、第一执行子模块、第二执行子模块以及第三执行子模块;

所述第一判断子模块,用于在所述版本保存模块存储版本号和版本号信息后,进入页面后,判断页面中是否存在缓存版本的cookie,与所述版本保存模块连接;

所述第二判断子模块,用于所述第一判断子模块判断页面中存在缓存版本的cookie,判断cookie中版本是否为最新版本,与所述第一判断子模块连接;

所述第一执行子模块,用于当所述第二判断子模块判断cookie中存在过期版本时,下发过期代码后,执行代码并将代码存入到Localstroage,同时重新设置cookie,分别与所述代码更新模块以及所述第二判断子模块连接;

所述第二执行子模块,用于当所述第二判断子模块判断cookie的版本为最新版本时,cookie中的代码不会下发,同时执行存在Localstroage中的代码,分别与所述代码更新模块以及所述第二判断子模块连接;

所述第三执行子模块,用于当所述第一判断子模块判断页面中不存在缓存版本的cookie时,全量下发cookie的版本信息,执行代码并将代码存入到Localstroage,同时重新设置cookie,分别与所述缓存代码分层模块以及所述第一判断子模块连接。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1