2013-06-27 34 views
0

我正在使用應用程序高速緩存功能,並且所有工作都正常,但是當我最初緩存資源時,我會包含幾個需要在線訪問的頁面。這些頁面位於登錄屏幕後面,如果用戶未登錄,則顯示登錄屏幕而不顯示實際頁面。因此,當它們被緩存時,它會緩存在登錄屏幕中。登錄/註銷後強制應用程序高速緩存更新

我想在登錄後刷新我的應用程序緩存/輸出,使其正確反映頁,如果在登錄後用戶的連接斷開了。

我知道緩存清單隻被要求更新,如果文件本身實際上發生了變化,這是一個問題,因爲我無法想到在登錄/註銷被調用後更新文件的方式。

不幸的是,我不能在不同的頁面上使用單獨的緩存清單,因爲頁面是動態模板化爲帶有Mustache模板的HTML文件。

如何以編程方式讓瀏覽器在登錄/註銷後更新我的應用程序緩存?

+0

http://stackoverflow.com/a/2181544/982311這可以爲你工作嗎? – KyorCode

回答

2

你可以通過清單url傳遞一個id嗎?由於會話ID會在註銷/登錄後發生變化,因此瀏覽器會將該清單視爲不同的文件,儘管它實際上並未發生變化。

<html manifest="myManifest.mf?id=<?= session_id() ?>"> 
    ... 
</html> 
+0

好東西!我的模板數據有一個LoggedIn屬性,我可以使用它作爲id(例如,myManifest.mf?LoggedIn = True)或作爲條件Mustache語句來加載單獨的清單文件(實現刷新併爲我提供了額外的靈活性根據他們是否登錄進行緩存/不緩存)。謝謝! – joshschreuder

+0

很高興工作! –

相關問題