Javascript 为什么我的引导Firefox扩展会导致错误?

Javascript 为什么我的引导Firefox扩展会导致错误?,javascript,firefox,firefox-addon,mozilla,firefox-addon-restartless,Javascript,Firefox,Firefox Addon,Mozilla,Firefox Addon Restartless,我是Firefox扩展开发新手。所以我一直在做一些实验。我目前正在尝试创建一个bootstrap扩展,除了最基本的要求:只有install.rdf和bootstrap.js。 目前,这个扩展实际上不应该做任何事情。我只想能够安装它没有任何问题。以后可以添加该功能 install.rdf和bootstrap.js已打包到一个带有7zip的.zip文件中,然后文件扩展名更改为.xpi。 安装是通过插件管理器完成的,在我的Firefox42.0中似乎工作得很好(Firefox给我一条成功消息) 但如果

我是Firefox扩展开发新手。所以我一直在做一些实验。我目前正在尝试创建一个bootstrap扩展,除了最基本的要求:只有install.rdf和bootstrap.js。 目前,这个扩展实际上不应该做任何事情。我只想能够安装它没有任何问题。以后可以添加该功能

install.rdf和bootstrap.js已打包到一个带有7zip的.zip文件中,然后文件扩展名更改为.xpi。 安装是通过插件管理器完成的,在我的Firefox42.0中似乎工作得很好(Firefox给我一条成功消息)

但如果我在安装后查看错误控制台,它会显示几个警告/错误:

1447258032068 addons.xpi警告加载测试插件的bootstrap.js时出错--53d9108a-541b-4209-a62e-3809504dfe6e@example.org:打开输入流时出错(文件名无效?):jar:file:///C:/Users/Stefan/AppData/Roaming/Mozilla/Firefox/Profiles/dlgniy94.default/extensions/Test-附件-53d9108a-541b-4209-a62e-3809504dfe6e@example.org.xpi!/bootstrap.js

1447258032068加载项.xpi警告加载项测试加载项--53d9108a-541b-4209-a62e-3809504dfe6e@example.org是否缺少引导方法卸载

1447258032080 addons.xpi警告加载测试插件的bootstrap.js时出错--53d9108a-541b-4209-a62e-3809504dfe6e@example.org:打开输入流时出错(文件名无效?):jar:file:///C:/Users/Stefan/AppData/Roaming/Mozilla/Firefox/Profiles/dlgniy94.default/extensions/Test-附件-53d9108a-541b-4209-a62e-3809504dfe6e@example.org.xpi!/bootstrap.js

1447258032080加载项.xpi警告加载项测试加载项--53d9108a-541b-4209-a62e-3809504dfe6e@example.org是否缺少引导方法安装

泽特佩尔:11.11.2015 17:07:12 Fehler:[异常…”组件返回故障代码:0x80004005(NS\U错误\U故障)[nsuri.hostPort]“nsresult:“0x80004005(NS\U错误\U故障)”位置:“JS帧::resource://gre/modules/PopupNotifications.jsm ::PopupNotifications\u refreshPanel/<::第579行“数据:否] 奎尔达蒂:resource://gre/modules/PopupNotifications.jsm 泽尔:583

1447258032112加载项.xpi警告加载项测试加载项--53d9108a-541b-4209-a62e-3809504dfe6e@example.org缺少引导方法启动

我不知道是什么导致了这些错误/警告。尤其是那些被认为缺失的引导方法令人费解

这是my bootstrap.js的内容:

const { classes: Cc, interfaces: Ci, utils: Cu } = Components;

Cu.import('resource://gre/modules/Services.jsm');

function startup(aData, aReason) {}
function shutdown(aData, aReason) {}
function install(aData, aReason) {}
function uninstall(aData, aReason) {}
虽然不多,但它应该是所有需要的东西,不是吗? 所有四种必需的方法(startup()、shutdown()、install()、uninstall())都存在。(它们是空的,因为插件还不应该做任何事情。) 那么,为什么我的Firefox42.0认为其中三个不存在呢?第四次(关机())为什么不这么认为

当出现多个错误时,为什么安装看起来可以正常工作(来自浏览器的成功消息)

我错过什么重要的事了吗

这是install.rdf:

<?xml version="1.0"?>
<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
  <Description about="urn:mozilla:install-manifest">
    <em:id>Test-AddOn--53d9108a-541b-4209-a62e-3809504dfe6e@example.org</em:id>
    <em:type>2</em:type>
    <em:name>Test AddOn</em:name>
    <em:version>1.0</em:version>
    <em:bootstrap>true</em:bootstrap>
    <em:description>This is a test.</em:description>
    <em:creator>Anonymous</em:creator>
    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>40.0</em:minVersion>
        <em:maxVersion>45.*</em:maxVersion>
      </Description>
    </em:targetApplication>
  </Description>
</RDF>

测试插件——53d9108a-541b-4209-a62e-3809504dfe6e@example.org
2.
测试插件
1
真的
这是一个测试。
匿名的
{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
40
45.*
据 可以使用chrome.manifest文件(我认为这意味着它不是必需的)

如果您对整个addon.xpi包感兴趣,我已将其上传到这里:

作为一名新手,您可能应该首先调查jpm插件:您可以在安装后10分钟内创建第一个插件(示例插件)。如果您想了解更多关于引导的信息,请让我知道我们可以进入细节。您是如何创建xpi文件的。xpi文件是通过将install.rdf和bootstrap.js打包到.zip文件(使用7zip)中创建的。然后我将文件扩展名更改为.xpi。清单呢?