应将dom.max_script_run_time值从10改为3以提前中断异常脚本;同时禁用硬件加速、停用Flash插件、排查冲突扩展并清除损坏的places.sqlite数据库。

火狐浏览器打开含大量动态交互的网页(如在线文档编辑器、数据可视化看板、实时聊天界面)时,频繁弹出“脚本无响应”警告并卡死,本质是主线程被未节流的DOM轮询、未捕获的无限循环或GPU渲染管线阻塞所拖垮,而非网页本身代码必然有错。
缩短脚本超时阈值立即生效
第一步:地址栏输入 about:config → 回车 → 点击“我保证会小心”。
第二步:搜索框中输入 dom.max_script_run_time → 找到该项后双击,将默认值 【10】 改为 【3】。
第三步:关闭当前所有标签页,重启浏览器。改完后只要脚本连续占用主线程满3秒,就会立刻弹窗,你可马上点“停止脚本”,避免等满10秒导致整个UI线程锁死、鼠标悬停无反馈、滚动条冻结。
禁用硬件加速释放GPU线程
菜单 → 设置 → 左侧选“常规” → 滚动到底部“性能”区域。
取消勾选“使用推荐的性能设置” → 再取消勾选“使用硬件加速”。
【必须重启浏览器才能生效】。这一步对搭载 Intel HD Graphics 4000/5000 或 AMD Radeon R5/R7(2013–2015 年型号)的老机器效果最明显——显卡驱动与 WebRender 不兼容时,GPU线程卡在绘制阶段,页面就静默假死,CPU占用却不高。
临时停用Flash插件切断干扰源
方法一:菜单 → 附加组件 → 左侧选“插件” → 右侧找到 “Shockwave Flash” → 下拉菜单改为“询问是否激活”。
方法二(更彻底):地址栏输入 about:config → 搜索 dom.ipc.plugins.flash.disable-protected-mode → 右键切换为 true。
注意:修改后需关闭所有火狐窗口再重开,否则 Flash 进程可能残留并继续干扰。
精准定位冲突扩展
① 按 Ctrl + Shift + P 新建无痕窗口 → 访问问题网页,若不再弹窗,则问题锁定在扩展。
② 返回正常模式 → 地址栏输入 about:addons → 切换到“扩展”页 → 优先禁用近7天内安装、名称含“翻译”“增强”“广告”的扩展。
③ 禁用后重启火狐 → 逐个启用 → 每启一个就刷新问题网页 → 一旦重现弹窗,立即停手,该扩展即为冲突源。
部分扩展(如 Violentmonkey)禁用后残留注入脚本,需点击其右侧三点菜单 → “移除数据” → 勾选“网站数据”和“本地存储”再确认。
清除损坏的 places.sqlite 数据库
若仅在打开书签栏、历史记录页或同步节点时瞬间冻结,大概率是 places.sqlite 文件损坏。该文件存储全部书签、访问历史和标签页快照,损坏后 Firefox 在读取元数据时会反复重试直至超时。
关闭所有火狐窗口 → 进入配置文件夹(Win:%APPDATA%\Mozilla\Firefox\Profiles\;Mac:~/Library/Application Support/Firefox/Profiles/)→ 找到以 .default-release 结尾的文件夹 → 删除其中的 places.sqlite 和 places.sqlite-wal 文件 → 重启火狐,数据库将自动重建。


















