我正在构建一个Chrome扩展程序作为弹出窗口。
扩展名由始终具有焦点的单个文本区域组成。用户输入了一些数据,我们希望将这些数据保存到Firebase,而无需用户明确保存。
此刻,我定期保存数据(检测每个击键,并在闲置300ms之后触发保存)。但是,如果用户在触发保存之前关闭了窗口,则可能会丢失一些数据。
所以我想知道是否有办法检测弹出窗口的关闭。
我尝试使用window.onunload
事件,但似乎没有被触发。
有什么建议吗?我还考虑过使用服务人员来拥有一个单独的线程,但是Chrome扩展程序似乎不提供它们。
答案 0 :(得分:2)
您不需要使用service worker
执行以下操作:
chrome.runtime.onMessage.addListener
save
选项。监听弹出窗口中的keyup
事件,并与每个keyup
事件一起将事件发送到后台。 wait 300ms and send data to firebase
内容如果您不熟悉chrome.runtime.onMessage
和chrome.runtime.sendMessage
,则需要阅读SDK文档。