直近の記事一覧
フジロックの kraftwerk の演奏に対する批判記事 (24年7月29日)
迷惑メールの送信元 (24年6月14日)
東横イン蒲田1はロビーがない (24年4月30日)
MacBookAir所感 (24年4月29日)
$1499は高い (24年4月28日)
最近色々とこねくり回していると,古いブラウザでは,タブレット端末が一度スリープ(や,別アプリに遷移)した場合,ダウンロードしていたデータに「保持されないことがある」ことが分かった。
そこで,スリープから復帰した際に,もう一度データを読み込めば良い。
その「スリープから復帰した際」かどうかを,いかにチェックすれば良いか。
そのためには,setInterval() をつかって,ブラウザ内部でカウントしている値にズレがないかどうかを確認すれば良い。
JavaScriptでスマホがスリープから回復した時にカウントアップ(ダウン)を調整する
上のページが参考になる。
自分の場合は,10msごとにチェックするタイマーがあるので,そこで,下のような関数を走らせることにした。
checkTimeout() {
const Limit = 500; // 500ms
const Now = Date.now();
const Diff = Now - this.$TimeChecker; // $TimeChecker は setInterval で 10msごとに 10 加算される
if (Diff > Limit) {
// 500msec 以上のズレが生じた場合
// ~~ ここでスリープからの復帰処理
}
// 比較する DateTime を更新
this.$TimeChecker = Date.now();
}
投稿記事のカテゴリやタグと同じ記事をランダム表示します。