问题
在Firefox中,当当前选项卡包含书签页面时,我需要始终看到存储在相应书签中的详细信息(名称、文件夹、标签等(,无需再点击一次。
我需要帮助解决这个(看似可以解决的(问题。
可能的解决方案:
- 将书签详细信息显示为附加到标题栏的文本
- 通过在专用工具栏上动态构建的控件显示书签详细信息
技术问题
- 当[当前选项卡的]书签更改时,是否触发了事件?插件能响应这样的事件吗
- 插件是否可以修改当前选项卡标题栏中显示的文本
- 有人能为添加工具栏的简单、现代的插件提供源代码链接吗?我知道/使用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')