【问题标题】:Practical uses of nsICategoryManager?nsICategoryManager 的实际用途?
【发布时间】:2014-03-18 06:19:18
【问题描述】:

我正在开发一个配置文件切换插件,遇到了nsICategoryManager

我想知道这是什么?它有什么实际用途?

我阅读了 MDN 文章,但想不出它有什么用处。

【问题讨论】:

    标签: firefox-addon xpcom


    【解决方案1】:

    nsICategoryManager 的目的是将条目(通常是 XPCOM 组件)添加到类别中。管理器本身仅提供注册机制,类别如何使用完全取决于读取类别条目的代码。例如,profile-after-change category 用于在 Firefox 启动时需要激活的组件。

    大多数扩展不应再显式使用nsICategoryManager,添加类别条目可以通过chrome.manifest 中的一行来完成:

    category profile-after-change MyComponent @foobar/mycomponent;1
    

    这将在扩展激活时隐式调用nsICategoryManager.addCategoryEntry()

    编辑:出于好奇,我决定在 Firefox 源代码中搜索nsCategoryCache,看看还有哪些其他类别。这里是列表:

    这些只是缓存和监控更改的类别,完整列表要长得多。

    【讨论】:

    • 感谢您尝试解释得这么好。我觉得这对我来说理解起来有点复杂哈哈。 Acutally 这可以用来监视本地文件被修改吗?在哪里可以找到完整列表?
    • @Noitidart:查看本地文件并不是 Firefox 代码所需要的,所以如果实现了我会非常惊讶。此外,类别是简单的东西,其名称为常规字符串 - 无法在那里指定文件名。至于完整列表:请随意搜索代码。没有文档在一个地方列出所有类别,您永远不需要使用其中的大部分。
    • 啊,好的,谢谢!你能举一个我可以和nsICategoryManager一起使用的复制粘贴示例(当然它不会使用chrome.manifest)我只是不明白,觉得这个东西太强大了
    • @Noitidart:不,我不会。我回答了你的问题,甚至还有一个带有示例的文档链接。剩下的就看你自己了。
    • 它不是复制粘贴到暂存器,我不知道如何将这一切拼凑在一起。没关系,我希望人们能像我帮助别人一样帮助我。但是你已经给了很多时间谢谢我真的很感激。 (哦,但如果你改变主意,我可以得到帮助的一件事是我仍然无法弄清楚 C++ dll firefox 的东西,每个人都说有很多例子,但我无法剖析它并让它为我工作)
    猜你喜欢
    • 2011-06-16
    • 2014-06-19
    • 2010-10-17
    • 2020-10-06
    • 2011-07-09
    • 2021-06-29
    • 2010-10-17
    • 2012-04-26
    相关资源
    最近更新 更多