首页 > 其他分享 >Offline web technology for Mobile devices

Offline web technology for Mobile devices

时间:2024-04-29 09:45:03浏览次数:30  
标签:弱网 web Mobile app 离线 json done Offline

一、当前问题

1、弱网或断网,当用户进入电梯或无网区,长时间白屏或无法显示页面

2、正常网络,从点击app到显示首页文字图片,白屏时间大约7-9秒

 

二、原因分析

1、从技术视角,分析一下网页启动的几个关键耗时阶段

 

2、没有做离线化技术,而手机端用户进入弱网与无网区实际存在

三、解决方案

1、业界有一种广为应用的技术方案,既:离线化/离线包方案。其主要思路是:

①、将包括HTML/JS/CSS等静态资源打包到一个压缩包内,在用户访问项目前,预先下载该离线包到本地并解压
②、当用户访问页面发出资源请求时,WebView容器会对请求进行拦截,如果已经在离线包内,会使用离线包中的本地资源响应给用户

2、可实现app秒开,与断网情况浏览网页,效果如下图:

 

 

四、具体进展如下

1、web端每次构建生成离线包与接口自动部署cdn服务器(web端done、运维done)

离线包接口https://static.platform.michaels.com/offline-files/ssr-dc-nginx/dev00/offlineFiles.json

2、安卓与IOS直接加载沙盒本地资源html、js、css(app端done)

3、动态接口Homepage_US_Web_michaels.com.json实现离线化,使用postMessage方式解决跨域(app端done、web端done)

4、弱网白屏渲染阻塞,修改不合理closeLoading,4个js改异步加载,整合远程css,去除不用字体( app端done、web端done)

5、图片离线化采用http缓存方案,app端去除不合理清除缓存与webview图片阻塞设置(app端done)

6、离线包更新策略,使用gzip分包压缩与md5完整性校验,比对最新包文件名,增加与删除离线文件(app端done、web端done)

7、Fallback方案,降低离线化风险,离线包报错5s自动跳转线上与app手动切换线上,(app端done、web端done)

8、自动刷新,当静态包或动态json文件版本变化,app端自动刷新(app端done)

   

标签:弱网,web,Mobile,app,离线,json,done,Offline
From: https://www.cnblogs.com/jerry-mengjie/p/18165023

相关文章

  • WEBAPI传参及默认首页设置
    开发工具:VS2017创建WEBAPI,1.选择ASP.NETCoreWeb应用程序2.选择如下,HTTPS配置勾选去掉,暂不配置3.“属性”中调试默认界面及launchsettings.json 4.调试以后默认页面 5. ......
  • 帕鲁杯web mylove复现
    题目给了源码和phpinfo()<?phpclassa{publicfunction__get($a){$this->b->love();}}classb{publicfunction__destruct(){$tmp=$this->c->name;}publicfunction__wakeup(){$this->c="......
  • 应急响应-webshell查杀
    简介靶机账号密码rootxjwebshell1.黑客webshell里面的flagflag{xxxxx-xxxx-xxxx-xxxx-xxxx}2.黑客使用的什么工具的shellgithub地址的md5flag{md5}3.黑客隐藏shell的完整路径的md5flag{md5}注:/xxx/xxx/xxx/xxx/xxx.xxx4.黑客免杀马完整路径md5flag步骤#1.1......
  • web开发中特殊字符的对应值与转义字符
    原文链接:https://www.cnblogs.com/greatverve/archive/2011/07/18/web-char.htmlURL中的特殊字符URL中的特殊字符是不能再URL中直接传递的,需要进行编码。编码的格式为:%加字符的ASCII码,即一个百分号%,后面跟对应字符的ASCII(16进制)码值。 例:要传递字符串“this%is#te=st&ok?+/......
  • .net core,.net 6使用SoapCore开发webservice接口,以及使用HttpClientFactory动态访问we
    1.使用soapCorenuget包 2.新建接口及实现2.1新建接口 2.2新建实现 2.3新建接收实体 2.4返回实体 3.接口注入使用  4.启动程序,直接访问对应的asmx地址  ......
  • Openwrt GitWeb Configuring(OpenwrtGitweb配置)
    首先安装好git环境,可以在网上参考Linux搭建git服务,我就不叙述了。安装gitwebopkgupdateopkginstallgit-gitweb安装完毕后访问 http://youhost/cgi-bin/gitweb.cgi 正常访问如下图编辑/www/cgi-bin/gitweb.cgi文件找到 $projectroot修改路径为你的gitroot目录,我......
  • new webpack 的 DefinePlugin 与 ProvidePlugin
    一、DefinePluginDefinePlugin允许创建一个在编译时可以配置的全局常量。这可能会对开发模式和生产模式的构建允许不同的行为非常有用。如果在开发构建中,而不在发布构建中执行日志记录,则可以使用全局常量来决定是否记录日志。这就是DefinePlugin的用处,设置它,就可以忘记开发环境......
  • web server apache tomcat11-24-Virtual Hosting and Tomcat
    前言整理这个官方翻译的系列,原因是网上大部分的tomcat版本比较旧,此版本为v11最新的版本。开源项目从零手写实现tomcatminicat别称【嗅虎】心有猛虎,轻嗅蔷薇。系列文章webserverapachetomcat11-01-官方文档入门介绍webserverapachetomcat11-02-setup启动web......
  • XYCTF2024-web-wp
    怎么全是傻逼绕过题。不想评价,就随便打着玩,除了最后一道java反序列化搞心态,其他的ak了:简单题不想说,http注意一下代理是用Via就行,warmup直接:http://xyctf.top:37034/?val1=240610708&val2=QNKCDZO&md5=0e215962017&XYCTF=240610708&XY=240610708LLeeevvveeelll222.phpget......
  • 京东web端h5st—4.7逆向分析
    声明本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!目标网站aHR0cHM6Ly93d3cuamQuY29tLw==分析流程了解h5st看了sha256相关加密算法逻辑body加密大......