获取书签标签

4
我正在尝试构建一个WebExtension,以导出所有书签数据。这很容易。有关bookmarks.getTree()的文档非常详细。 但是,我没有找到如何获取书签的标签(图片中红色部分)。
如何获取书签的标签?
请参考以下图片:enter image description here
2个回答

5

目前,基于WebExtensions的插件无法获取书签标签信息。

WebExtensions只能有限地访问Firefox书签中包含的数据。对于WebExtensions可用的信息仅限于bookmarks.BookmarkTreeNode对象中包含的数据。具体来说,这仅包括(来源MDN):

  • id:一个string,用于唯一标识节点。每个ID在用户的配置文件中是唯一的,并且在浏览器重新启动时保持不变。
  • parentId:一个string,指定父文件夹的ID。此属性在根节点中不存在。
  • index:一个数字,表示此节点在其父文件夹中的从零开始的位置,其中零表示第一个条目。
  • url:一个string,表示书签的URL。如果节点表示文件夹,则省略此属性。
  • title:一个string,包含菜单和书签列表中显示为该节点的文本。
  • dateAdded:一个数字,表示节点创建日期,以自纪元以来的毫秒数表示。
  • dateGroupModified:一个数字,表示此文件夹内容上次更改的日期和时间,以自纪元以来的毫秒数表示。
  • unmodifiable:一个string,由类型bookmarks.BookmarkTreeNodeUnmodifiable描述。表示节点无法更改的原因。如果节点可以更改,则省略此项。
  • children:一个数组,其中包含bookmarks.BookmarkTreeNode对象,表示节点的子级。列表按照子级在用户界面中出现的顺序排序。如果节点不是文件夹,则省略此字段。
  • type:一个bookmarks.BookmarkTreeNodeType对象,指示这是书签、文件夹还是分隔符。默认为"bookmark",除非省略了url,否则默认为"folder"
这里特别不包含标签,也不包括与书签相关的其他可能注释。WebExtensions无法访问这些额外信息。如果你想从WebExtension中访问此信息,可以使用WebExtensions实验创建API以实现所需功能。已经有其他人在进行一些工作。正如e-motiv在评论中提到的那样,跟踪此问题的错误是Bug 1225916 - 允许读取和写入书签标签。所有其他类型的Firefox扩展程序都可以访问存储在Firefox书签中的所有信息。

1
这是与Firefox相关的错误: https://bugzilla.mozilla.org/show_bug.cgi?id=1225916 - e-motiv

1
由于WebExtensions API目前不支持书签标签,因此一个替代方案(如上所建议)是创建一个WebExtension实验API。我需要类似的东西,所以我创建了一个 WebExtension实验API for tags来公开一些内部的Firefox API,从而使用户/开发人员能够访问/读取/检索自己扩展中的书签标签。希望这可以帮助某些人。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接