2016-10-04 62 views
0

我想在現有的php移動網站中添加服務人員。所以我想知道什麼是最好的方式來做到這一點(如設計模式)。 我可以緩存所有我的靜態資產,如CSS,js.But如何緩存實際的HTML內容不快速chaging。我知道我可以緩存基於網絡請求。但是,如何緩存不同的主視圖單元,因爲它只有一個請求。如何在我現有的php網站中添加服務人員

+0

你用主單元的_units指什麼? – Salva

+0

請參考此問題以獲取更多信息。我稱之爲將頁面劃分爲模板的單位。 http://stackoverflow.com/questions/40690321/inroducing-service-workers-tom-mobile-site –

回答

1

您可以通過URL進行緩存,因此如果這是您的根URL,則可以緩存「/」。它會緩存HTTP響應,所以最終它由什麼組成(包括這是PHP還是.NET)是無關緊要的。儘管如此,如果頁面上的內容發生變化,您將需要在緩存發生變化並且檢索最新內容時使其無效,以免它可能不適合緩存。

根據構建離線應用程序的經驗,我緩存靜態資產(HTML模板,CSS & JS),然後將數據從API響應存儲在IndexedDB中。這允許我有一個離線應用程序shell(來自CacheAPI)&檢索數據的最新版本(IndexedDB),當用戶連接時,我可以刷新/更新IndexedDB內容。

瞭解更多:https://medium.com/@addyosmani/offline-storage-for-progressive-web-apps-70d52695513c

1

如果我理解正確的話,我想你想在同一HTML只緩存特定部分。這不是直接支持,但您可以使用差異來下載舊的和新的HTML文件之間的差異。我強烈建議你看看sw-delta

您可以參考Jake Archibald的Offline Cookbook和服務工作者指南中的caching strategies示例。兩者都包括何時使用特定策略的建議。

相關問題