但你这只是资源吧 如果 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了。
你的
_CCSettings.rawAssets.assets[“6aa0aa6a-ebee-4155-a088-a687a6aadec4”] += “?v=5”
应该改为
_CCSettings.rawAssets.assets[“6aa0aa6a-ebee-4155-a088-a687a6aadec4”][0] += “?v=5”
是我之前写的方法里少了这个[0],让你困扰了这么多天,抱歉!已经修正。
。。。非常感谢。
当发布过后地址可能是固定的,比如今天玩家知道了某个游戏访问 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标志, 确保了唯一性.
好的。非常感谢!