h5版本版本有更新,浏览器有缓存 怎么破,要怎么处理才能保证 每次访问都是最新的

但你这只是资源吧 如果 settings.js 也改变了呢 怎么更新它,能留个QQ交流下么

update.js的源码能否给个啊 谢谢啊

update.js就是我上面写的那一行啊。你更新了一个资源就写一行。它的作用就是把settings.js里定义的_CCSettings里面资源的相对路径加上版本号。

settings.js改变了在index.html里加版本号。

好的 谢谢。。。。建议官方把 toddlxt的方案 归到官方的文档里,在官方没有出解决方案前大家可以参考

奇了怪啊,按照上述操作,我尝试更新一个大背景单图png格式,增加了update.js,其中也添加了该背景图的变化,类似_CCSettings.rawAssets.assets[“bde2bcf7-7bd4-449d-a124-2ad380234082”]+="?v=3";
同时 在index.html中也做了引用,加上了v=3,但再次进入时看到提示bde2bcf7-7bd4-449d-a124-2ad380234082.json找不到,于是大背景也没有更新下来。。这是为何呢?要更新的是png,却提示找不到json?

bde2bcf7-7bd4-449d-a124-2ad380234082是原来的图的UUID,你看看你更新的图的UUID是不是变了。如果新图的UUID不是这个,你又删除了原来的图,就找不到bde2bcf7-7bd4-449d-a124-2ad380234082.json了。

哥们,能帮我看看我的demo吗,还是提提示.json找不到。很简单,就是helloword,发布后替换cocoslogo图片。

web-mobile.zip (343.2 KB)

谢谢。

你的
_CCSettings.rawAssets.assets[“6aa0aa6a-ebee-4155-a088-a687a6aadec4”] += “?v=5”
应该改为
_CCSettings.rawAssets.assets[“6aa0aa6a-ebee-4155-a088-a687a6aadec4”][0] += “?v=5”

是我之前写的方法里少了这个[0],让你困扰了这么多天,抱歉!已经修正。

:innocent: 。。。非常感谢。

当发布过后地址可能是固定的,比如今天玩家知道了某个游戏访问 http://102.13.25.114/index.html,三天后后台其实有更新,玩家可不会在后面加个时间戳吧?
这么理解有问题么?谢谢、

这种方案只适合单张图片的,但对于合图的资源,图片是更新了,但是json的数据却并没有更新,这个有什么方案吗?Creator把合图的plist里面的数据,又拆分成很多json数据,放到其他各个地方好像,场景中的还会合并json,真不知道怎么去更新?

最新版的cocos project.json增加了 nocache的参数, 设置成true貌似每次都是新的,

但是这样就没缓存了,

建议官方把url后面的随机值改成hash值,这样就是增量更新了

这样子,这个问题我总觉得应该引擎来解决,而且引擎肯定解决了这个问题,只是没放出来罢了

那么多做H5游戏的,不可能没有解决这个问题,而且官方也有H5游戏,所以cocos真的让人觉得奇怪。

这个缓存方案我们有计划 1.6 版本会加进来,确实是解决了,但是还需要一些时间优化。

现在是如何解决的?我的index.html怎么自动拿到最新的

@2236633972
浏览器是否有缓存取决于你的web服务器的http头设置.
https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Cache-Control

一般使用nginx配置 http头, html文件不缓存, 每次向服务器请求(浏览器和CDN都不会保存).
其它文件(js/css/json/png/jpg/mp3…) 设置缓存一周或者一个月或者一年都可以, 根据你的版本更新的时间间隔, 浏览器会缓存, CDN会缓存, 这些资源按道理只会请求一次.
CocosCreator在打包web时, 提供了一个md5Cache选项, 勾选以后除了index.html外的每个文件名都会增加一个md5标志, 确保了唯一性.

好的。非常感谢!