ユーザ用ツール

サイト用ツール


ハイハイスクールアドベンチャー_web版

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
ハイハイスクールアドベンチャー_web版 [2024/02/16 09:35] – [音とか] arakiハイハイスクールアドベンチャー_web版 [2024/02/16 10:12] (現在) – [PWA] araki
行 249: 行 249:
 if ('serviceWorker' in navigator) if ('serviceWorker' in navigator)
 { {
-    navigator.serviceWorker.register('js/sw.js');+    navigator.serviceWorker.register('sw.js');
 } }
 </code> </code>
行 279: 行 279:
         'js/global.js',         'js/global.js',
         'js/map.js',         'js/map.js',
-        'js/sw.js'+        'sw.js'
 ]; ];
  
行 303: 行 303:
 要はキャッシュを登録しているだけである。 要はキャッシュを登録しているだけである。
 これでオフラインでも使えるようになるらしい((そのように作られていれば))が、やってみていないのでわからない。 これでオフラインでも使えるようになるらしい((そのように作られていれば))が、やってみていないのでわからない。
 +
 +なお、キャッシュされるオブジェクトの指定は、sw.jsのある場所からの相対パスまたは絶対パス、URIなどで、これを間違うとエラーをはいてキャッシュに失敗する。
 +
 +ブラウザによってはsw.jsがエラーを出しているとインストールボタンを表示してくれない厳格なやつもいたりするので、よく確認してほしい。
  
 === トラブルシュート === === トラブルシュート ===
行 417: 行 421:
 なお、実際に使用しているスタイルシートは、レスポンシブデザインっぽく、px使わないでサイズを指定しています。 なお、実際に使用しているスタイルシートは、レスポンシブデザインっぽく、px使わないでサイズを指定しています。
  
 +==== 設定 ====
 +
 +基本的には、特に設定項目はなかったのだが、音を鳴らすことにしたら、Qt版同様に、音を鳴らすのかどうかを覚えておいた方がいいような気がしてきた。
 +
 +まあ、毎回 Mute ONにしてしまうでもいいような気もしたが、将来何かの設定を追加したときに、それも覚えておいた方がいいような気がしたので、保存できるようにした。
 +
 +ゲームデータ保存用objectStoreはIndexedDBに作ってあったので、バージョンを2にして、設定用のobjectStoreも作るようにした。
 +DBのアップグレードとかしないと思ってたが、いきなりすることになるとは先見の明がなさ過ぎた。
 +
 +<code>
 +const req = indexedDB.open(Database.DBNAME,Database.VERSION);
 +req.onupgradeneeded = (event) =>
 +{
 + const db = event.target.result;
 + const oldver = event.oldVersion;
 + const newver = event.newVersion;
 + const migrations = {
 + "1": () => {
 + db.createObjectStore(Database.STORENAME, {keyPath:'id'});
 + },
 + "2": () => {
 + db.createObjectStore(Database.PREFSTORE, {keyPath:'pref'});
 + }
 + }
 + for (var v = oldver + 1 ; v <= newver ; v++)
 + {
 + if (migrations[v]) migrations[v]();
 + }
 +};
 +</code>
  
 +バージョン更新のやり方は、どこかで見かけたのを参考にした。
ハイハイスクールアドベンチャー_web版.1708043703.txt.gz · 最終更新: 2024/02/16 09:35 by araki