FireFox Android:Web扩展后台脚本持续多长时间



具体来说,如果我在background.js中创建一个变量,并且我关闭了Firefox(以至于所有选项卡都必须重新加载,但仍被保存(,该变量是否仍然存在于我离开的状态?

在我的特定情况下,我想在选项卡更新时存储一些有关选项卡的数据。每当我查询选项卡时,我都不能依赖那里的数据,因此我必须在更新后立即获取它。如果我有一个全局对象,它会保留有关在 FF Android 关闭并重新打开之前更新的选项卡的信息,还是会将其重新设置为空,并在更新新选项卡时再次开始填充。简化:

var count = 0;
browser.tabs.onUpdate.adListener(function()
{
    count = count + 1;
});
//----------------------
// user updates a 3 tabs
//----------------------
console.log(count); // this prints 3
//===========================
// FF android is killed here!
//===========================
// FF android is re-opened
//===========================
//-------------------------
// user updates 3 more tabs
//-------------------------
console.log(count); // does this print 3 or 6?

WebExtension的背景脚本只是另一个(不可见的(选项卡。

如果你重新启动 Firefox 到重新加载所有选项卡的程度,那么不可见的选项卡就会重新加载;那里不应该对持久性进行特殊处理 - 你的代码基本上是从空白状态再次运行的。

如果你自己确实需要持久性,你需要使用类似 browser.storage API 的东西。

相关内容

  • 没有找到相关文章

最新更新