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.就会重新请求。

相关推荐
刘皇叔code3 小时前
记一次用Three.js展示360°全景图的折腾
webgl·three.js
xhload3d6 天前
场景切换 × 流畅过渡动画实现方案 | 图扑软件
物联网·3d·智慧城市·html5·动画·webgl·数字孪生·可视化·虚拟现实·工业互联网·工控·工业·2d·轻量化·过渡动画
iloveas201410 天前
three.js+WebGL踩坑经验合集(8.3):合理设置camera.near和camera.far缓解实际场景中的z-fighting叠面问题
webgl
失忆爆表症12 天前
基于 MediaPipe + Three.js 的实时姿态可视化前端
前端·webgl
串串狗xk13 天前
使用 webgl 写的新概念笔记应用《赛博城寨》,在三维开放世界里写笔记
javascript·webgl
刘皇叔code15 天前
Three.js后处理UnrealBloomPass的分析
webgl·three.js
掘金安东尼17 天前
用 WebGL + Solid.js 构建混合材质 Shader
前端·webgl
郝学胜-神的一滴20 天前
Three.js 材质系统深度解析
javascript·3d·游戏引擎·webgl·材质
Tetap20 天前
pixijs实现绿幕抠图和视频
前端·webgl
山西第一大怨种21 天前
我的浏览器下雨了进水了
前端·webgl