Chrome扩展-Chrome报警API为创建的每个新报警重新安排所有报警
Chrome Extension - Chrome Alarm API rescheduling all alarm after for each new alarm created
我开发了名为Reminder App的chrome扩展,其中我使用了Alarm API,允许用户设置警报,App有两个部分创建单个提醒(例如上午10:20)和创建多个提醒(例如每50分钟一次),当在打包的应用程序中时(上传到网店后),我设置了两个提醒
上午1.10:20(上午10:18:10)
2.每10分钟(上午10:19:10)
在本地(未包装的应用程序)中,两个警报都是在上午10:20触发的,但相同的场景在打包的应用程序中,第一个警报在上午10:20AM响起,但第二个警报在10:21AM响起(而不是上午10:20)。
如何使两者同步?
是否是因为警报API文档中的声明?
为了减少用户机器上的负载,Chrome将警报限制为最多每1分钟一次,但可能会延迟任意数量的警报。[…]
为了帮助你调试你的应用程序或扩展程序,当你打开包装加载它时,警报的触发频率没有限制。
如警报API文件中所述以及您所引用的:
Chrome将警报限制为最多每1分钟一次,但可能会延迟任意数量的更多。
另一种可行的方法是在新提醒的文本中"附加"具有相同scheduledTime的警报名称。
这可以通过检查新警报是否与已设置的所有警报的任何计划时间相匹配来完成。如果是这样,您可以清除特定的警报,并创建一个带有附加文本的新警报。然后,当onAlarm()被触发时,您可以处理附加的文本。
[注意:我还没有尝试过]
我按照@Zig Mandel的建议使用settimeout()或setinterval()函数解决了这个问题,我现在不再使用chrome报警API,我只是使用Storage API存储数据,并使用setinterval函数每隔1秒在后台页从存储中轮询一次。
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 防止Iframe窗体在新窗口中打开
- 让文本输入幻灯片显示输入时的新文本输入?然后向后滑动
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- Firebase迁移-简单的Firebase.set没有'不再工作了——旧的还是新的
- 通过js在新选项卡中有条件地打开url
- 使用jquery将mysql数据获取到新的表行中
- 触摸移动时切换到新元素
- 如何从rails中的代码中删除新行( )
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 操作员”;新的“;根据我想在几个JavaScript文件中使用的类,在JavaScript中使用
- chrome在WebSocket握手期间获取新错误
- AngularJs指令,该指令创建内部有数据对象的新指令
- 新选项卡被弹出窗口阻止程序阻止
- Chrome扩展-Chrome报警API为创建的每个新报警重新安排所有报警
- 打开新页面:新窗口vs新标签
- 如何在新标签/新窗口中打开tweet的链接
- 当在文本框中输入任何新的新值时,光标位置正在改变
- 新选择新图表时不会绘制
- 需要移动/重新安排SharePoint blogwebparts到顶部动态时,新的帖子发布