当前位置: 代码网 > it编程>前端脚本>Powershell > 解决webview缓存问题

解决webview缓存问题

2024年08月02日 Powershell 我要评论
记录webview缓存解决方案

最近在开发小程序,因为一些需求在小程序内实现不了,转向引入webview来解决,说实话,坑很多,后面再一一梳理遇到的问题,今天先记录一下webview遇到的缓存问题

webview

先说下自己的理解吧,webview是独立于微信客户端之外的,是为了解决小程序或者app解决不了的问题,比如小程序不能操作dom元素,需求里面需要大量的操作dom元素,就可以引入webview,但是相对地,就会有缓存和兼容的问题,先说一下缓存的问题

借鉴了两位大佬的解决方案 ,好奇的可以先看着两篇文章

先讲一下缓存的问题,每次小程序加载webview的url的时候,url是每次加载都不变的情况下,访问的资源大多数是走的缓存,webview本质是浏览器,浏览器默认是带缓存的,排除一些设置的情况下,后续每次访问页面,一些资源请求或者index.html文件的请求,都是走的缓存,查看接口也是服务器返回了304(304代表优先走本地缓存)
看下图,能够看到确实走的客户端内的缓存,第一次加载客户端就已经缓存的页面文件
在这里插入图片描述

单页面应用的缓存方向主要是两个(主要也是上图中两种缓存)

之前所了解到的解决缓存的方法

  • index.html的head部分添加meta标签
  • < webview url=“后面参数带时间戳”></ webview>

这两种方式都试过,都不太行,页面还是有缓存,后面看到一个大佬的文章,感觉好像很可行的样子,就试了一下,果然可以

最终解决方案

先总体说下解决方案

add_header cache-control "no-store, no-cache"的解释
关于请求头不缓存的解释
关于清除资源文件的缓存
在这里插入图片描述
打包后的js文件
在这里插入图片描述

根据上面的调整试了一下,确实没有走缓存
调整之前
在这里插入图片描述
调整之后 (服务器返回都是200,不是304或者来自磁盘缓存了)
在这里插入图片描述
在这里插入图片描述

大概就是这些,我这里是记录了最简单快速的解决方式,有不同意见的可以提出来哦

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com