从命令行在 Firefox 上安装 WebExtensions

2023-12-29

我找到了问题如何在脚本中从命令行安装 Firefox 插件? https://askubuntu.com/questions/73474/how-to-install-firefox-addon-from-command-line-in-scripts这似乎适用于 Firefox 扩展(即带有安装.rdf文件)但是 WebExtensions(带有清单.json文件代替)?


请参见:

  • 安装扩展 https://developer.mozilla.org/en-US/Add-ons/Installing_extensions
  • 自定义 Firefox:在您的 Firefox 发行版中包含扩展 https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Customizing_Firefox#Including_extensions_with_your_distribution_of_Firefox

您在askubuntu上链接的问题:如何在脚本中从命令行安装 Firefox 插件? https://askubuntu.com/questions/73474/how-to-install-firefox-addon-from-command-line-in-scripts虽然已经过时了好几年,但确实有一些很好的信息。

此时,大多数 Mozilla 附加组件(包括所有 Firefox WebExtension 附加组件)都是通过将附加组件的.xpi文件以正确的扩展名保存在适当的目录中,而无需解压(解压缩)内容。 [您也可以通过在 Firefox 中下载它们来安装它们,然后拖放.xpi火狐/雷鸟等]

您可以通过解压附加组件来确定必须解压的附加组件.xpi文件并查看install.rdf https://developer.mozilla.org/en-US/Add-ons/Install_Manifests文件看看是否有<em:unpack>true</em:unpack> https://developer.mozilla.org/en-US/Add-ons/Install_Manifests#unpack。所有 WebExtension 都没有此文件,并且无需解压即可安装。

The .xpi必须调用文件[extensionID].xpi。您可以从以下任一位置找到扩展 ID:install.rdf文件(非 WebExtension 附加组件)。在该文件中,您正在寻找<em:id>ThisEntireStringIsTheAddOnsID</em:id> https://developer.mozilla.org/en-US/Add-ons/Install_Manifests#id

对于 WebExtension,ID 位于manifest.json https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json文件下的应用 https://developer.mozilla.org/en-US/Add-ons/WebExtensions/manifest.json/applications财产:

"applications": {
    "gecko": {
        "id": "ThisEntireStringIsTheAddOnsID"
    }
},

对于上述两个例子.xpi文件必须重命名为ThisEntireStringIsTheAddOnsID.xpi

If the install.rdf文件包括<em:unpack>true</em:unpack>,然后文件在.xpi必须解压(unzipped)并放置在扩展目录下的子目录中。在上面的install.rdf示例(WebExtensions 再次是not解压),该目录将被命名为:ThisEntireStringIsTheAddOnsID

扩展目录:

您放置的扩展目录.xpi文件或解压目录是(部分信息从 MDN 复制 https://developer.mozilla.org/en-US/Add-ons/Installing_extensions):

对于运行特定版本 Firefox 的所有用户:
[Firefox install directory]/browser/extensions/

当该版本的 Firefox 运行时,Firefox 将要求用户确认安装该附加组件。用户将无法删除扩展程序,只能禁用它。扩展程序不会自动更新。

对于运行特定版本 Firefox 的所有用户:
[Firefox install directory]/distribution/extensions

首次使用该版本的 Firefox 运行配置文件时,将为所有用户/配置文件安装该扩展。扩展名将被复制到配置文件的extensions目录,用户除了禁用它之外还可以将其删除。不会要求用户确认安装。复制到每个配置文件的扩展将与为该配置文件安装的所有其他扩展一起自动更新。你应该not打开任何包装.xpi该目录下的文件。如果文件需要解压,当扩展程序安装在每个配置文件中时,Firefox 会自动完成解压。

对于特定用户的特定配置文件:
[profile directory]/extensions/

在 Windows 上:
特定用户的所有配置文件:
<I>%appdata%\\Mozilla\\Extensions\\{ec8030f7-c20a-464f-9b0e-13a3a9e97384}\</I>

配置文件目录位于:
<i>\\Mozilla\\Firefox\\Profiles\\*</i>

OSX:
对于所有用户:
/Library/Application Support/Mozilla/Extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/

仅对于特定用户,将其放置在该用户的库文件夹层次结构中:
~/Library/Application Support/Mozilla/Extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/

Linux:
对于所有用户:
/usr/lib/Mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/

or
/usr/lib64/Mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/

or
/usr/share/Mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/

仅针对特定用户:
~/.Mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/

NOTE:

The -install-global-extension您链接的问题/答案中提到的选项是自 Gecko 1.9.2 起已从 Firefox 中删除 https://developer.mozilla.org/en-US/docs/Mozilla/Command_Line_Options#Add-ons( 很久以前)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从命令行在 Firefox 上安装 WebExtensions 的相关文章

随机推荐

  • 页面重新加载时 getInitialProps 不起作用

    我在 app js 组件中使用 getInitialProps 但是当我重新加载页面时 请求不会执行 例如 getData js import as axios from axios export default async functio
  • Outlook VBA 将富文本转换为 HTML 格式

    我的交换服务器空间有限 因此我想将 Outlook 2007 收件箱中所有选定的邮件转换为 HTML 格式 因为当涉及图像时 它们比富文本格式的等效内容小 我有下面的代码可以完成这项工作 但是格式到处都是 图像变成不可读的附件 并且大小没有
  • 链接问题:致命错误 LNK1112:模块机器类型“x64”与目标机器类型“X86”冲突

    我正在尝试从 wxFreeChart 库运行示例应用程序 编译链接后出现错误 wxcode msw28d freechart lib wxfreechart lib xydataset obj fatal error LNK1112 mod
  • vb6 数组,上限为 -1

    一些功能例如Split 如果数组没有项 将返回一个数组 其中 1 为上限 0 为下限 例如 Dim s As String s Split Debug Print UBound s Debug Pring LBound s 在这种情况下 U
  • 如何获取包含字符串的列表的索引

    我有一个List
  • 在运行时加载程序集

    我的项目是一个应用程序 我们在其中加载各种程序集并对它们执行操作 我们陷入了这样一种情况 我们需要添加对我们加载的程序集的引用 将由用户选择 所以我需要在运行时添加对DLL的引用 I tried 这个网站 http www codeproj
  • android updateLocaleListFromAppContext NullPointerException 中的问题

    最近我的应用程序崩溃并显示以下错误 我无法检测到实际问题是什么 也无法检测到崩溃 如果有人对此崩溃有解决方案 请帮助解决此问题 java lang NullPointerException at android app ActivityTh
  • 编写一个例程来创建顺序记录

    我想编写一个例程 它允许我在跨越设定时间范围的表中获取带日期的事件 记录 并且在特定日期没有发生事件的情况下 将创建一个重复最多的事件最近确实发生过事件的记录 例如 如果在 9 月 4 日 字段 1 X 字段 2 Y 和字段 3 Z 然后直
  • 如何删除通过 jQuery 插入的引导模式?

    我决定拥有一个可以在需要插入自定义 Bootstrap 模式时使用的脚本 我不想让空的静态 Bootstrap 模式 HTML 位于每个页面的底部 如果它不总是被利用的话 所以 这可能是错误的做法 但这是我的尝试 我创建了一个变量 它是模式
  • 从 Java 连接到 OLEDB 数据源?

    我们正在尝试连接到 ACT CRM 系统使用的 SQL Server 实例 他们设法锁定了一切 因此无法使用 ODBC 连接到 SQL 后端 有一些特殊的实用程序可以添加 ODBC 支持 如果您购买了该软件的 primo 版本 则可以安装它
  • 在 Android 应用程序中嵌入广告?

    我想制作一个我拥有的 Android 应用程序的免费版本 但想在其中嵌入广告 我不知道应该从哪里开始 有没有一家专门从事移动广告的知名移动广告公司 我个人都用过Admob http www admob com and Adsense htt
  • 如何在 opencv 2.4.11 python 中调整轮廓大小? (目标:对象提取)

    我对 opencv 非常陌生 所以请原谅我的无知 基本上 我的图像中有一个感兴趣的对象 我想把它提取出来 我的问题是由于缩小原始图像的尺寸以方便处理而产生的 我在较小的图像上找到了物体的轮廓 我真正想做的是使用有关该轮廓的信息从原始全尺寸图
  • 具有声明的宽度和高度的图像在加载前呈现正方形

    我有声明宽度和高度的图像 例如 img src foo jpg width 1500 height 1800 alt bar 它们位于响应式网格内 因此它们显示在max width 100 它们是延迟加载的 问题是 尽管有height au
  • 对于表示返回 void 的操作的任务,Task.FromResult() 的替代方案是什么[重复]

    这个问题在这里已经有答案了 返回没有泛型类型参数的任务的最佳方法是什么 换句话说 任务代表不返回任何内容或返回任何内容的操作void 换句话说 我正在寻找以下替代方案 T value default T return Task FromRe
  • 如何在切换 Bootstrap 3 面板时为 V 形字形图标设置动画?

    我有一个用 Bootstrap 3 手风琴包裹的面板的工作解决方案 如何通过 90 度旋转将 V 形状态从 gt 更改为 panel heading accordion toggle after font family Glyphicons
  • Django:is_valid 和 form_valid 之间的区别

    我创建了一个表单 它是forms ModelForm 在 视图 方面 我创建了一个视图 它是generic UpdateView 在这两个不同的班级中 我有is valid 一侧 并且form valid 另一方面 class Profil
  • W3Schools 试用编辑器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有谁知道如何获得 或在哪里获得 或如何制作 或在哪里可以找到关于w3schools 尝试一下编辑器 h
  • 如何将扩展编译成sqlite?

    我想将扩展编译到 sqlite 中以便在运行时加载 我使用的文件扩展名为 functions c 来自https www sqlite org contrib https www sqlite org contrib 我已经能够编译成可加载
  • 在 Rails 中使用域逻辑回调的优点和缺点

    您认为使用领域逻辑回调的优点和缺点是什么 我是在 Rails 和 或 Ruby 项目的背景下谈论的 为了开始讨论 我想提一下来自关于回调的 Mongoid 页面 http mongoid org en mongoid docs callba
  • 从命令行在 Firefox 上安装 WebExtensions

    我找到了问题如何在脚本中从命令行安装 Firefox 插件 https askubuntu com questions 73474 how to install firefox addon from command line in scri