【问题标题】:My Firefox add-on won't show when I install it我的 Firefox 插件在安装时不会显示
【发布时间】:2015-10-03 10:09:15
【问题描述】:

所以,我对制作 Firefox 插件完全陌生。我一直在尝试制作一个非常、非常 简单的程序,当我单击它时它会在页面上运行一些 JavaScript。这就是我想要它做的所有事情-_-
但是,当我将其拖入 FF/Nightly 时,它会安装,但不会出现在自定义菜单中。它会说它已安装,但仅此而已。 (我也无法打开它的首选项,但是,我真的没有抱怨 - 我只是想要一个非常基本的插件)。

如果您需要代码/整个 XPI 本身,我很乐意提供。谢谢你:)

我正在使用以下目录和文件:

.
├── chrome
│   ├── chrome.manifest
│   ├── content
│   │   ├── boustrophedonise.js
│   │   ├── browser.xul
│   │   └── prefrences.xul
│   ├── locale
│   │   └── en-UK
│   │       └── translations.dtd
│   └── skin
│       ├── icon.png
│       └── skin.css
├── defaults
│   └── preferences
│       └── pref.js
└── install.rdf

【问题讨论】:

  • 请将您的 XPI 内容上传到 Github 并分享链接。要获取 XPI 的内容,请将其重命名为 zip 文件,然后提取内容,然后上传到 Github。你知道你是否制作了 jpm 插件吗?网络扩展插件?经典引导插件?
  • 我现在必须获得一个 github 帐户!这是一个无引导的 xpi,内容压缩为 XPI。我确实说过添加了插件,并且描述出现在 Firefox 等中。
  • 我们来了(这是学习如何使用 git 的好借口)github.com/phunanon/boustrophedonise
  • 非常好,我会在几个小时后查看它,我有点忙。

标签: firefox-addon


【解决方案1】:

虽然可能存在其他问题,但您的 chrome.manifest 文件位于错误的目录中。它需要位于根目录(与 install.rdf 文件相同的目录)。这在 MDN 上的 Building an extension 教程的“Setting Up the Development Environment”和“Create a Chrome Manifest”部分都有介绍。第一部分说明您应该从如下所示的目录结构开始:

.
├── chrome
│   └── content
│       └── sample.xul (Much of your content in this directory)
├── chrome.manifest
└── install.rdf

chrome.manifest 文件是 Firefox 插件的必需文件之一。它定义了像 chome://myExtension/content/* 这样的 URL 指向什么。在您的情况下,如果 chrome.manifest 文件不在根目录中,则您的 install.rdf 中 chrome://boustrophedonise/content/options.xul 的 URL 无效,并且可能在Firefox Browser Console 安装扩展时(或者可能在显示附加管理器时,或者单击附加选项的链接时)。 Firefox 可能还会抱怨缺少 chrome.manifest 文件。显然,由于 Firefox 无法找到 chrome.manifest 文件,因此它不会将 overlay 应用到 chrome://browser/content/browser.xul 上,也不会将 skin 应用到该文件中,这两者都是在该文件中定义的,它们是将您的插件挂接到 Firefox 中的东西。

因此,在您的情况下,您需要移动 chrome.manifest 文件,使其位于:

.
├── chrome
│   ├── content
│   │   ├── boustrophedonise.js
│   │   ├── browser.xul
│   │   └── prefrences.xul
│   ├── locale
│   │   └── en-UK
│   │       └── translations.dtd
│   └── skin
│       ├── icon.png
│       └── skin.css
├── chrome.manifest
├── defaults
│   └── preferences
│       └── pref.js
└── install.rdf

【讨论】:

  • 该死,我在前几次尝试时已经将我的 chrome.manifest 放在根目录中,然后一些随机文章/教程让我放入了 chrome 目录。我现在已经移动了它,但它仍然没有出现在浏览器中,除了插件列表之外的任何地方。也谢谢你的解释:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-04-11
  • 1970-01-01
  • 2018-06-19
  • 1970-01-01
  • 2021-04-11
  • 2020-05-04
  • 2011-11-30
相关资源
最近更新 更多