2010年12月3日星期五

Firefox Save-To-Read错误解决方法

这是一个之前用save-to-read添加的书签(图1)
从上图1可以看出来这个金山卫士开源计划的父目录是“编程爱好者-xxxx”,但是事实上是这样的:
在书签管理器当中的情况
也就是说这个编程爱好者-xxxx是一个标签而不是一个文件夹,所以我们使用save-to-read虽然可以添加标签,但是出现的结果却相当不正常,重启之后打开save-to-read,里面可能不会出现多于2天的标签。

其实我发现save-to-read的异状也有一段时间,但是一直提不起精神去处理,今早折腾了一下,解决方案如下:

  1. 首先准备好Lita for sqlite
  2. 在关闭firefox的情况下使用lita打开C:\Users\Jichao\AppData\Roaming\Mozilla\Firefox\Profiles\xxxx目录下的places.sqlite,不关闭firefox打不开该sqlite文件,应当是firefox在启动时会将该文件进到锁定操作,只允许firefox访问该文件,另外需要注意的是firefox里边保存bookmarks的地方相当多,一定得注意正确的文件是这个places.sqlite不是那个看上去很像的ybookmarks.sqlite
  3. 这个数据库当中包含几个表,我们不需要管其他表,我们只需要处理moz_bookmarks即可,具体的SQL语句如下:
    select id,title,parent from where title like '%xxx%' 这里xxx找已经出现错的标签之一的名称,得到old-parent-id

    select id from where title='folder-name' 这里folder-name是指你的save-to-read保存标签的文件夹,得到new-parent-id

    update moz_bookmarks set parent=new-parent-id where parent=old-parent-id
     经过这样一个过程,所有原本错误的标签就会回归正常了。如下图所示:
    最后的结果