gpt4 book ai didi

javascript - Mozilla(Firefox、Thunderbird)扩展 : How to get extension id (from install. rdf)?

转载 作者:数据小太阳 更新时间:2023-10-29 06:08:41 26 4
gpt4 key购买 nike

如果您正在为其中一个 mozilla 应用程序(例如 Firefox、Thunderbird 等)开发扩展,您可以在 install.rdf 中定义一个扩展 ID。

如果出于某种原因您需要知道扩展 ID,例如在本地文件系统 (1) 中检索扩展目录,或者如果你想将它发送到 web 服务(使用统计)等。最好从 install.rdf 中获取它,以便将它硬编码到你的 javascript 代码中.

但是如何从我的扩展程序中访问扩展程序 ID?

1) 示例代码:

var extId = "myspecialthunderbirdextid@mydomain.com";
var filename = "install.rdf";
var file = extManager.getInstallLocation(extId).getItemFile(extId, filename);
var fullPathToFile = file.path;

最佳答案

我相当确定“硬编码 ID”在扩展程序的整个生命周期中都不应更改。这就是 ID 的全部目的:它对于该扩展名是唯一的,永久的。只需将其存储为常量并在您的库中使用该常量。这没有错。

不好的做法是使用 install.rdf,它存在的唯一目的是……好吧,安装。一旦开发了扩展,install.rdf 文件的状态就无关紧要了,很可能会不一致。

“安装 list 是启用了附加组件管理器的 XUL 应用程序在安装时用于确定有关附加组件的信息的文件”[1]

打个比方,就好比从溢出中访问已删除对象的内存。该对象仍然存在于内存中,但它在逻辑上不再相关,使用它的数据是一个非常非常糟糕的主意。

[1] https://developer.mozilla.org/en/install_manifests

关于javascript - Mozilla(Firefox、Thunderbird)扩展 : How to get extension id (from install. rdf)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5399682/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com