我往线上更新css文件,如何让网页实现自动更新

html-css012

我往线上更新css文件,如何让网页实现自动更新,第1张

最初最初的网页处理形式是,css有更新,网页则会自动重新调用css文件,以保证使用最新的样式。

但后来随着各大浏览器的网页缓存、服务器与CDN技术等等,即便你上传覆盖了新的css文件,那么除非用户手动刷新,否则无法正常调用最新的css。

根据你的网站项目,可以在css地址后加版本号的形式,如/style.css?v=123,每次更新手动修改版本号,实现全站自动更新css。

还有更好的方法就是,将css文件生成一个hash值,放到css文件名里,这样每次修改css,都会生成一个新名字的css。

再高级一点,涉及大型项目,如css、js的更新,就需要版本控制机制或工具来管理。

当有内容需要更新时,需要重新上传整个全局纹理,webgl中有一种局部纹理更新技术,每次有更新时,只需要更新它的一个局部区域即可。

但是这里要解决的问题是THREE.js并没有提供局部纹理更新的方式,也没有相应的自定义接口,那么这时候就需要我们自己来处理了。这里自定义一个Texture的子类,开辟一块内存区域,在需要的时候动态更新局部纹理,其中src这里是ImageData对象,具体代码可以参考这里:https://github.com/spite/