0

У меня есть расширение chrome с именем Reminder App, в котором я использовал Alarm API, который позволяет пользователю устанавливать будильник, у приложения есть два раздела. Чтобы создать одно напоминание (например, в 10:20) и создать несколько напоминаний (например, каждые 50 минут), когда в упакованном приложении (после загрузки в интернет-магазин) я установил два напоминанияChrome Extension - Chrome Alarm API пересматривает весь аварийный сигнал после каждого созданного аварийного сигнала

1.10: 20 AM (at 10:18:10 AM)

2.Every 10 мин (на 10:19:10 AM)

В локальной (App) Без упаковки Оба тревожном ровно в 10:20, но тот же сценарий, в пакете летняя программа App First Alarm вышла в 10:20, а вторая - в 10:21 (вместо 10:20).

Как я могу заставить их синхронизировать?

Это связано с этим. В Alarm API Doc?

Чтобы уменьшить нагрузку на машину пользователя, Chrome ограничивает аварийные сигналы не более 1 раз, но может задержать их на произвольное количество больше. [...]

Чтобы отладить ваше приложение или расширение, когда вы его загрузили, нет ограничений на то, как часто срабатывает будильник.

+1

эта цитата кажется довольно понятной и объясняет вашу проблему –

+0

@ Zig Mandel isnt't нет другого способа, чтобы я мог синхронизировать его? – Sona

+0

setTimeout и т. Д. Из справочной страницы –

ответ

0

я решил его с помощью SetTimeout() или setinterval() функцию, как предложено @Zig ​​Mandel, им теперь уже не с помощью хромированной тревоги API, я просто хранить данные с использованием API хранилища и опроса его каждые 1 сек, используя функцию setinterval в фоновой странице из хранилища.

0

Как указано в Alarm API Doc и, как вы процитировали:

Chrome ограничивает сигналы на более чем один раз каждые 1 минуту, но может задержать их произвольное количество больше.

Другой способ, который может сработать для вас, - это «добавить» новый текст напоминания с именем тревоги, имеющего такое же значение в формате schedTime.

Это можно сделать, проверив, соответствует ли новый сигнал любому запланированному времени всех уже настроенных аварийных сигналов. Если это так, вы можете очистить этот особый сигнал и создать новый с добавленным текстом. Затем вы можете обрабатывать прилагаемый текст при запуске onAlarm(). не

[Примечание: Я не попытался это]