如何构建Firefox插件以始终显示当前选项卡的书签存储详细信息(例如标签)

How to build a Firefox addon to always show bookmark-stored-details (e.g. tags) for current tab

本文关键字:标签 选项 书签 详细信息 存储 构建 何构建 Firefox 插件 显示      更新时间:2023-09-26

问题

在Firefox中,当当前选项卡包含书签页面时,我需要始终看到存储在相应书签中的详细信息(名称、文件夹、标签等(,无需再点击一次。

我需要帮助解决这个(看似可以解决的(问题。

可能的解决方案:

  • 将书签详细信息显示为附加到标题栏的文本
  • 通过在专用工具栏上动态构建的控件显示书签详细信息

技术问题

  1. 当[当前选项卡的]书签更改时,是否触发了事件?插件能响应这样的事件吗
  2. 插件是否可以修改当前选项卡标题栏中显示的文本
  3. 有人能为添加工具栏的简单、现代的插件提供源代码链接吗?我知道/使用S3下载Statusbar,但就我的Firefox开发技能而言,这一个相当先进

好主意。

以下是如何获取url的标签。

var navBookmarksService = Components.classes["@mozilla.org/browser/nav-bookmarks-service;1"].getService(Components.interfaces.nsINavBookmarksService);
var urlToCheckIfBookmarked = 'https://www.bing.com/';
var uri = Services.io.newURI(urlToCheckIfBookmarked, null, null);
console.log(navBookmarksService.isBookmarked(uri)) //this line tells you if the url is bookmarked
var taggingSvc = Components.classes["@mozilla.org/browser/tagging-service;1"].getService(Components.interfaces.nsITaggingService);
var tags = taggingSvc.getTagsForURI(uri)
console.log(tags)

请参阅标记服务:https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsITaggingService

当[当前选项卡的]书签更改时,是否触发了事件?插件能响应这样的事件吗?

是的,你必须使用书签观察员服务:https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINavBookmarksService#beginUpdateBatch%28%29https://developer.mozilla.org/en-US/Add-ons/Code_snippets/Bookmarks#Observing_changes_to_bookmarks_and_tags

插件是否可以修改当前选项卡标题栏中显示的文本?

是的。您可以更改加载的文档的标题。或者获取DOMWindow并修改其标题属性。IE:document.querySelector('#main-window').setAttribute('title','rawr')

相关文章: