由於瀏覽器緩存問題。在服務器上更新了新的圖片等資源以后,客戶端並不會下載最新的。
關於瀏覽器緩存機制,可自行百度。
Egret中資源更新解決方案有以下:
一 資源名后增加版本號
二 重寫Egret引擎加載
一 資源名后增加版本號
在default.res.json資源配置文件中,在路徑后加上"ver=1.0",下次修改后,將版本號向上增加"ver=1.1"。
這樣每次瀏覽器都會下載跟新后的資源。
優點:
1 可以根據更新需求,控制到只更新某一張圖片,或更新所有資源。
缺點:
1 需要知道哪個資源被更新了,然后手動去修改版本號,非常的麻煩。

二 重寫Egret引擎加載
在加載資源之前,重寫getVirtualUrl方法。
RES.web.Html5VersionController.prototype.getVirtualUrl = function(url) { url += "?v=" + window["version"]; return url; }
window["version"]在index.html中定義。每次更新后直接修改這個版本號就可以了。
var version = "1.0";
這樣Egret每次加載時,會自動在url后拼接版本號
"http://192.168.0.101:3001/resource/default.thm.json?v=1.0". "http://192.168.0.101:3001/resource/config/description.json?v=1.0".
優點:
1 每次更新可以非常方便的修改版本號,保證版本更新后,下載的是新的。
缺點:
1 每次修改版本號,所有的資源都會重新下載。無論修改或沒修改過的。
