我正在使用Firefox 5,我已经知道扩展程序位于Profile folder的extensions
子文件夹中...但是,我需要找到特定扩展名的位置(例如, CoLT)位于;问题是大多数扩展文件夹都是由guid命名的,例如
extensions$ ls
{232ac1d3-4d70-4919-8338-48c3d3f98afc}
{29c4afe1-db19-4298-8785-fcc94d1d6c1d}
{2bfc8624-5b8a-4060-b86a-e78ccbc38509}
{33f141c0-3703-4a4c-b459-cec618a7dafd}
...
然后再次:“从Gecko 2.0开始(Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1),安装扩展时不再解压缩XPI文件。而是将XPI本身放在扩展目录和文件中直接从包中加载。“(Extension Packaging - MDN Docs)...
由于XPI基本上是一个ZIP存档,因此请浏览extensions
文件夹,查找扩展名:
extensions$ grep -ri 'colt' .
......什么也不会返回。
那么,有没有人知道一个方法(或扩展名)告诉我哪个XPI(或解压缩的文件夹)是位于/加载的特定扩展名?
答案 0 :(得分:28)
在您的位置栏中输入about:support#extensions-tbody
- 这将列出(除其他外)所有已安装的扩展程序及其ID。扩展ID确定extensions
目录中的文件夹/文件名。请注意,您的个人资料中并不总是安装扩展程序 - 如果有疑问,您的Firefox个人资料中的extensions.ini
内容应该清除。
如果您想让它更“舒适”,可以将以下代码粘贴到浏览器控制台中:
Components.utils.import("resource://gre/modules/AddonManager.jsm", null).AddonManager.getAllAddons(addons => {addons.filter(addon => addon.type == "extension").forEach(addon => console.log(addon.name, addon.getResourceURI().spec))});
这将使用加载项管理器API来显示所有加载项的名称和安装位置。
答案 1 :(得分:1)
嗯,这里至少有一些东西,所以我再没有得到风滚草了:)
extensions$ for ix in *.xpi; do echo $ix; unzip -c $ix | grep -aoi ........colt.........; done
...
{e4a8a97b-f2ed-450b-b12d-ee082ba24781}.xpi
{e6c4c3ef-3d4d-42d6-8283-8da73c53a283}.xpi
content colt jar:chro
hrome://colt/content/
:chrome/colt.jar!/loc
...
...应明确指出{e6c4c3ef-3d4d-42d6-8283-8da73c53a283}.xpi
是CoLT
扩展程序的容器。
请注意unzip -c
解压缩到terminal / stdout,-a
我们强制grep
进行二进制搜索,但由于这可能会在终端上转储大行,我们会使用{{{ 1}}用于“仅匹配”,然后在搜索词周围添加“匹配任何字符”含义的点,以便我们可以看到匹配附近发生了什么。
用户友好并不令人惊讶,但至少它有效:)仍然希望听到一个更直接的方法...
干杯!