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

Firefox书签小工具:打开about:memory触发内存优化功能遇阻

解决Firefox书签小工具调用about:memory内存回收功能的问题

about:memory属于Firefox的chrome特权页面,运行在与普通网页完全隔离的权限上下文环境中。普通书签小工具、页面控制台都属于content上下文,无法直接访问该页面的全局函数(比如doMMU())或操作DOM元素,这就是你遇到无提示错误的原因。

下面提供两种可行的实现方式:

方式一:使用用户脚本(Tampermonkey/Greasemonkey)

编写用户脚本自动触发内存回收,脚本会在你打开about:memory时自动执行:

// ==UserScript==
// @name         自动触发Firefox内存回收
// @match        about:memory
// @run-at       document-idle
// ==/UserScript==

(function() {
    // 直接调用页面内置的doMMU函数
    if (typeof doMMU === 'function') {
        doMMU();
        // 可选:执行后自动关闭页面
        setTimeout(() => window.close(), 800);
    }
})();

安装脚本后,只要打开about:memory页面,就会自动触发内存回收操作。

方式二:使用Firefox WebExtension(扩展)

如果需要通过书签点击直接触发,可以编写一个轻量扩展:

  1. 创建manifest.json文件:
{
  "manifest_version": 3,
  "name": "内存一键回收",
  "version": "1.0",
  "permissions": ["tabs"],
  "background": {
    "scripts": ["background.js"]
  },
  "bookmarks": {
    "default_title": "回收Firefox内存",
    "default_icon": "icon.png"
  }
}
  1. 创建background.js文件:
chrome.bookmarks.onClicked.addListener(async () => {
  // 打开about:memory页面
  const tab = await chrome.tabs.create({url: "about:memory"});
  // 页面加载完成后注入脚本调用doMMU
  chrome.tabs.onUpdated.addListener(function listener(tabId, info) {
    if (tabId === tab.id && info.status === "complete") {
      chrome.tabs.executeScript(tabId, {
        code: "if(typeof doMMU === 'function') doMMU(); setTimeout(() => window.close(), 800);"
      });
      chrome.tabs.onUpdated.removeListener(listener);
    }
  });
});

将文件打包成扩展安装后,书签栏会出现对应的按钮,点击即可完成内存回收。

注意:Firefox对chrome特权页面的访问限制严格,普通书签小工具因权限不足无法实现需求,上述两种方式是当前可行的替代方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 12:10:04