Firefox
查找有關 Firefox 的會話資訊
我目前正在開發一款軟體,其功能取決於了解使用者 Ubuntu 電腦上執行的目前 Firefox 會話的狀態。它需要知道以下資訊:
- 打開了多少個視窗?
- 每個視窗中有多少個選項卡?
- 目前在每個選項卡中打開的 URL 是什麼?
- 使用者將每個選項卡向下滾動了多遠?
在收到使用者的明確命令後,應用程序將從系統上的任何位置搜尋此資訊。問題是我不知道應該在哪裡對應用程序進行程式以查找它。我的第一個猜測是檢查核心中的 Firefox 程序會產生所需的資訊,但我使用系統監視器來監視在打開更多視窗和選項卡時啟動的其他程序,但它提到的唯一 Firefox 程序是’firefox-bin’,讓我得出結論,這個假設是不正確的。
如果有人能指出我正確的方向,我準備做一些重要的閱讀,只是我的時間有限,我不能開始在核心中四處尋找,希望我偶然發現我的東西’米找。
有誰知道我如何在不訴諸於在 Firefox 上安裝導出它的外掛的情況下找到上述資訊?
你讀書怎麼樣
/home/*/.mozilla/firefox/*/sessionstore.js
?
您不會在核心中找到任何資訊,您必須詢問 firefox 程序。(只有一個。Firefox 使用多個執行緒但只有一個程序。)標籤、URL 和頁面上的滾動是純粹在瀏覽器內部的概念。
Firefox 有一個遠端界面,可讓您從 shell 提示符執行一些命令。
firefox -remote 'openurl(http://www.example.com/, new-tab)'
我不知道您是否可以通過遠端介面使用其他未記錄的功能。一個完全未經測試的想法是打開一個本地 (
file://
) Javascript 腳本來收集資訊,但該腳本可能沒有必要的權限。您還可以將 chrome 載入到正在執行的程序中:
firefox -chrome file://…
. 同樣,我不知道它提供了哪些功能。您可以從 Firefox 外部了解的一件事是視窗及其標題:
wmctrl -xl | awk '$3 == "Navigator.Firefox" {sub(/^([^ ]+ +)([^ ]+ +)([^ ]+ +)([^ ]+ +)/,""); print}'