iOS7のSafariからPage Visibility APIが使える様になったとのことなので試してみました。
var count = 0,
increase = false,
countEl = document.getElementById('count');
setInterval(function() {
increase && (countEl.innerText = ++count);
}, 100);
document.addEventListener('visibilitychange', function() {
increase = document.hidden;
});
Chromeではプレフィックスが付いてwebkitvisibilitychange
,
document.webkitHidden
でしたが、iOS7のsafariでは不要のようです。
実機で動かしてみると右下のボタンを押してタブ選択中の状態でのみ
countが加算されます。
シングルページのWebアプリなどで画面を離れて一定時間以上経ったら
戻ってきたときにデータを更新するとか、色々と使い道はありそうな予感です。