Схема Jar в расширении Firefox

#jar #firefox-addon

#jar #firefox-аддон

Вопрос:

Я читаю учебник о расширениях Firefox, и один из важных файлов chrome.manifest выглядит следующим образом:

 content   xulschoolhello              jar:chrome/xulschoolhello.jar!/content/
skin      xulschoolhello  classic/1.0 jar:chrome/xulschoolhello.jar!/skin/unix/
skin      xulschoolhello  classic/1.0 jar:chrome/xulschoolhello.jar!/skin/mac/ os=Darwin
skin      xulschoolhello  classic/1.0 jar:chrome/xulschoolhello.jar!/skin/win/ os=WinNT
locale    xulschoolhello  en-US       jar:chrome/xulschoolhello.jar!/locale/en-US/
 

Частью этого файла является a jar scheme , который является ядром этого вопроса. Меня интересует спецификация (семантика) и роль этой схемы. В приведенном выше руководстве написано только:

It tells Firefox to look into the JAR file and read the files from the right path.

Когда я искал дополнительную информацию об этой схеме, я нашел только вещи, связанные с языком программирования Java, но не вещи, связанные с расширением Firefox.

Не могли бы вы объяснить эту схему более подробно?

(Я тоже пометил его jar , но я переставлю его, если это что-то другое)

Спасибо

Ответ №1:

chrome.manifest Файл сообщает Firefox, где искать файлы Chrome с расширением. Эти файлы могут быть упакованы (в JAR-файл) или распакованы (в файловой системе, а не в JAR-файле). Для распакованных расширений вам просто нужно указать путь к файлам в файловой системе. jar: Схема заключается в том, как вы сообщаете Firefox, что ваши файлы Chrome упакованы, где находится JAR, а затем где найти файлы в JAR. Она имеет следующий формат:

 jar:<path_to_JAR>!<path_to_files_in_JAR>
 

Чтобы привести конкретный пример, расширение Greasemonkey имеет следующую строку в своем манифесте:

 content greasemonkey jar:chrome/greasemonkey.jar!/content/
 

Это сообщает Firefox, что у Greasemonkey есть каталог содержимого в JAR, расположенный по адресу chrome/greasemonkey.jar (путь относительно местоположения манифеста) в каталоге верхнего уровня с именем content .

Комментарии:

1. Спасибо. Если у вас есть ссылка, где вы нашли эту информацию, пожалуйста, добавьте ее.