今年上半年笔者研究了搜狐浏览器的收藏夹的存储机制,发现搜狐浏览器的收藏夹采用SqlLite进行存储,并在IE8中写了一个插件来自动完成搜狐收藏夹到IE的自动转换工具(详见笔者文章《如何实现在IE8中自动导入搜狗浏览器的收藏夹》)。但最近笔者再次使用该工具时发现该工具已经无法正常使用,分析过后发现原来是搜狐收藏夹文件favorit2.dat被加密了,很显然那篇文章中的方法已经行不通了(笔者用的搜狐浏览器版本是2.2.0.1401)。
同时笔者又发现在搜狐浏览器收藏夹导出功能中,导出文件格式已经从原来的xml变成了原来网景(Netscape)浏览器书签的格式(.htm&.html)。其中Netscape书签采用的html文件的格式在单文档中来组织书签的目录结构和地址等信息,该文件可以直接在任何一种的浏览器中打开,效果如下:
由上图可以发现采用这种文件格式来组织收藏夹信息,可以不用依赖任何一个厂商的浏览器或平台,而且信息的展现方式也非常贴近最终用户。 Netscape书签文件结构详见http://msdn.microsoft.com/en-us/library/aa753582(VS.85).aspx
目前,很多厂商的浏览器都开始支持导入/导出Netscape书签文件,如微软的IE系列、Google(谷歌)的Chrome等。因此,即使搜狐浏览器的收藏夹文件已被加密,也不妨碍用户的收藏夹在各厂商浏览器间的迁移。
Netscape书签文件的导入导出方法
- IE浏览器
在IE的收藏夹菜单中打开“导入和导出”对话框
选择从文件导入或是导出到文件,然后点下一步
下一步
最后点下一步导出即可。
- 搜狐浏览器
在收藏夹菜单中点击“导出收藏”(或“导出收藏”)
- Chrome浏览器
在其书签管理器的“整理”菜单中点击“导入书签”(或“导出书签”)
经过笔者测试发现,以上这三家浏览器收藏夹的互导存在如下关系: 也就是说谷歌的Chrome无法导入IE8和搜狐导出的htm文件,经过分析,原因有两点:
- 搜狐和IE8导出的文件后缀为htm,而Chrome要求的文件后缀为.html;
- Chrome要求的收藏夹文件中存在一行其它浏览器导出文件中没有的代码,这是位于标签<TITLE>上的一行代码:
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
(当然这行代码并不会影响其导出文件在IE8和搜狐浏览器的导入)
如果用户在Chrome中导入其它浏览器的收藏夹文件时发现了导入不了的情况,尝试解决以上两个问题后就能够保证收藏夹文件的正常导入了。