Firefox 默认在当前标签页中打开搜索结果、书签和地址栏建议。对于需要同时参照多个页面的工作场景,这种行为会导致当前页面被覆盖,需要反复使用后退按钮或手动以中键点击。

Firefox 的 about:config 隐藏配置页面提供了三个布尔值选项,可以分别控制这三类操作在新标签页中打开。

进入 about:config

在 Firefox 地址栏输入 about:config 并回车,页面会显示风险提示,点击"接受风险并继续"即可进入配置界面。

配置项说明

browser.search.openintab

  • 类型:布尔值
  • 默认值false
  • 作用:控制通过搜索栏发起的搜索结果是否在新标签页中打开。设为 true 后,搜索栏的搜索结果将在新标签页加载,当前页面保持不变。
  • 适用场景:在阅读博客园等技术文章时,希望保留当前页面同时打开搜索结果。

修改方法:在搜索框输入 browser.search.openintab,双击结果行,将值从 false 切换为 true

browser.tabs.loadBookmarksInTabs

  • 类型:布尔值
  • 默认值false
  • 作用:控制从书签栏或书签菜单点击书签时,是否在新标签页中打开。设为 true 后,所有通过单击打开的书签都会在新标签页加载。
  • 适用场景:从书签栏快速打开知乎等常用站点时,不希望覆盖当前正在浏览的页面。

修改方法:在搜索框输入 browser.tabs.loadBookmarksInTabs,双击结果行,将值切换为 true

browser.urlbar.openintab

  • 类型:布尔值
  • 默认值false
  • 作用:控制从地址栏(Awesome Bar)下拉建议中选择条目时,是否在新标签页中打开。设为 true 后,地址栏建议将在新标签页加载。
  • 适用场景:通过地址栏输入关键词快速跳转时,保留当前页面。

修改方法:在搜索框输入 browser.urlbar.openintab,双击结果行,将值切换为 true

配置汇总

配置项 类型 默认值 目标值 控制范围
browser.search.openintab Boolean false true 搜索栏结果
browser.tabs.loadBookmarksInTabs Boolean false true 书签打开方式
browser.urlbar.openintab Boolean false true 地址栏建议

最近在一个前后端分离项目中,接口服务并不是直接暴露给浏览器访问,而是通过 Nginx/OpenResty 作为统一入口进行反向代理。浏览器访问的是对外的 API 域名,请求先进入 Nginx/OpenResty,再由反向代理转发到内部后端服务。

在这个架构下配置跨域时,遇到了一个比较隐蔽的问题:同一个 API,在一个前端站点可以正常访问,换到另一个前端站点后却被浏览器拦截,提示 Access-Control-Allow-Origin 不匹配。表面上看像是某个来源域名没有被允许,实际根因是反向代理层和后端服务同时返回了 CORS 响应头,导致浏览器收到重复且冲突的跨域配置。

本文记录这次问题的排查过程、根因分析和最终处理方式,适用于 Nginx/OpenResty 反向代理后端接口时遇到的 CORS 异常。

阅读全文 »


1. 背景

最近在使用 Firefox 时遇到两个明显问题:

  1. Firefox 看起来占用内存较高;
  2. 偶发出现整个系统黑屏、卡死的情况。

为了判断问题到底是 Firefox 内存泄漏、网页占用过高、扩展异常,还是显卡/硬件加速相关问题,我导出了 Firefox 的 about:memory 内存报告,并对其中的进程、内存类型、扩展、GPU/WebRender 使用情况进行了分析。

本文记录这次分析过程、关键数据、结论以及建议的解决方案。

阅读全文 »