Логика значит такая.
При создании таймера получаете время его запуска и записываете в localStorage, при определении неактивного состояния страницы записываете это время туда же. И при возвращении высчитав разницу во времени продолжаете считать с нужного момента.