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

如何在Firefox中打开新标签页时复制当前标签页的历史记录

如何在Firefox中打开新标签页时复制当前标签页的历史记录

我太懂你怀念的那种老Firefox体验了——中键点链接开新标签时,新标签能带着原标签的完整浏览历史,回溯之前的页面特别方便。针对你现在用的Ubuntu 22.04 Snap版Firefox,结合你装的Greasemonkey,给你一个简单可行的解决方案:

用Greasemonkey脚本实现历史继承

现在Firefox默认已经取消了这个行为,也没有现成的about:config开关直接恢复,但我们可以用一小段用户脚本来模拟老功能,核心思路是先复制当前标签(复制的标签会完全继承原标签的历史),再在新标签里打开目标链接。

具体步骤如下:

  1. 打开Greasemonkey,点击「新建脚本」
  2. 把默认代码替换成下面这段(我加了注释,方便你理解逻辑):
// ==UserScript==
// @name         新标签继承当前浏览历史
// @namespace    custom-script
// @version      0.1
// @description  中键点击链接时,复制当前标签页的历史后打开目标链接
// @author       自定义
// @match        *://*/*
// @grant        browser.tabs
// ==/UserScript==

(function() {
    'use strict';

    // 监听页面上的中键点击事件
    document.addEventListener('auxclick', function(e) {
        // 只处理中键(button=2)点击链接的情况
        if (e.button === 2 && e.target.tagName === 'A') {
            e.preventDefault(); // 阻止Firefox默认的新标签打开行为
            const targetUrl = e.target.href;

            // 获取当前活跃的标签页
            browser.tabs.query({active: true, currentWindow: true}).then(tabs => {
                const currentTab = tabs[0];
                // 复制当前标签(这一步会把原标签的历史完全继承过来)
                browser.tabs.duplicate(currentTab.id).then(newTab => {
                    // 在复制好的新标签里加载目标链接
                    browser.tabs.update(newTab.id, {url: targetUrl});
                });
            });
        }
    });
})();
  1. 保存脚本,刷新页面后测试中键点击链接,新标签应该就会带着原标签的历史记录了

如果你习惯用Ctrl+左键打开新标签,也可以修改脚本的监听条件,加上e.ctrlKey && e.button === 0,这样两种打开方式都能生效。

关于Tree Style Tab的兼容性

你提到的Tree Style Tab插件不会影响这个脚本的运行——脚本是监听页面本身的点击事件,和标签的显示样式无关,放心用就行。

另外补充一句:你回忆的老行为确实是Firefox曾经的默认特性,后来因为产品设计调整取消了,所以现在只能通过这类自定义脚本或者特定扩展来恢复。

备注:内容来源于stack exchange,提问作者jhnc

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 13:55:35