Ошибка при установке дополнения - PullRequest
0 голосов
/ 21 ноября 2011

Я пытаюсь установить пример расширения, который имеет следующую структуру каталогов.

myexample
- install.rdf
- chrome.manifest
- content
-- myexample.js
-- myexample.xul

Файл chrome.manifest содержит:

content myexample chrome / content /

наложение chrome: //browser/content/browser.xul хром: //myexample/content/myexample.xul

Это довольно минималистское расширение.

Я создал из него zip-файл:

zip -r myexample.xpi myexample/

При установке в Firefox Tools -> Add-ons -> Install Add-on from file ... -> choose myexample.xpi пишет:

This add-on could not be installed because it appears to be corrupt.

Неужели я что-то не так?

1 Ответ

6 голосов
/ 21 ноября 2011

Название вашего вопроса вводит в заблуждение - в вашем chrome.manifest нет ничего плохого. Это сообщение об ошибке скорее означает, что Firefox не смог найти файл install.rdf на верхнем уровне вашего дополнения. Если вы запустите unzip -l myexample.xpi, вы увидите что-то вроде этого:

  Length     Date   Time    Name
 --------    ----   ----    ----
                            myexample/
                            myexample/install.rdf
                            myexample/chrome.manifest
                            myexample/content/

Как видите, все заархивированные вами файлы были помещены в подкаталог myexample/ вместо того, чтобы находиться на верхнем уровне архива. Чтобы получить правильный результат, вам нужно выполнить следующие команды:

cd myexample
zip -r ../myexample.xpi *
cd ..
...