gpt4 book ai didi

javascript - 重新打包和/或修改现有的 Firefox 扩展 XPI

转载 作者:行者123 更新时间:2023-11-28 19:49:48 25 4
gpt4 key购买 nike

我是一名高级用户,拥有一些程序员技能,但我安装了一些 Firefox 附加组件,并且我想在原始代码中添加一些额外的代码行。但我只有 .xpi 文件。

我知道它可以通过任何 zip 实用程序打开。但是当我改变里面的东西时它就不起作用了。它将 .js 文件存储在 CONTENT 文件夹中。有一个输出到文件的函数,我想格式化一个要保存到文件中的字符串。

您可以不提问题的开头,但有一个主要目标和问题:如何重新编译或应用对已安装的.xpi中的.js文件的任何更改> 扩展?任何升级它们的方法。

附加组件:

url-logger

http-request-logger

最佳答案

本质上,您只需再次压缩内容(非 SDK 附加组件)。您链接的那些附加组件是非 SDK 附加组件。

但是也有一些陷阱:

  • 扩展程序可能已经过数字签名,如 META-INF 文件夹的存在所示。修改内容当然会使签名失效。只需删除该文件夹即可使(修改后的)扩展再次取消签名。
  • 人们常常会压缩外部文件夹。 IE。生成的 zip (.xpi) 然后包含 /some-addon-folder/install.rdf 而不仅仅是 /install.rdf。确保不要压缩外部文件夹,而只压缩其中的文件和子文件夹。
  • 一些 zip 工具生成的 zip 文件基本上已损坏;损坏程度足以被 Firefox 拒绝,但还不足以损坏其他 zip 实用程序。确保 zip 是否有效,如果有疑问,请切换您使用的 zip 实用程序。
  • 还要记住实际上是 ZIP 文件,而不是 7zip、rar、tar.gz 或其他文件。 ;)

这是正确压缩的:

$ unzip -l http_request_logger-0.1-fx.xpi 
Archive: http_request_logger-0.1-fx.xpi
Length Date Time Name
-------- ---- ---- ----
240 07-29-11 11:45 chrome.manifest
0 07-29-11 11:42 components/
1558 07-29-11 11:47 components/httpRequestLogger.js
1021 07-30-11 12:39 install.rdf
-------- -------
2819 4 files

这没有正确压缩(通过使用 OSX 压缩菜单项生成):

$ unzip -l http_request_logger-0.1-fx.zip 
Archive: http_request_logger-0.1-fx.zip
Length Date Time Name
-------- ---- ---- ----
0 05-16-14 01:54 http_request_logger-0.1-fx/
240 07-29-11 11:45 http_request_logger-0.1-fx/chrome.manifest
0 05-16-14 01:54 __MACOSX/
0 05-16-14 01:54 __MACOSX/http_request_logger-0.1-fx/
187 07-29-11 11:45 __MACOSX/http_request_logger-0.1-fx/._chrome.manifest
0 07-29-11 11:42 http_request_logger-0.1-fx/components/
1558 07-29-11 11:47 http_request_logger-0.1-fx/components/httpRequestLogger.js
0 05-16-14 01:54 __MACOSX/http_request_logger-0.1-fx/components/
187 07-29-11 11:47 __MACOSX/http_request_logger-0.1-fx/components/._httpRequestLogger.js
1021 07-30-11 12:39 http_request_logger-0.1-fx/install.rdf
187 07-30-11 12:39 __MACOSX/http_request_logger-0.1-fx/._install.rdf
187 05-16-14 01:54 __MACOSX/._http_request_logger-0.1-fx
-------- -------
3567 12 files

(除了 __MACOSX 废话之外,现在是 http_request_logger-0.1-fx/install.rdf)

我建议您还阅读Setting up an extension development enviroment ,特别是有关代理文件的位。 ;)

当涉及 SDK 附加组件时(如 harness-options.json 文件的存在所示),重新压缩可能有效,也可能无效。最好根据 .xpi 内容重现 package.json 和目录结构,并使用 SDK cfx 工具构建新的 XPI。

关于javascript - 重新打包和/或修改现有的 Firefox 扩展 XPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23690459/

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