Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/438.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 加上;“似乎腐败”;尝试安装我的加载项时';Firefox中的s.xpi文件_Javascript_Firefox_Firefox Addon_Xpi - Fatal编程技术网

Javascript 加上;“似乎腐败”;尝试安装我的加载项时';Firefox中的s.xpi文件

Javascript 加上;“似乎腐败”;尝试安装我的加载项时';Firefox中的s.xpi文件,javascript,firefox,firefox-addon,xpi,Javascript,Firefox,Firefox Addon,Xpi,我正试图在Firefox45中安装一个扩展(Firefox49也是如此),但Firefox不允许我这么做,这表明 无法安装此加载项,因为它似乎已损坏。 我尝试安装它的方法是将我们团队开发的.xpi文件拖动到Firefox窗口中。此扩展基于,但有一些改进 以前,我试图安装它,但我无法安装,因为它没有签名(Firefox版本43以后的扩展需要签名)。根据这篇文章,我遵循每一步来签字。我几乎可以肯定我可以正确地对其进行签名,但现在Firefox显示的错误有所不同:“此加载项无法安装,因为它似乎已损坏

我正试图在Firefox45中安装一个扩展(Firefox49也是如此),但Firefox不允许我这么做,这表明

无法安装此加载项,因为它似乎已损坏。 我尝试安装它的方法是将我们团队开发的.xpi文件拖动到Firefox窗口中。此扩展基于,但有一些改进

以前,我试图安装它,但我无法安装,因为它没有签名(Firefox版本43以后的扩展需要签名)。根据这篇文章,我遵循每一步来签字。我几乎可以肯定我可以正确地对其进行签名,但现在Firefox显示的错误有所不同:“此加载项无法安装,因为它似乎已损坏。”

似乎我没有正确创建.xpi文件,但我不确定它应该具有正确的结构。我尝试了不同的文件夹结构,但没有成功

另外,我检查了浏览器控制台以查看登录了什么错误,但我没有发现它真的有用。这是:

是指向.xpi文件的链接,以防您要检查其内容。请注意,我尝试将manifest.mf、zigbert.rsa和zigbert.sf文件移到META-INF文件夹之外,但也没有成功

有没有人在尝试安装附加组件时遇到过这样的错误?了解可能发生的情况吗?

该.xpi文件必须仅使用“deflate”压缩或未压缩 Firefox中的zip实现仅支持。您需要使用压缩方法“Deflate”而不是当前使用的“LZMA”来创建.zip归档文件。如何做到这一点将取决于您用于创建存档的工具

就我个人而言,我使用批处理文件/shell脚本来创建.xpi文件,正如我在对“”的回答中详细描述的那样。最基本的是我使用
zip
命令行工具,它默认为“deflate”或uncompressed。我使用
-1
选项提供最快的压缩。Firefox/Mozilla使用.xpi文件既可以打包文件,也可以提高文件访问速度。重要的质量不是高压缩比,而是文件可以快速访问。除非Firefox不是WebExtension,并且通过install.rdf选项(WebExtensions没有install.rdf文件)明确要求解包外接程序,否则该外接程序将作为.xpi文件安装,对该外接程序的所有访问都将作为.xpi文件

注意:考虑到扩展名包含.dll文件,您可能需要使用解包来安装外接程序

使用了错误的签名方法。它必须由Mozilla签名,而不是您自己。 虽然这不是您当前看到的错误,但只要您解决了.xpi格式的问题,就会遇到扩展名被错误签名签名的问题。您用自己的签名在分机上签名。它不是由Mozilla签署的。这是行不通的。它必须由Mozilla签名,而不是你自己。你提到你遵循了MDN页面中的说明。然而,正如该页顶部明确指出的,该页上的说明已经过时,不再有效。您应该按照注释中的链接进入页面。页面顶部的注释说明:

注意:这些说明已过时。要在Firefox中使用扩展,它必须由Mozilla签名,而不是由您自己签名。请参见。[重点补充]


这里还有许多关于堆栈溢出的问题,它们解决了签名问题。

与其他答案中所述的一样,未验证/未签名的扩展也会出现这种情况

但有时为了进行测试,您可能需要使用未验证/未签名的扩展名。 作为安装未经验证/未签名扩展的黑客/解决方法,以下内容在Firefox版本45上对我有效:

  • 启动Firefox并点击-about:config
  • 搜索“xpinstall.signatures.required”
  • 双击该行或将该值设置为false并关闭

  • 现在重试安装扩展,它应该可以工作了

    我想有些东西没有明确记录,我想分享一下我的经验

  • 开发了我的扩展名和
    zip
    ped所有文件
  • 如何分发此版本
    步骤选择
    ,并将
    .zip
    上载到
  • 然后,在下一页,我看到一个签名的
    .xpi
    文件可供下载。我下载了它并尝试通过“关于:插件->从文件安装插件”进行安装
  • 在这种情况下,我得到
    损坏的加载项
    错误
  • 收到来自
    amo的电子邮件后-editors@mozilla.org
    ,我转到我的加载项页面,点击那里的
    .xpi
    文件链接,然后成功了

  • 当我压缩包含我的插件的文件夹而不是其中的文件时,我遇到了这个问题

    不要压缩清单的父文件夹

    例如,在Windows上按住CTRL键并单击清单和任何其他文件或子文件夹;右键单击并选择
    Send to>Compressed Folder
    ,您就可以开始了


    注意:从浏览器控制台屏幕截图中,我们可以看出这不是本例中的问题,但即使如此,这也是
    无法安装此加载项的常见问题,因为它似乎已损坏。
    错误。

    如果使用.zip扩展名重命名该文件,是否可以将其作为zip文件打开并读取其中的文件内容?如果没有,那么它确实是损坏的。请提供您在.xpi文件中的目录结构。或者,让您的.xpi文件可供我们查看。@JaromandaX,是的,我可以解压缩该文件并查看其内容。@Makyen:我编辑了这篇文章以包含指向该文件的url。