app内嵌h5页面webview,ios webview加载本地html

  app内嵌h5页面webview,ios webview加载本地html

  前文

  在app中嵌入H5很常见,但是每个APP提供的webview性能不一样,在开发中遇到了一个非常棘手的缓存问题。当应用程序启动时,我们的商城项目的H5代码被加载,然后index.html文件被缓存在本地。

  记录下来

  问题表现

  H5项目在线打包后,静态资源js和css文件名后面都是哈希值,在webpack打包带上,也是为了防止缓存。但app启动后,针对html请求缓存了上一版本包的静态资源,导致index.a878n.js找不到404,页面栏空白。-在我们的H5项目打包并启动后,服务器上的最新版本代码被清除。

  解决办法

  一开始我们给html加了一个随机数,就是在app加载到html的时候,在url后面加了一个随机数。但是我们发现webview的html缓存导致我们的js修改无法更新。

  最终的解决方案是,app端加载项目时,只能在域名后加一个时间戳,升级app。

  为了避免这种问题,有必要在项目首次启动时给url添加一个随机数,这样webview就不会在本地缓存html。

  前端建议从一开始就配置nginx,强制不缓存html。

  location/{ expires-1;add_header Cache-Control 无存储,无缓存,必须重新验证,代理重新验证,最大年龄=0 ;try _ files $ uri $ uri/@ router;索引index.html;}就是这样。本文介绍了嵌入式H5 webview在app中本地缓存问题的解决方案。更多app中嵌入Html5 webview的相关内容,请搜索往期文章或继续浏览下方相关文章。希望你以后能支持我!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: