Unity开发之Webgl自动更新程序包

之前让客户端更新webgl程序是在程序里写版本号然后和服务器对比,不同就调用 window.location.reload(true);之前做的客户端都是给企业用,用户数少看不出来啥问题。后来自己开发一个小网站,用户数量还是挺多,然后就会遇到各种各样的问题了。比如这个自动更新程序的问题就不行,会报错。用户用键盘的强制刷新就可以更新程序。搜了AI发现其实就是现在浏览器会把window.location.reload(true);和window.location.reload();等价。也就是非强制刷新。也就是说他

  • 只重新加载 HTML 页面,

  • 但对大部分 JS、WASM、DATA 等文件依然使用缓存。

所以这个方案行不通。换个方法如下,把index.html中部分代码改成如下:

javascript 复制代码
 const version = "1.01"; // 你可以每次部署时更新这个版本号

		var buildUrl = "Build";
		var loaderUrl = `${buildUrl}/3d.loader.js?v=${version}`;
		var config = {
		  dataUrl: `${buildUrl}/3d.data.unityweb?v=${version}`,
		  frameworkUrl: `${buildUrl}/3d.framework.js.unityweb?v=${version}`,
		  codeUrl: `${buildUrl}/3d.wasm.unityweb?v=${version}`,
		  streamingAssetsUrl: "StreamingAssets",
		  companyName: "Manggehaili",
		  productName: "PPJ_Editor",
		  productVersion: "0.1",
		  showBanner: unityShowBanner,
		};

代码里的版本号不需要维护了,每次更新就改这个版本好就可以了。自动加个1.就会重新请求。

相关推荐
Jmyd01233 天前
3D数字协同设计实训空间技术架构解析:从三维采集到WebGL虚拟展示的全链路实现
3d·架构·webgl·虚拟实训
总要学点什么3 天前
第57篇:三维场景演示_基础版——同一秒,播过去和拖过去差出一千多米
3d·数据挖掘·数据分析·gis·webgl
总要学点什么4 天前
第55篇:空间分析-剖面分析——红线走大圆,剖面却按经纬直线采样
前端框架·gis·webgl·cesium·空间分析
:mnong4 天前
Web 三维可视化技术对比:ParaView Web vs 本项目 wasm + Three.js
前端·webgl·opengl·opencl·科学可视化
疯狂敲代码的老刘4 天前
my-fingerprint浏览器扩展:1.4K星开源指纹防护神器,Canvas/WebGL/WebGPU伪装一键开启
webgl
总要学点什么5 天前
第51篇:数据分析-热力图——笔刷画的是圆,落到地上却成了椭圆
3d·数据挖掘·数据分析·前端框架·gis·webgl·cesium
子龙_5 天前
来在网页上用threejs画个蛋白质吧
前端·webgl·three.js
总要学点什么7 天前
第47篇:三维特效-雷达波效果——波纹一圈圈往外推,一半却埋在地下
3d·前端框架·gis·webgl·cesium
八荒启·交互动画14 天前
Web特效025—用 Canvas 2D 做Web特效的定义与边界:这支画笔能做到哪一步
前端·webgl·网页特效·八荒启-交互动画·八荒启
Bruce_Liuxiaowei15 天前
网页版 DeepSeek “harness desktop“ WebGL 上下文创建失败排查实录
开发语言·javascript·webgl