2016-10-04 8 views
0

私は既存のPHPモバイルサイトにサービスウィッカーを追加しようとしています。私はそれを行うための最良の方法(デザインパターンなど)を知りたいと思います。 私はcss、js.Butなどの静的資産をすべてキャッシュすることができます。実際にhtmlコンテンツをキャッシュする方法はありません。高速に処理することはできません。ネットワークリクエストに基づいてキャッシュすることができます。しかし、1つのリクエストしかないため、メインビューの異なるユニットをキャッシュする方法。私の既存の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に保存します。これにより、CacheAPIからのオフラインのアプリケーションシェル&が取得されたデータ(IndexedDB)の最新バージョンを持つことができ、ユーザーが接続されているときにIndexedDBコンテンツを更新/更新できます。

続きを読む:私が正しく理解していればhttps://medium.com/@addyosmani/offline-storage-for-progressive-web-apps-70d52695513c

1

、私はあなたが同じHTMLのキャッシュだけ特定の部分にしたいと思います。これは直接サポートされていませんが、差異を使用して古いHTMLファイルと新しいHTMLファイルの差異だけをダウンロードすることができます。 sw-deltaをご覧ください。

Service Worker CookbookのOffline CookbookをJake Archibaldとcaching strategiesの例で参照できます。両方とも、特定の戦略をいつ使うべきかについての勧告を含んでいる。

関連する問題