Firefox/微调
此页面包含高级 Firefox 配置选项和性能优化方法。
性能[编辑 | 编辑源代码]
提升 Firefox 性能分为两部分:修改运行时参数或开发者提供的配置,以及使用外部程序或脚本进行高级操作。
本节包含用于性能优化的高级 Firefox 选项。更多信息请参阅这些 MozillaZine 文章。
更改性能设置[编辑 | 编辑源代码]
Firefox 会根据计算机的硬件规格自动选择设置 [1]。不过,您可能希望手动调整此设置,以进一步提升性能或在低端设备上减少内存占用。
可以在“设置”页面调整这些设置,或在 about:config
中手动将 dom.ipc.processCount
的值设置为 1-8
,并将 browser.preferences.defaultPerformanceSettings.enabled
设置为 false
。
在这种情况下,当前用户的内容进程限制已增加到 4:
$ ps -e | grep 'Web Content'
13991 tty1 00:00:04 Web Content 14027 tty1 00:00:09 Web Content 14031 tty1 00:00:20 Web Content 14040 tty1 00:00:26 Web Content
WebRender[编辑 | 编辑源代码]
WebRender 是一个使用 Rust 编写的高性能、基于 GPU 加速的 2D 渲染引擎,是 Firefox 和 Servo 浏览器引擎项目的渲染架构,从 Firefox 93 开始默认启用,并在硬件至少支持 OpenGL 3.0 或 OpenGL ES 3.0(截至 2021-04)且满足最低驱动程序要求的情况下默认使用硬件渲染。如果系统不满足这些要求,则回退到使用 WebRender 软件渲染。
如果在设备驱动程序已更新的情况下仍然遇到渲染问题,可以在 about:config
中将 gfx.webrender.software
设置为 true
强制启用 WebRender 软件渲染。
关闭磁盘缓存[编辑 | 编辑源代码]
加载的每个对象(HTML 页面、JPEG 图像、CSS 样式表、GIF 横幅)都会保存到 Firefox 缓存中,以便将来无需重新下载即可使用。由于因为对象的过期时间较短、更新频繁或用户行为(加载新页面而不是返回已访问的页面),估计其中只有约 30% 的对象会被重复使用。Firefox 缓存分为内存缓存和磁盘缓存,后者会导致频繁的磁盘写入:新加载的对象会写入内存,而旧对象会被移除。
一种替代方法是在 about:config
中进行以下设置:
- 将
browser.cache.disk.enable
设置为false
- 确保
browser.cache.memory.enable
设置为true
,关于此选项的更多信息请参见 browser.cache.memory MozillaZine 文章 - 添加条目
browser.cache.memory.capacity
,并将其设置为想要的容量(单位为 KB),或设置为-1
以进行自动缓存大小选择(跳过此步骤的效果等同于将值设置为-1
)- “自动”大小选择基于一个十年前的表格,该表格仅包含适用于 8GB 或以下系统内存的设置。以下公式非常接近该表格,可以用来更动态地设置 Firefox 缓存:
41297 - (41606 / (1 + ((RAM / 1.16) ^ 0.75)))
, 其中RAM
以 GB 为单位,结果以 KB 为单位。
- “自动”大小选择基于一个十年前的表格,该表格仅包含适用于 8GB 或以下系统内存的设置。以下公式非常接近该表格,可以用来更动态地设置 Firefox 缓存:
此方法有一些缺点:
- 浏览器崩溃或重新启动后,当前浏览的网页内容将丢失。可以使用 anything-sync-daemon 或类似的周期性同步脚本定期将缓存复制到磁盘上来避免这种情况。
- 需要为每个用户单独配置这些设置。
将磁盘缓存移动到内存中[编辑 | 编辑源代码]
另一种方法是将“磁盘”缓存移动到内存盘中,这是一种介于以上两种方案之间的解决方案。这样缓存将在 Firefox 会话之间(包括 Firefox 崩溃恢复)保留,但在重启(包括操作系统崩溃)后会被丢弃。
要实现这一点,进入 about:config
并将 browser.cache.disk.parent_directory
设置为 /run/user/UID/firefox
,其中 UID
是用户 ID,可以通过 id -u
获取当前用户 ID。
打开 about:cache
以验证新的磁盘缓存位置。
延长会话信息记录间隔时间[编辑 | 编辑源代码]
Firefox 会定期将当前会话状态(打开的网址、cookies、历史记录和表单数据)存储到磁盘上。这些信息用于在崩溃时恢复上一次的会话。 默认设置是每 15 秒保存一次会话,这会导致频繁的磁盘访问。
例如,要将保存间隔增加到 10 分钟(600000 毫秒),可以在 about:config
中将 browser.sessionstore.interval
的值更改为 600000
。
若要完全禁用此功能,请将 browser.sessionstore.resume_from_crash
更改为 false
。
对配置文件的 SQLite 数据库进行碎片整理[编辑 | 编辑源代码]
Firefox 将书签、历史记录和密码存储在 SQLite 数据库中。随着时间推移,这些数据库会产生碎片,空闲空间散布各处。但由于没有管理进程检查和优化数据库,这些因素最终会对性能造成影响。通过整理碎片和清理未使用空间,可以提升启动速度以及与书签和历史记录相关的一些任务性能。
在 Firefox 未运行的情况下,可以使用 profile-cleaner包 来完成此操作:
SQLite 数据库 | 整理前大小 | 整理后大小 | 变化百分比 |
---|---|---|---|
urlclassifier3.sqlite | 37 M | 30 M | 19 % |
places.sqlite | 16 M | 2.4 M | 85 % |
Firefox 提供了一个工具,用于整理和优化 places 数据库(这是导致性能下降和配置文件损坏的主要原因)。要访问此工具,请打开 about:support
页面,找到 Places 数据库
,然后点击 验证完整性
按钮。
通过 tmpfs 将整个配置文件缓存到内存中[编辑 | 编辑源代码]
如果系统有多余的内存,可以使用 tmpfs
将整个配置文件目录缓存到内存中,这可能会提高 Firefox 的响应速度。
禁用 Pocket 服务[编辑 | 编辑源代码]
如果您不使用 Pocket 服务,可以通过在 about:config
中将 extensions.pocket.enabled
设置为 false 来禁用它。
外观[编辑 | 编辑源代码]
字体[编辑 | 编辑源代码]
参见主条目:字体配置
配置 DPI 值[编辑 | 编辑源代码]
如果系统的 DPI 值低于 96,修改以下值可以改善 Firefox 中字体的显示效果。默认情况下,Firefox 使用的 DPI 值为 96,只有当系统的 DPI 值高于 96 时才会使用系统的 DPI 值。要强制使用系统的 DPI 值(无论其具体大小),在地址栏输入 about:config
并将 layout.css.dpi
设置为 0。
注意,上述方法仅影响 Firefox 用户界面的 DPI 设置。网页内容的 DPI 值仍为 96,这可能会导致字体显示得难看,或者在高分辨率显示器上字体过小,难以阅读。解决方案是将 layout.css.devPixelsPerPx
设置为系统 DPI 除以 96。例如,如果系统 DPI 是 144,则需要设置的值为 144/96 = 1.5。将 layout.css.devPixelsPerPx
设置为 1.5 后,网页内容将使用 144 的 DPI 值,看起来会更好。
如果在 Firefox 103 之后的版本中字体过大,可将 browser.display.os-zoom-behavior
设置为 0。接着,在 about:config
搜索框中输入 ui.textScaleFactor
,选择“数值”选项,点击“+”按钮添加该首选项,并将其值编辑为 layout.css.devPixelsPerPx
值的 100 倍。例如,如果 layout.css.devPixelsPerPx
设置为 1.25,则 ui.textScaleFactor
应设置为 125。
参见 HiDPI#Firefox 了解有关 HiDPI 显示器的信息,以及计算 DPI 的工具。
Microsoft Windows 默认字体设置[编辑 | 编辑源代码]
以下是在 Microsoft Windows 上安装 Firefox 时的默认字体设置。许多网站使用 Microsoft 字体。
比例字体:衬线字体 字号:16(像素) 衬线字体:Times New Roman 无衬线字体:Arial 等宽字体:Courier New 字号:13(像素)
通用用户界面 CSS 设置[编辑 | 编辑源代码]
可以通过编辑 ~/.mozilla/firefox/配置文件夹/chrome/
(配置文件夹
的格式为 hash.name
,其中 hash
是一个 8 位随机字符串,name
通常为 default
)路径下的 userChrome.css
和 userContent.css
文件修改 Firefox 的用户界面。您可以通过在 URL 栏中输入 about:support
,在 应用程序概要
部分查找 配置文件夹
字段来获取具体的配置文件名称(参考 Firefox 文档)。
chrome/
文件夹和userChrome.css
或userContent.css
文件可能不存在,因此可能需要手动创建。- 必须在
about:config
中启用toolkit.legacyUserProfileCustomizations.stylesheets
。
本节仅涉及修改 Firefox 用户界面的 userChrome.css
文件,不包含网页内容的修改。
更改界面字体[编辑 | 编辑源代码]
该设置能够覆盖 GTK 全局字体首选项,并且仅更改界面字体而不改变网页字体:
~/.mozilla/firefox/配置文件夹/chrome/userChrome.css
* { font-family: "FONT_NAME"; }
隐藏按钮图标[编辑 | 编辑源代码]
启用仅文本按钮:
~/.mozilla/firefox/配置文件夹/chrome/userChrome.css
.button-box .button-icon { display: none; }
隐藏标签页栏上的各种按钮[编辑 | 编辑源代码]
以下设置可以隐藏标签页栏水平边缘上的箭头、切换“所有标签页”下拉列表的按钮以及用于创建新标签的页加号按钮。
~/.mozilla/firefox/配置文件夹/chrome/userChrome.css
/* 标签页栏 */ toolbarbutton#scrollbutton-up, toolbarbutton#scrollbutton-down { /* 隐藏标签页栏滚动按钮 */ display: none; } .browser-toolbar > * #alltabs-button { /* 隐藏切换“所有标签页”下拉列表的按钮 */ display: none; } .browser-toolbar > * #new-tab-button { /* 隐藏打开新标签页按钮 */ display: none; }
竖直/树状标签页[编辑 | 编辑源代码]
使用以下插件之一将标签栏放置在侧边栏/树中:
Firefox 插件无法通过其扩展 API 隐藏原生标签栏⸺要做到这一点,请按照插件的设置/高级说明进行操作。
隐藏标题栏和窗口边框[编辑 | 编辑源代码]
要用标签栏替换标题栏,请在 about:config
中将 browser.tabs.inTitlebar
设置为 1
。
或者转到“更多工具”中的“定制工具栏⋯”,取消选中左下角的“标题栏”复选框。如果该复选框本未选中,请确保正确设置了 XDG_CURRENT_DESKTOP
环境变量和/或将 MOZ_GTK_TITLEBAR_DECORATION
环境变量设置为 client
。
自动隐藏书签工具栏[编辑 | 编辑源代码]
~/.mozilla/firefox/配置文件夹/chrome/userChrome.css
#PersonalToolbar { visibility: collapse !important; } #navigator-toolbox:hover > #PersonalToolbar { visibility: visible !important; }
取消侧边栏宽度限制[编辑 | 编辑源代码]
~/.mozilla/firefox/配置文件夹/chrome/userChrome.css
/* 取消侧边栏最大与最小宽度限制 */ #sidebar { max-width: none !important; min-width: 0px !important; }
使用深色 GTK 主题时输入字段不可读[编辑 | 编辑源代码]
在使用深色 GTK 主题时,可能会遇到网页上的输入和文本字段不可读的问题(例如,文本输入字段中的白色文本显示在白色背景上,或黑色文本显示在深色背景上)。这种情况的发生是因为网站仅设置了背景色或文本颜色之一,而 Firefox 则从主题中获取了另一种颜色。为防止 Firefox 使用主题颜色和网页中的深色主题,请确保在 about:config
中将 browser.display.use_system_colors
和 widget.content.allow-gtk-dark-theme
均设置为 false
。
如果上述修改未能解决问题,可以通过添加一个新的字符串键 widget.content.gtk-theme-override
并将其设置为浅色主题(如 Breeze:light
或 Adwaita:light
),以浅色 GTK 主题启动 Firefox。
使用 CSS 覆盖输入字段颜色[编辑 | 编辑源代码]
扩展程序 Text Contrast for Dark Themes 根据需要设置其他颜色以保持对比度。
或者,可以在 userContent.css
中为所有网页显式设置标准颜色,或者使用 Stylus 扩展来完成。样式表位于配置文件夹(可通过 about:profiles
查看路径)中的 chrome/userContent.css
,如果不存在,可以在该位置创建。
以下设置将输入字段设置为标准的白底黑字。这两种颜色可以被网页覆盖,从而按照网页的设计显示颜色:
:not
CSS 选择器以设置地址栏和搜索栏为白底黑字。input:not(.urlbar-input):not(.textbox-input):not(.form-control):not([type='checkbox']):not([type='radio']), textarea, select { -moz-appearance: none !important; background-color: white; color: black; } #downloads-indicator-counter { color: white; }
更改 GTK 主题[编辑 | 编辑源代码]
要强制 Firefox 同时为网页内容和 UI 使用浅色主题(例如 Adwaita),参见 GTK#主题。
仅为网页内容更改 GTK 主题[编辑 | 编辑源代码]
要强制 Firefox 仅为网页内容使用浅色主题(例如 Adwaita):
- 在地址栏中打开
about:config
。 - 创建名为
widget.content.gtk-theme-override
的字符串首选项(鼠标右键
> 新建 > 字符串)。 - 将值设置为用于渲染的浅色主题(例如
Adwaita:light
)。 - 重新启动 Firefox。
网页内容 CSS 设置[编辑 | 编辑源代码]
本节介绍 userContent.css
文件,在其中可以添加自定义网页内容的 CSS 规则。对此文件的更改会在浏览器重新启动后生效。
此文件可用于进行小范围修复或为经常访问的网站应用个性化样式。热门网站的自定义样式表可从 userstyles.org 等来源获得,也可以安装某些插件来管理主题。
导入其他 CSS 文件[编辑 | 编辑源代码]
~/.mozilla/firefox/配置文件夹/chrome/userContent.css
@import url("./imports/some_file.css");
屏蔽来自特定域名的部分[编辑 | 编辑源代码]
~/.mozilla/firefox/配置文件夹/chrome/userContent.css
@-moz-document domain(example.com) { div#header { background-image: none !important; } }
在指向 PDF 文件的链接文本后追加“[pdf]”[编辑 | 编辑源代码]
~/.mozilla/firefox/配置文件夹/chrome/userContent.css
/* 在指向 PDF 文件的链接文本后追加“[pdf]” */ a[href$=".pdf"]:after { font-size: smaller; content: " [pdf]"; }
鼠标与键盘[编辑 | 编辑源代码]
鼠标滚轮滚动速度[编辑 | 编辑源代码]
要修改鼠标滚轮滚动速度的默认值(例如用于加快速度),请进入 about:config
并搜索 mousewheel.acceleration
以显示可用的首选项,修改以下设置:
- 将
mousewheel.acceleration.start
设置为1
。 - 将
mousewheel.acceleration.factor
设置为所需的数值(常见值为10
至20
)。
或者,如果想使用系统值(类似于 Chromium 的滚动方式),将 mousewheel.system_scroll_override.enabled
设置为 false
。
Mozilla 推荐通过以下方式提高鼠标滚轮的滚动速度:
- 将
mousewheel.default.delta_multiplier_y
设置为200
到500
之间的值(默认值:100
)。
像素级精确的触控板滚动[编辑 | 编辑源代码]
要启用 1:1 的触控板滚动效果(如在 Nautilus 等 GTK3 应用中所见),在启动 Firefox 之前设置环境变量 MOZ_USE_XINPUT2=1
。
如果滚动时不够流畅,可以在“设置 > 常规 > 浏览”中启用 Firefox 的“使用平滑滚动(M)”选项。
启用触摸屏手势[编辑 | 编辑源代码]
在 Wayland 上,触摸屏手势默认启用。
在 X11 上,确保将 dom.w3c_touch_events.enabled
设置为 1(“启用”)或 2(“默认,自动检测”),并设置环境变量 MOZ_USE_XINPUT2=1
。
在某些设备上,可能需要通过运行以下命令禁用 xinput 的触摸屏手势:
$ xsetwacom --set 设备 Gesture off
鼠标点击地址栏时的行为[编辑 | 编辑源代码]
在旧版本的 Firefox 中,可以在 about:config
中调整地址栏的行为,但此功能已在 2020 年 3 月被移除。
例如,要禁用首次点击时自动选中地址栏内容的行为,或允许双击地址栏以选中全部 URL,可参考用户提供的脚本,如:https://github.com/SebastianSimon/firefox-omni-tweaks
平滑滚动[编辑 | 编辑源代码]
要在 Firefox 中实现基于物理效果的平滑滚动,可以修改 general.smoothScroll.msdPhysics
配置,以模拟其他浏览器中的更灵敏滚动行为。为了快速配置,可将以下内容追加到 ~/.mozilla/firefox/配置文件夹/user.js
(需要重启浏览器):
user_pref("general.smoothScroll.lines.durationMaxMS", 125); user_pref("general.smoothScroll.lines.durationMinMS", 125); user_pref("general.smoothScroll.mouseWheel.durationMaxMS", 200); user_pref("general.smoothScroll.mouseWheel.durationMinMS", 100); user_pref("general.smoothScroll.msdPhysics.enabled", true); user_pref("general.smoothScroll.other.durationMaxMS", 125); user_pref("general.smoothScroll.other.durationMinMS", 125); user_pref("general.smoothScroll.pages.durationMaxMS", 125); user_pref("general.smoothScroll.pages.durationMinMS", 125);
此外,还必须更改鼠标滚轮滚动设置才能以平滑的方式做出反应:
user_pref("mousewheel.min_line_scroll_amount", 30); user_pref("mousewheel.system_scroll_override_on_root_content.enabled", true); user_pref("mousewheel.system_scroll_override_on_root_content.horizontal.factor", 175); user_pref("mousewheel.system_scroll_override_on_root_content.vertical.factor", 175); user_pref("toolkit.scrollbox.horizontalScrollDistance", 6); user_pref("toolkit.scrollbox.verticalScrollDistance", 2);
如果在性能不稳定的设备上遇到问题,可以尝试修改 mousewheel.min_line_scroll_amount
,直到滚动感觉足够流畅。
要进行更高级的配置以修改质量—弹簧—阻尼器参数,请参阅 AveYo 的自然平滑滚动配置。
apz.gtk.kinetic_scroll.enabled
的默认值为 true
而完全无效。如果发现这些调整不起作用,请尝试将此值设置为 false
。设置 Backspace 键行为[编辑 | 编辑源代码]
参见 Firefox#Backspace 键无法用作“后退”按钮。
禁用中键单击时从剪贴板粘贴内容[编辑 | 编辑源代码]
参见 Firefox#中键单击行为。
Emacs 按键绑定[编辑 | 编辑源代码]
要在文本字段中启用类似 Emacs/Readline 的按键绑定,请参阅 GTK#Emacs 按键绑定。
杂项[编辑 | 编辑源代码]
强制启用硬件视频解码[编辑 | 编辑源代码]
尽管 media.hardware-video-decoding.enabled
默认已启用,但有时可能需要通过将 media.hardware-video-decoding.force-enabled
设置为 true
来强制启用硬件视频解码。
移除全屏提示[编辑 | 编辑源代码]
可以通过将 full-screen-api.warning.timeout
设置为 0
来禁用全屏模式播放视频时的提示(“⋯⋯已进入全屏模式”)。
更改 Firefox 搜索栏中的搜索引擎顺序[编辑 | 编辑源代码]
要更改显示搜索引擎的顺序:
- 打开搜索引擎下拉列表,点击“管理搜索引擎...”项。
- 高亮显示您要移动的引擎,使用“上移”“下移”或直接拖放来移动。
“手气不错”模式[编辑 | 编辑源代码]
一些搜索引擎(例如 Google)有“手气不错”功能。
要启用它们,请在 about:config
中搜索 keyword.url
并将其值(如果有的话)修改为搜索引擎的 URL。
对于 Google,将其设置为:
https://www.google.com/search?btnI=I%27m+Feeling+Lucky&q=
使用 DNSSEC 启用安全 DNS[编辑 | 编辑源代码]
您可以启用 DNSSEC 支持以提高浏览安全性。
使用 DNS over HTTPS 启用安全 DNS[编辑 | 编辑源代码]
请参阅域名解析#应用级 DNS。
添加磁力链接协议关联[编辑 | 编辑源代码]
在 about:config
中将 network.protocol-handler.expose.magnet
设置为 false
。如果该项不存在,则首先创建其为布尔值。
下次打开磁力链接时,您将看到一个“启动应用程序”对话框。只需选择需要的 BitTorrent 客户端。这种方法也可以用于其他协议:network.protocol-handler.expose.协议
。
防止意外关闭[编辑 | 编辑源代码]
有不同的方式来处理这个问题:
可以通过在 about:config
中将 browser.quitShortcut.disabled
属性设置为 true
来禁用此行为。
另一种方法是在您的窗口管理器配置文件中添加规则。例如 Openbox 中,在 ~/.config/openbox/rc.xml
文件的 <keyboard> 部分添加:
<keybind key="C-q"> <action name="Execute"> <execute>false</execute> </action> </keybind>
可以安装 Disable Ctrl-Q and Cmd-Q 扩展,以防止浏览器被意外关闭。
滚动不稳[编辑 | 编辑源代码]
Firefox 中的滚动可能会让人感觉“颠簸”或“不稳定”。一篇 MozillaZine 上的帖子提供了适用于 Gentoo 的设置,据说也适用于 Arch Linux:
- 设置
mousewheel.min_line_scroll_amount
为 40 - 设置
general.smoothScroll
和general.smoothScroll.pages
为 false - 设置
image.mem.min_discard_timeout_ms
为一个非常大的值,例如 2100000000,但不要超过 2147483647(231 - 1)。超过该数值时,Firefox 会拒绝输入 - 将
image.mem.max_decoded_image_kb
设置为至少 512(K)
现在滚动应该变得更稳定,但不再平滑。
在 nspawn 容器中运行 Firefox[编辑 | 编辑源代码]
请参阅 systemd-nspawn#运行 Firefox。
禁用 WebRTC 音频后处理[编辑 | 编辑源代码]
如果使用 PulseAudio PulseAudio#麦克风回声/噪音消除,可能不希望 Firefox 执行额外的音频后处理。
要禁用音频后处理,请将以下首选项的值更改为 false
:
media.getusermedia.aec_enabled
(声学回声消除)media.getusermedia.agc_enabled
(自动增益控制)media.getusermedia.noise_enabled
(噪声抑制)media.getusermedia.hpf_enabled
(高通滤波器)
Fido U2F 身份验证[编辑 | 编辑源代码]
Firefox 支持 Fido U2F 身份验证协议。安装 libfido2包 以获取所需的 udev 规则。
恢复 ALSA 音频功能[编辑 | 编辑源代码]
只要 Arch 继续使用 ac_add_options --enable-alsa
构建 Firefox,Firefox 就可以在系统中没有 PulseAudio 的情况下正常工作而无需任何特殊配置,也无需 apulse(除非系统中使用 PulseAudio 且希望 Firefox 避免使用它)。曾经,需要允许 ioctl 系统调用(被 Firefox 沙箱默认阻止),并且 ALSA 设置 security.sandbox.content.syscall_whitelist
中必须包含正确的 ioctl 系统调用号码,对于 x86-64 是 16,对于 x86-32 是 54,但现在不再需要。参考:
强制启用 WebGL[编辑 | 编辑源代码]
在某些平台上,WebGL 可能会被禁用。要强制启用 WebGL,请将 webgl.force-enabled
设置为 true
,要强制启用 WebGL 抗锯齿,请将 webgl.msaa-force
设置为 true
。
如果出现类似以下错误:
libGL error: MESA-LOADER: failed to retrieve device information libGL error: image driver extension not found libGL error: failed to load driver: i915 libGL error: MESA-LOADER: failed to retrieve device information ...
您可以尝试按照 Firefox bug 1480755 中解释的解决方案 [5]:
将 security.sandbox.content.read_path_whitelist
设置为 /sys/
启用 Pocket 推荐内容[编辑 | 编辑源代码]
如果您没有看到“由 Pocket 推荐”(“设置 > 主页 > Firefox 首页内容”),可以通过在 about:config
中将 browser.newtabpage.activity-stream.feeds.section.topstories
和 browser.newtabpage.activity-stream.feeds.system.topstories
设置为 true
来启用它。尽管此选项仍不会显示在首选项中,但重新打开的标签页/窗口(如果设置为 Firefox 首页
)现在应该会显示 Pocket 推荐内容。
防止下载面板自动打开[编辑 | 编辑源代码]
从 Firefox 98 开始,下载面板(显示正在进行/最近的下载)会在每次下载开始时自动打开。
您可以通过在 about:config
中将 browser.download.alwaysOpenPanel
设置为 false
来禁用此行为。