如何在Firefox中打开新标签页时复制当前标签页的历史记录
如何在Firefox中打开新标签页时复制当前标签页的历史记录
我太懂你怀念的那种老Firefox体验了——中键点链接开新标签时,新标签能带着原标签的完整浏览历史,回溯之前的页面特别方便。针对你现在用的Ubuntu 22.04 Snap版Firefox,结合你装的Greasemonkey,给你一个简单可行的解决方案:
用Greasemonkey脚本实现历史继承
现在Firefox默认已经取消了这个行为,也没有现成的about:config开关直接恢复,但我们可以用一小段用户脚本来模拟老功能,核心思路是先复制当前标签(复制的标签会完全继承原标签的历史),再在新标签里打开目标链接。
具体步骤如下:
- 打开Greasemonkey,点击「新建脚本」
- 把默认代码替换成下面这段(我加了注释,方便你理解逻辑):
// ==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}); }); }); } }); })();
- 保存脚本,刷新页面后测试中键点击链接,新标签应该就会带着原标签的历史记录了
如果你习惯用Ctrl+左键打开新标签,也可以修改脚本的监听条件,加上e.ctrlKey && e.button === 0,这样两种打开方式都能生效。
关于Tree Style Tab的兼容性
你提到的Tree Style Tab插件不会影响这个脚本的运行——脚本是监听页面本身的点击事件,和标签的显示样式无关,放心用就行。
另外补充一句:你回忆的老行为确实是Firefox曾经的默认特性,后来因为产品设计调整取消了,所以现在只能通过这类自定义脚本或者特定扩展来恢复。
备注:内容来源于stack exchange,提问作者jhnc
相关产品推荐
相关产品推荐

