将数据从Chrome扩展程序弹出窗口保存到限速后端

时间:2018-12-13 09:29:55

标签: javascript google-chrome-extension

我正在构建一个Chrome扩展程序作为弹出窗口。

扩展名由始终具有焦点的单个文本区域组成。用户输入了一些数据,我们希望将这些数据保存到Firebase,而无需用户明确保存。

此刻,我定期保存数据(检测每个击键,并在闲置300ms之后触发保存)。但是,如果用户在触发保存之前关闭了窗口,则可能会丢失一些数据。

所以我想知道是否有办法检测弹出窗口的关闭。 我尝试使用window.onunload事件,但似乎没有被触发。

有什么建议吗?我还考虑过使用服务人员来拥有一个单独的线程,但是Chrome扩展程序似乎不提供它们。

1 个答案:

答案 0 :(得分:2)

您不需要使用service worker

执行以下操作:

  • 如果没有后台脚本,则需要添加一个
  • 在后台脚本中添加chrome.runtime.onMessage.addListener
  • 请勿在弹出窗口中触发save选项。监听弹出窗口中的keyup事件,并与每个keyup事件一起将事件发送到后台。
  • 在后台执行您的wait 300ms and send data to firebase内容

如果您不熟悉chrome.runtime.onMessagechrome.runtime.sendMessage,则需要阅读SDK文档。