在Firefox中-跨越所有选项卡:如何列出所有打开的URL';使用浏览器外部的代码,在所有打开的浏览器中显示所有打开的浏览器选项卡?

在Firefox中-跨越所有选项卡:如何列出所有打开的URL';使用浏览器外部的代码,在所有打开的浏览器中显示所有打开的浏览器选项卡?,firefox,browser-tab,Firefox,Browser Tab,在Firefox中-跨所有选项卡:如何使用浏览器外部的代码列出所有打开浏览器选项卡的所有打开URL? -- 如果我打开多个选项卡,或使用选项卡打开其他浏览器,然后关闭计算机,或计算机崩溃,或我关闭所有进程(.exe),下次启动浏览器时,所有选项卡将在一个浏览器窗口或多个浏览器窗口中重新打开,就像关闭前一样 这些信息存储在哪里?具体来说,URL的存储位置是什么 1) 当浏览器/选项卡启动并运行时,我需要通过编程访问给定配置文件中所有运行浏览器中所有选项卡中当前打开的所有URL 2) 是否:如果它们

在Firefox中-跨所有选项卡:如何使用浏览器外部的代码列出所有打开浏览器选项卡的所有打开URL?

--

如果我打开多个选项卡,或使用选项卡打开其他浏览器,然后关闭计算机,或计算机崩溃,或我关闭所有进程(.exe),下次启动浏览器时,所有选项卡将在一个浏览器窗口或多个浏览器窗口中重新打开,就像关闭前一样

这些信息存储在哪里?具体来说,URL的存储位置是什么

1) 当浏览器/选项卡启动并运行时,我需要通过编程访问给定配置文件中所有运行浏览器中所有选项卡中当前打开的所有URL

2) 是否:如果它们全部关闭(数据存储在某个文件或数据库的概要文件目录中,以便下次启动时打开所有URL)

--

我想通过bash(cygwin)、Python、Java或Rust访问所有打开或存储的URL,这些语言运行在机器上,访问profile目录中的文件(在浏览器外部运行的代码)

如果我打开多个选项卡,或使用选项卡打开其他浏览器,然后关闭计算机,或计算机崩溃,或我关闭所有进程(.exe),下次启动浏览器时,所有选项卡将在一个浏览器窗口或多个浏览器窗口中重新打开,就像关闭前一样

这些信息存储在哪里?具体来说,URL的存储位置是什么

会话恢复由
sessionstore
组件执行。启动恢复过程的概述如下:

正如我们所看到的,它提到了
SessionFile
。查找该文件需要我们,这表明会话信息存储在
sessionstore.jsonlz4
文件中,该文件是一个

不幸的是,所使用的lz4压缩不能与标准工具一起使用,但是关于如何解决这一问题,有一些很好的讨论(例如,跳过文件的前8个字节)

另一种可能是创建一个WebExtension并使用可执行文件执行。如果授予适当的权限,WebExtensions可以枚举打开的窗口和选项卡并获取它们的URL

/**
 * Session Storage and Restoration
 *
 * Overview
 * This service reads user's session file at startup, and makes a determination
 * as to whether the session should be restored. It will restore the session
 * under the circumstances described below.  If the auto-start Private Browsing
 * mode is active, however, the session is never restored.
 *
 * Crash Detection
 * The CrashMonitor is used to check if the final session state was successfully
 * written at shutdown of the last session. If we did not reach
 * 'sessionstore-final-state-write-complete', then it's assumed that the browser
 * has previously crashed and we should restore the session.
 *
 * Forced Restarts
 * In the event that a restart is required due to application update or extension
 * installation, set the browser.sessionstore.resume_session_once pref to true,
 * and the session will be restored the next time the browser starts.
 *
 * Always Resume
 * This service will always resume the session if the integer pref
 * browser.startup.page is set to 3.
 */