Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Massr画面がアクティブになった時、前回更新から一定時間以上経過していたら即更新をしたい。 #170

Open
Echos opened this issue Dec 4, 2014 · 8 comments

Comments

@Echos
Copy link
Collaborator

Echos commented Dec 4, 2014

以下の様な方針でいかがでしょう?

  • アクティブになったかの判断はwindow.onFocus() イベントで判断
  • 更新時刻はLocalStorageに持ち、自動更新・手動更新時にリフレッシュ。
  • onForcusイベント時一定時間(自動更新間隔と同一)以上たっていたら即時自動更新イベント発行
@Echos
Copy link
Collaborator Author

Echos commented Dec 4, 2014

ちなみに、onForcusに関してsafari(mac,ios)では期待する挙動をしますが、だれかAndroidやWin系のブラウザでも挙動確認していただけると幸いです。

https://dl.dropboxusercontent.com/u/287649/test.html (テストサイト)

ブラウザのタブ切り替え・アプリケーションの切り替えで値がインクリメントされることを確認いただけると幸いです。

  • Safari iOS
  • Safari Mac
  • Chrome Mac
  • Firefox Mac
  • Chrome Android
  • IE11 Windows
  • Chrome Windows
  • firefox Windows

@tdtds
Copy link
Member

tdtds commented Dec 4, 2014

チェックつけた。Chrome Androidはいちおうたいていの場合でイベントが飛ぶけど、他のアプリに行って戻ってきたときにオンメモリにあるような場合や、逆にメモリ不足でreloadしてしまうような場合には飛んでないっぽいので、期待した動作にならない可能性はあります。

@Echos
Copy link
Collaborator Author

Echos commented Dec 4, 2014

オンメモリにあるような場合や、逆にメモリ不足でreloadしてしまうような場合

上記の場合は、既存の自動更新やreloadによる最新化がなされそうなので、onFocusイベントが発火しなくても良さそうな気がしますね。

@tdtds
Copy link
Member

tdtds commented Dec 4, 2014

それがしないのよw reloadといってもキャッシュにあるものが読み出されるだけなので、更新イベントが発火するまで最大30秒待つことになるという。でもまぁ、その時はそのときで。

@pocketp
Copy link
Collaborator

pocketp commented Dec 6, 2014

varで前回更新時刻を持っておいて1秒タイマーで現在時刻と比較しつつ30秒以上なら更新取得処理、という方法だともっとシンプルにできるかと思いますが、これだとバッテリー消費大きいですかね。

@Echos
Copy link
Collaborator Author

Echos commented Dec 6, 2014

イベント取れなかったらタイマーかなぁ?と思ってましたが、とりあえずonFocus取れるみたいなのでそれでやってみようかと思います。

@Echos
Copy link
Collaborator Author

Echos commented Dec 10, 2014

本番投入したので、Closeしますー

@Echos Echos closed this as completed Dec 10, 2014
@Echos
Copy link
Collaborator Author

Echos commented Dec 11, 2014

Android Chromeでうまくいかないぽいので再Open

@Echos Echos reopened this Dec 11, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants