2015-02-24 45 views
2

我在使用Firefox中的標準導出功能將我的成千上萬個Firefox書籤導出爲HTML文件時出現問題。我得到這個錯誤:從places.sqlite文件中恢復書籤

************************* 
A coding exception was thrown and uncaught in a Task. 

Full message: TypeError: root is undefined 
Full stack: [email protected]://gre/modules/BookmarkHTMLUtils.jsm:980:1 
BHU_exportToFile/<@resource://gre/modules/BookmarkHTMLUtils.jsm:228:22 
[email protected]://gre/modules/Task.jsm:314:40 
[email protected]://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:865:23 
[email protected]://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:744:7 

************************* 

看到https://gist.github.com/rubo77/12ef9be4060c7935c74c

有出口在控制檯上我的書籤的方式,所以我可以將它們導入新新的Firefox配置文件?

更新:我設法將firefox實例的「manage bookmarks」菜單中的所有書籤與舊配置文件複製並粘貼到另一個實例中,同時打開新配置文件(使用命令行選項-no-remote)。但不幸的是,這仍然不會複製用於我的書籤的標籤,這也是一個很大的損失。

回答

1

的書籤(以類似於~/.mozilla/firefox/rbbfa46q.default的地方例如在Linux下)存儲在文件places.sqlite,一個SQLite 3.x數據庫中[1]保持設定檔目錄下。您可以將其作爲每個SQLite數據庫文件進行管理。

由於可能在鍵中有衝突,至少在原則上,我建議導出爲html鏈接列表,並在第二個Firefox帳戶後導入。

以下是實際能夠創建此列表的命令,如另一個回答[2]中報告。

sqlite3 places.sqlite "select '<a href=''' || url || '''>' || moz_bookmarks.title || '</a><br/>' as ahref from moz_bookmarks left join moz_places on fk=moz_places.id where url<>'' and moz_bookmarks.title<>''" > t1.html 

然後你可以使用你覺得更舒適的導入方法。


注意

  • 當然也有插件爲「SQLite的經理」從內部管理的Netscape吧...