私は既存のPHPモバイルサイトにサービスウィッカーを追加しようとしています。私はそれを行うための最良の方法(デザインパターンなど)を知りたいと思います。 私はcss、js.Butなどの静的資産をすべてキャッシュすることができます。実際にhtmlコンテンツをキャッシュする方法はありません。高速に処理することはできません。ネットワークリクエストに基づいてキャッシュすることができます。しかし、1つのリクエストしかないため、メインビューの異なるユニットをキャッシュする方法。私の既存のPHPウェブサイトにサービスワーカーを追加する方法
0
A
答えて
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の例で参照できます。両方とも、特定の戦略をいつ使うべきかについての勧告を含んでいる。
関連する問題
- 1. サービスワーカー、私のコードを追加する方法は?
- 2. 既存の連絡先を既存のグループに追加する方法
- 3. ビジュアルスタジオの既存のプロジェクトにライブラリを追加する方法
- 4. Groovyの既存のXMLにCDATAコンテンツを追加する方法
- 5. Rの既存の列に手段を追加する方法
- 6. mysqlの既存のビューにコメントを追加する方法
- 7. rhoMobileの既存のモデルに.erbファイルを追加する方法
- 8. DataGridViewの既存のアイテムに数量を追加する方法
- 9. テーブルの既存の列に1を追加する方法
- 10. Pythonの既存の行列に列を追加する方法
- 11. CloudKitの既存のレコードにフィールドを追加する方法
- 12. CMake:既存のプロジェクトにcudaを追加する方法
- 13. 既存のオブジェクトにオブジェクトや配列を追加する方法
- 14. 既存のプロジェクトをTFSに追加する方法
- 15. アンドロイドスタジオに既存のアンドロイドプロジェクトを追加してビルドする方法
- 16. 既存のオブジェクトにプロトタイププロパティを追加する方法
- 17. 既存のajax json結果にデータを追加する方法
- 18. 既存のバインディングにカスタムWCFプロトコルチャネルを追加する方法
- 19. Mootools:既存のFx.Sortインスタンスにアイテムを追加する方法
- 20. Team Foundation Serverに既存のソリューションを追加する方法は?
- 21. 既存のクラスタサービスにホスト/所有者を追加する方法
- 22. テレグラムロボットを既存のプライベートチャネルに追加する方法
- 23. 既存のアプリケーションにコンテンツを追加する方法CHMヘルプファイル?
- 24. 既存のデータセットに集計変数を追加する方法
- 25. NetworkX:既存のG.edges()にウェイトを追加する方法は?
- 26. 既存のテーブルビューコントローラーをビューコントローラーにプログラミングで追加する方法
- 27. 既存のキャンバスにthree.jsコントロールを追加する方法
- 28. パイプラインコードで既存のファイルに出力を追加する方法
- 29. ループバックで既存のリモートメソッドにクエリパラメータを追加する方法
- 30. エクスプレスバックエンドを既存の反応アプリに追加する方法
メインビューの_unitsは何を参照していますか? – Salva
詳細については、この質問を参照してください。単位とは、ページをテンプレートに分割することです。 http://stackoverflow.com/questions/40690321/inroducing-service-workers-tom-mobile-site –