【技术实现步骤摘要】
一种页面资源同时加载的方法、装置和电子设备
本申请涉及计算机
,尤其涉及一种页面资源同时加载的方法、装置和电子设备。
技术介绍
HybridApp(混合模式移动应用)是介于web-app、native-app之间的一种app开发模式。在HybridApp中,当多个HTML页面需要同时从离线包加载时,在目前的技术应用中,是首先基于页面加载请求判断需要加载的HTML文件内容是否在存储在本地,如果可以在本地找到,则将页面加载请求中的域名变换为对应的虚拟域,然后将该虚拟域对应的所有静态资源文件(包括HTML文件和JS/CSS文件)从本地离线包加载,而不会访问服务器。但是,仅仅通过判断HTML文件在离线包就断定对应页面的JS/CSS文件也在离线包,存在导致页面访问错误的情况。具体而言,如果HTML文件在离线包,但与该HTML文件对应需要加载的JS/CSS文件不在离线包时,JS/CSS请求的域名会被修改为一个不存在的虚拟域,之后,则会发起访问虚拟域服务器请求。由于虚拟域服务器不存在,页面访问则会出现错误。
技术实现思路
本申请实施例提供一种页面资源同时加载的方法、装置和电子设备,以实现HTML文件和JS/CSS文件基于对应的离线包进行加载,避免页面加载错误。本申请实施例采用下述技术方案:第一方面,提升了一种页面资源同时加载的方法,该方法包括:拦截页面加载请求;确定与所述页面加载请求对应的HTML文件;基于所述HTML文件,通过正则匹配确定存储所述HTML文件的第一离线数据包;如果所述第一离线数据包存在,则基于所述HTML文件的JS/CSS请求,确定与所述JS/CSS ...
【技术保护点】
1.一种页面资源同时加载的方法,包括:拦截页面加载请求;确定与所述页面加载请求对应的HTML文件;基于所述HTML文件,通过正则匹配确定存储所述HTML文件的第一离线数据包;如果所述第一离线数据包存在,则基于所述HTML文件的JS/CSS请求,确定与所述JS/CSS请求对应的JS/CSS文件;基于所述JS/CSS文件,确定存储所述JS/CSS文件的第二离线数据包;如果所述第二离线数据包存在,则基于所述HTML文件和JS/CSS文件构建所述页面加载请求的HTTP响应数据。
【技术特征摘要】
1.一种页面资源同时加载的方法,包括:拦截页面加载请求;确定与所述页面加载请求对应的HTML文件;基于所述HTML文件,通过正则匹配确定存储所述HTML文件的第一离线数据包;如果所述第一离线数据包存在,则基于所述HTML文件的JS/CSS请求,确定与所述JS/CSS请求对应的JS/CSS文件;基于所述JS/CSS文件,确定存储所述JS/CSS文件的第二离线数据包;如果所述第二离线数据包存在,则基于所述HTML文件和JS/CSS文件构建所述页面加载请求的HTTP响应数据。2.根据权利要求1所述的方法,所述拦截页面加载请求,包括:如果所述页面加载请求的httpMethod方法为GET方法,则拦截所述页面加载请求。3.根据权利要求1所述的方法,所述拦截页面加载请求,包括:基于NSURLProtocol拦截由NSURLConnection发起的页面加载请求。4.根据权利要求1所述的方法,所述基于所述HTML文件,通过正则匹配确定存储所述HTML文件的第一离线数据包,包括:基于所述页面加载请求携带的URL地址或者表头信息进行正则匹配,以确定存储所述HTML文件的第一离线数据包的名称信息;基于所述第一离线数据包的名称信息确定所述第一离线数据包。5.根据权利要求4所述的方法,还包括:基于所述第一离线数据包的名称信息,从内存缓存中获取所述第一离线数据包的配置内容信息。6.根据权利要求4所述的方法,还包括:基于所述第一离线数据包的名称信息确定所述第一离线数据包的物理地址;当基于所述第一离线数据包的物理地址确定存在与所述第一离线数据包对应的本地文件时,获取在所述第一离线数据包的物理地址下所述第一离线数据包的配置内容信息。7.根据权利要求6所述的方法,还包括:当基于所述第一离线数据包的物理地址确定不存在与所述第一离线数据包对应的本地文件时,确定所述第一离线数据包的下载地址;基于所述下载地址将所述第一离线数据包下载为本地文件;获取在所述本地文件的物理地址下所述第一离线数据包的配置内容信息。8.根据权利要求6或7所述的方法,还包括:将所述第一离线数据包的名称信息和对应的配置内容信息写入内存缓存,使后续从内存缓存加载所述第一离线数据包的名称信息和对应的配置内容信息。9.根据权利要求5-7中任一项所述的方法,还包括:基于所述配置内容信息获取所述HTML文件在所述第一离线数据包中的相对路径;基于所述第一离线数据包的物理地址和所述相对路径,确定所述HTML文件的绝对路径;基于所述绝对路径从所述第一离线数据包获取所述HTML文件。10.根据权利要求9所述的方法,还包括:将从所述第一离线数据包获取的所述HTML文件写入内存缓存,使后续从内存缓存加载所述HTML文件。11.根据权利要...
【专利技术属性】
技术研发人员:杨成旭,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。