我正在尝试构建一个导出书签所有数据的WebExtension。
这很容易。 bookmarks.getTree()
有漂亮的文档。
但是,我没有找到如何获取书签的标签(图片上的红色部分)
如何获取书签标签?
答案 0 :(得分:4)
WebExtensions只能有限地访问Firefox书签中包含的数据。 WebExtensions可用的信息仅是bookmarks.BookmarkTreeNode
Object中包含的数据。具体而言,这仅包括(from MDN):
id
唯一标识节点的string。每个ID在用户的配置文件中都是唯一的,并且在浏览器重新启动时保持不变。parentId
一个string,指定父文件夹的ID。根节点中不存在此属性。index
一个数字,表示该节点在其父文件夹中从零开始的位置,其中零表示第一个条目。url
一个string代表书签的网址。如果节点表示文件夹,则省略此属性。title
一个string,其中包含菜单和书签列表中节点的显示文字。dateAdded
一个数字,表示milliseconds since the epoch中节点的创建日期。dateGroupModified
一个数字,表示上次更改此文件夹内容的日期和时间,位于milliseconds since the epoch。unmodifiable
类型string所描述的bookmarks.BookmarkTreeNodeUnmodifiable
。表示无法更改节点的原因。如果可以更改节点,则省略。children
一个array个bookmarks.BookmarkTreeNode
个对象,代表节点的子节点。该列表在子项显示在用户界面中的列表中排序。如果节点不是文件夹,则省略该字段。type
一个bookmarks.BookmarkTreeNodeType
对象,指示这是书签,文件夹还是分隔符。除非"bookmark"
被省略,否则默认为url
,在这种情况下默认为"folder"
。
这特别不包含标签,也不包含可与书签关联的任何其他可能的注释。这些附加信息都不适用于WebExtensions。
如果您想从WebExtension访问此信息,您可以使用WebExtensions experiment创建一个API,它可以满足您的需求。其他人已经做了一些工作。正如e-motiv在评论中所提到的,跟踪此问题的错误是Bug 1225916 - Allow reading and writing bookmark tags。
所有other types of Firefox extensions都可以访问存储在Firefox书签中的所有信息。
答案 1 :(得分:1)
由于WebExtensions API当前不支持书签标签,因此(如上所述)一种替代方法是创建WebExtension实验API。我需要类似的东西,所以我创建了WebExtension Experiment API for tags来公开一些用于标签的内部Firefox API,从而使用户/开发人员可以访问/读取/检索其扩展名中的书签标签。希望这可以帮助某人。