firefox扩展报告错误加载项损坏

firefox扩展报告错误加载项损坏,firefox,firefox-addon,firefox-addon-sdk,Firefox,Firefox Addon,Firefox Addon Sdk,我试着按照学校的指示去做 构建firefox插件 我将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">

我试着按照学校的指示去做 构建firefox插件

我将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>helloworld@mozilla.doslash.org</em:id>
    <em:name>Hello World extension for Firefox</em:name>
    <em:version>1.0</em:version>
    <em:description>Demo extension.</em:description>
    <em:creator>Nickolay Ponomarev</em:creator>
    <!-- optional items -->
    <em:contributor>A person who helped you</em:contributor>
    <em:contributor>Another one</em:contributor>
    <em:homepageURL>http://kb.mozillazine.org/Getting_started_with_extension_development</em:homepageURL>
    <!--em:optionsURL>chrome://sampleext/content/settings.xul</em:optionsURL>
    <em:aboutURL>chrome://sampleext/content/about.xul</em:aboutURL>
    <em:iconURL>chrome://sampleext/skin/mainicon.png</em:iconURL>


    <!-- Firefox -->
    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>12.0</em:minVersion>
        <em:maxVersion>32.*</em:maxVersion>
      </Description>
    </em:targetApplication>

  </Description>

</RDF>

helloworld@mozilla.doslash.org
Firefox的Hello World扩展
1
演示扩展。
尼科莱·波诺马列夫
帮助你的人
另一个
http://kb.mozillazine.org/Getting_started_with_extension_development
{ec8030f7-c20a-464f-9b0e-13a3a9e97384}
12
32.*
安装时报告


欢迎发表评论

扩展名的核心文件(
install.rdf
chrome.manifest
bootstrap.js
如果适用)必须使用ANSI编码保存。检查编辑器是否默认为某种unicode风格。

实际上,不是。首先。第二个XML/XBL/CSS/JS文件应该是不带BOM的UTF-8(理论上也支持其他编码),而chrome.manifest最好是ASCII(理论上它是不带BOM的UTF-8,其中ASCII是其中的一个子集),如果未在XML声明中另行指定,则UTF-8由底层隐含。@我知道有一种UTF-8仅使用BOM和名称ASCII保存为ANSI:-),另外,我不知道它是否已修复,但UTF-8
bootstrap.js
(或在字符集未显式设置为UTF-8时使用
loadSubScript
加载的任何其他js)用于失败。好吧,记事本
ANSI
实际上是在Windows中选择作为ANSI代码页的任何代码页,或者。在大多数(西方)系统上,ASCII是ANSI代码页的子集,但是。。。或者:永远不要使用
notepad.exe
:p您对
loadSubScript
有一个很好的看法,尽管您可以而且可能应该传递一个显式编码(从Firefox 5开始)。但这确实导致
bootstrap.js
被读取为ASCII。在那一点上我是正确的!我为另一个问题提供的答案讨论了可能导致此错误消息的一些陷阱: