System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机,尤其涉及一种浏览器代码块加载方法、装置、设备、介质及程序产品。
技术介绍
1、用户访问浏览器时,通常采用的是单页面应用程序(single page application,spa)开发模式,在初始加载后就不再需要重新加载整个浏览器页面,而是通过异步更新和动态替换页面部分内容来展示不同的视图和功能。相关技术中的代码块加载方法在加载全球广域网(world wide web,web)页面时,会一次性加载全部补丁(polyfill)代码块,非当前应用页面或者模块所需的polyfill资源也被无效加载,而无法结合spa中异步加载和动态渲染的特点,加重了页面加载负担。
技术实现思路
1、本申请实施例提供一种浏览器代码块加载方法、装置、设备、介质及程序产品,以解决相关技术中代码块加载web页面的页面加载负担过重的问题。
2、为解决上述技术问题,本申请是这样实现的:
3、第一方面,本申请实施例提供了一种浏览器代码块加载方法,包括:
4、获取目标浏览器当前访问的目标系统中第一模块的第一标识信息,并基于所述第一标识信息确定第二标识信息,所述目标系统为目标浏览器所运行的系统,所述第二标识信息为第二模块对应的标识信息,所述第二模块为基于所述第一模块预测的所述目标浏览器访问的下一模块;
5、根据第一对应关系,确定所述第二标识信息对应的第一新特性列表,并从所述第二标识信息对应的第一新特性列表中筛选出不支持所述目标浏览器的第二新特性列表;其中,所
6、在所述第二标识信息与第三模块的标识信息一致的情况下,将所述第二新特性列表对应的补丁polyfill代码块输出至所述目标浏览器,其中,所述第三模块为所述目标浏览器实际访问的下一模块。
7、可选地,所述方法还包括:
8、获取所述目标系统中的各个模块的代码文件;
9、对所述目标系统中的各个模块的代码文件进行预处理,获取所述目标系统中的各个模块对应的所述第一新特性列表;
10、在所述目标浏览器访问所述目标系统的情况下,获取所述目标系统中各个模块对应的标识信息;其中,所述目标系统中的每一模块对应一个标识信息,所述目标系统中任意两个模块各自对应的标识信息不同;
11、根据所述目标系统中各个模块对应的标识信息和所述目标系统中的各个模块对应的所述第一新特性列表,生成所述目标系统中每一模块的标识信息与每一模块对应的所述第一新特性列表的对应关系,得到所述第一对应关系。
12、可选地,所述基于所述第一标识信息确定第二标识信息,包括:
13、将所述目标系统中各个模块的标识信息输入预测模型中,获取所述预测模型输出的第一输出信息,所述第一输出信息包括目标模块对应的预测访问模块的标识信息,所述预测访问模块为在所述目标浏览器当前访问所述目标模块的情况下将要访问的下一模块,所述目标模块为所述目标系统中的任一模块;
14、根据所述目标系统中每一模块分别对应的所述预测访问模块的标识信息,生成模块配置文件;
15、基于所述第一标识信息,从所述模块配置文件中预测所述目标浏览器访问的所述第二模块,得到所述第二标识信息。
16、可选地,所述方法还包括:
17、基于在所述目标系统中预先植入的埋点代码,获取所述目标系统中各个模块之间的第一交互数据,所述第一交互数据包括所述目标浏览器先后访问的所述目标系统中至少一个模块的标识信息;
18、对所述交互数据进行预处理,得到第二交互数据;
19、通过所述第二交互数据对预先构建的隐马尔科夫模型进行模型训练,得到所述预测模型,其中,所述隐马尔科夫模型中的观测值与所述目标系统中模块的标识信息相对应。
20、可选地,所述在所述第二标识信息与第三模块的标识信息一致的情况下,将所述第二新特性列表对应的polyfill代码块输出至所述目标浏览器,包括:
21、在所述第二标识信息与第三模块的标识信息一致的情况下,根据所述第二新特性列表中至少一个第一新特性,生成所述至少一个第一新特性对应的polyfill代码块;
22、将所述至少一个第一新特性对应的polyfill代码块进行组装,生成目标文件;
23、将所述目标文件加载至所述目标浏览器。
24、可选地,所述根据所述第二新特性列表中至少一个第一新特性,生成所述至少一个第一新特性对应的polyfill代码块,包括:
25、遍历所述第二新特性列表中的每一第一新特性;
26、在所述第二新特性列表中存在目标新特性的情况下,从所述目标系统的缓存中获取所述目标新特性对应的polyfill代码块;其中,所述目标新特性为所述目标系统的缓存中预先存储有对应polyfill代码块的第一新特性;
27、生成所述第二新特性列表中除所述目标新特性外其他第一新特性对应的polyfill代码块,所述至少一个第一新特性对应的polyfill代码块包括除所述目标新特性外其他第一新特性对应的polyfill代码块。
28、可选地,在所述第二标识信息与第三模块的标识信息不一致的情况下,所述方法还包括:
29、根据所述第三模块的第三标识信息、所述目标系统的类型信息和版本信息,从所述第三标识信息对应的第一新特性列表中筛选出不支持所述目标浏览器的第三新特性列表;
30、根据所述第三新特性列表中至少一个第二新特性,生成所述至少一个第二新特性对应的polyfill代码块;
31、将所述至少一个第二新特性对应的polyfill代码块输出至所述目标浏览器。
32、第二方面,本申请实施例还提供了一种浏览器代码块加载装置,包括:
33、获取预测模块,用于获取目标浏览器当前访问的目标系统中第一模块的第一标识信息,并基于所述第一标识信息确定第二标识信息,所述目标系统为目标浏览器所运行的系统,所述第二标识信息为第二模块对应的标识信息,所述第二模块为基于所述第一模块预测的所述目标浏览器访问的下一模块;
34、确定筛选模块,用于根据第一对应关系,确定所述第二标识信息对应的第一新特性列表,并从所述第二标识信息对应的第一新特性列表中筛选出不支持所述目标浏览器的第二新特性列表;其中,所述第一对应关系为所述目标系统中各个模块的标识信息与各个模块对应的第一新特性列表之间的对应关系;
35、代码块输出模块,用于在所述第二标识信息与第三模块的标识信息一致的情况下,将所述第二新特性列表对应的polyfill代码块输出至所述目标浏览器,其中,所述第三模块为所述目标浏览器实际访问的下一模块。
36、第三方面,本申请实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行本文档来自技高网...
【技术保护点】
1.一种浏览器代码块加载方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一标识信息确定第二标识信息,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述在所述第二标识信息与第三模块的标识信息一致的情况下,将所述第二新特性列表对应的polyfill代码块输出至所述目标浏览器,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述第二新特性列表中至少一个第一新特性,生成所述至少一个第一新特性对应的polyfill代码块,包括:
7.根据权利要求1所述的方法,其特征在于,在所述第二标识信息与第三模块的标识信息不一致的情况下,所述方法还包括:
8.一种浏览器代码块加载装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的浏览器代码块加载方法的步骤。
11.一种计算机程序产品,其特征在于,包括计算机指令,该计算机指令被处理器执行时实现如权利要求1至7中任一项所述的浏览器代码块加载方法的步骤。
...【技术特征摘要】
1.一种浏览器代码块加载方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述基于所述第一标识信息确定第二标识信息,包括:
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,所述在所述第二标识信息与第三模块的标识信息一致的情况下,将所述第二新特性列表对应的polyfill代码块输出至所述目标浏览器,包括:
6.根据权利要求5所述的方法,其特征在于,所述根据所述第二新特性列表中至少一个第一新特性,生成所述至少一个第一新特性对应的polyfill代码块,包括:
7.根据权利要求1所述的方法...
【专利技术属性】
技术研发人员:潘阳阳,丁毅辉,
申请(专利权)人:中移苏州软件技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。