質問: PWAをサーバーなしでダウンロードすることはできますか? PWAを利用する場合、最初はHTTPSサーバーからダウンロードする必要がありますが、 これをHTTPSサーバーなしで、ローカル(file://)においてあるhtmlファイル上で行うことは可能なのでしょうか? 例えば、20問ぐらいのクイズを出題するhtmlファイル(jsとcssも含む)があるとします。(クイズの問題はhtmlに直に書いてある) 何問か解いた後、途中で中断し、その後、再度同じhtmlファイルを開くと、前回中断したところから再開されるようにしたいです。 この環境では非常に残念ですが、サーバーは使えず、WebExtensionのインストールもできません。 htmlとjsだけでこのようなことは可能でしょうか?
回答: 「前回中断したところから再開されるようにしたい」ということと`PWA`は関係のない話です。`PWA`が提供する主な機能はキャシュとプッシュ通知で、`PWA`を導入しても、「前回中断したところから再開されるようにしたい」ということはできません。 「前回中断したところから再開されるようにしたい」のであれば、`Web Storage`を使用して、適当なタイミングで現在開いているページを保存します。`localStorage`を使うのであれば次のように書きます。 ``` localStorage.setItem('page', pagenumber); ``` 再度開く時に、`localStorage`からそのページを取得して、そのページに移動すればいいだけです。 ``` var page = localStorage.getItem('page'); ``` `file://`の場合`json`からデータを読み込むようにしていると`Cross origin`でエラーになるのですが、htmlに直に書いてあるということなので動作します。また、`localStorage`は、`file://`の場合にも動きます。