You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android版Firefox Nightly能否后台持续运行脚本?

解决Android Firefox Nightly后台Tampermonkey脚本停止运行的问题

一、Android系统层面设置

Android的电池优化和后台限制是导致脚本停止的核心原因,需调整以下设置:

  • 关闭Firefox Nightly的电池优化:进入系统「设置」→「电池」→「电池优化」,找到Firefox Nightly,设置为「不优化」
  • 锁定后台进程:在多任务界面长按Firefox Nightly图标,选择「锁定」(不同品牌操作有差异,如小米下拉加锁、华为点击锁形图标)
  • 解除后台权限限制:部分品牌有专属后台管控(如OPPO「纯净后台」、vivo「后台高耗电」),需将Firefox Nightly加入允许后台运行的名单

二、Firefox Nightly浏览器设置

调整浏览器自身的后台休眠策略:

  • 关闭后台标签暂停:打开Firefox Nightly→「设置」→「隐私和安全」,找到「后台标签暂停」选项并关闭
  • 启用保持唤醒权限:在设置内搜索「保持唤醒」,开启「允许网站保持唤醒状态」(部分版本表述为「允许页面保持唤醒」)
  • 关闭浏览器省电模式:若开启了Firefox的省电模式,会限制后台活动,需在设置内找到并关闭

三、Tampermonkey脚本优化

通过Web API申请系统唤醒锁,避免进程被休眠:
在脚本中添加唤醒锁申请逻辑,示例代码如下:

let wakeLock = null;

// 申请屏幕唤醒锁
async function acquireWakeLock() {
  try {
    wakeLock = await navigator.wakeLock.request('screen');
    // 唤醒锁被释放时10秒后重新申请
    wakeLock.addEventListener('release', () => {
      setTimeout(acquireWakeLock, 10000);
    });
  } catch (err) {
    console.error('唤醒锁申请失败:', err);
  }
}

// 页面加载时申请唤醒锁
window.addEventListener('load', acquireWakeLock);
// 页面从后台回到前台时重新申请
document.addEventListener('visibilitychange', () => {
  if (!document.hidden && !wakeLock) {
    acquireWakeLock();
  }
});
  • 避免依赖普通setTimeout/setInterval,结合页面可见性API(document.hidden)判断,当页面不可见时,用短间隔小任务保持进程活跃

注意事项

  • 部分定制Android系统(如MIUI、ColorOS)的后台管控较为激进,需额外在系统安全中心将Firefox Nightly加入「后台白名单」或「自启动名单」
  • 持续后台运行会增加电池消耗,这是功能需求带来的必然权衡

内容的提问来源于stack exchange,提问作者JackStrong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 13:22:13