【发布时间】:2016-01-15 13:33:53
【问题描述】:
我正在制作一个供个人使用的 chrome 扩展,它将递归调用 setTimeout。我想确保这个扩展在任何情况下都不会意外产生多个 setTimeouts 链。
我已经做到了,当我单击浏览器操作时,它会调用 clearTimeout。但是,我担心当我重新加载扩展时,旧的超时链会继续吗?可能还有其他我没有想到的情况。是否有一种可靠的方法来防止意外创建多个超时链?
似乎没有办法枚举活动的javascript计时器:Viewing all the timouts/intervals in javascript?
【问题讨论】:
-
你能添加一些代码吗?因为尚不完全清楚您如何“递归调用”setTimeout。无论如何,如果您在后台页面脚本中执行此操作,那么所有计时器将在重新加载时被销毁。只有注入的内容脚本才能生存,除非您还重新加载网页。另外,我建议使用
chrome.alarmsAPI。
标签: javascript recursion google-chrome-extension settimeout