Приложение, которое я разрабатываю, построено вокруг jQuery Mobile и некоторых Ajax для обновления частей страницы. Как и сайты, использующие автоматическое обновление, я хочу остановить обновление после некоторого условия (время/видимость/и т.д.), Поэтому мой сервер не обманывается ненужными запросами. Приложение имеет экран состояния, который обычно проверяется пользователем, и, в идеале, мои скрипты будут знать, что окно браузера сосредоточилось, и было бы подходящим временем для обновления. Я делал это раньше в desktop webapps, но я замечаю множество вариаций на мобильной стороне между различными платформами и браузерами, например:
- window.onfocus() делает/не срабатывает, когда браузер получает фокус.
- window.onfocus() выполняет/не запускает, когда вкладки переключаются в браузере.
- Javascript не заблокирован между переключателями табуляции и/или отключается от браузера.
Лучшее, что я смог сделать до сих пор, - это набор эвристик, которые рассматривают доступные события +, когда было обнаружено взаимодействие пользователя со страницей, но оно неуклюже и приводит к тому, что пользователь переходит на страницу назад и необходимо обновить вручную. Не очень.
Какие-нибудь умные методы для решения этого?