情况:即使扩展程序已关闭,我也会尝试创建一个继续倒计时的Chrome扩展程序弹出计时器。
The code for my project can be found here. The important files are Timer.js and background.js
我正在为我的项目使用ReactJS,我最初在弹出窗口中使用setInterval计时器进行状态更改。我让一切工作正常,但是当我关闭计时器并期望它继续运行时,它没有。
然后我了解到我必须使用background script。 我使用长期连接实现它,将消息发送回弹出计时器,用于我需要的每个更新。我让计时器再次正常工作,但仍然,退出弹出窗口将停止"停止"计时器。
我检查了后台脚本dev-tools,发现后台脚本实际上工作正常,但是自弹出窗口关闭后,定时器组件的端口丢失了,这是有道理的。
我收到此错误消息:extensions::messaging:102 Uncaught Error: Attempting to use a disconnected port object
at PortImpl.postMessage (extensions::messaging:102)
at Port.publicClassPrototype.(anonymous function) [as postMessage] (extensions::utils:138:26)
at setInterval (background.js:42)
我明白问题是什么,但我现在试图弄清楚如何在弹出窗口关闭后保持端口的连接保持连接,或者是否有另一种方法可以修复我的问题。如果有人知道我可以解决这个问题的方法,那就不胜感激了。
感谢。