是否可以将XPI绑定格式的firefox插件解码为本地语言XUL?
我只是想学习如何制作插件。所以,我想如果我可以解码一个Firefox插件,那么我就可以学习插件架构了!
答案 0 :(得分:7)
XPI只是放一个ZIP文件,所以你只需要提取其内容并阅读文件......
答案 1 :(得分:3)
您要查看的大部分代码都位于扩展程序的chrome目录中,通常位于jar文件中。您只需要一个可以提取zip文件的文件提取器。一旦你提取了xpi(它只是一个带有xpi扩展名的zip文件),打开chrome子文件夹,看看那里有什么。如果它是一个jar文件,请提取它的内容(.jar文件也只是具有不同扩展名的zip文件)。从那里,可能有一个内容文件夹,应该有大部分的xul,css,js等。
答案 2 :(得分:3)
刚刚了解到Ubuntu中还有xpi-unpack和相应的xpi-pack
(来自sudo apt-get install mozilla-devscripts
);似乎要将.xpi
和.jar
文件的解压缩考虑在内..
干杯!
修改:请注意,xpi-unpack
可能存在权限问题;这是我的一个示例命令行日志:
user@PC:Desktop$ xpi-unpack colt.xpi colt-dir
Unpacking colt.xpi
Unpacking ./chrome/colt.jar
Unpacked xpi file.
user@PC:Desktop$ ls -la colt-dir/chrome/colt.jar\!/
total 16
drwxr-xr-x 4 user user 4096 2011-07-05 09:52 .
drwxr-xr-x 3 user user 4096 2011-07-05 09:52 ..
d--------- 2 user user 4096 2010-09-12 05:15 content
d--------- 25 user user 4096 2011-01-08 17:08 locale
user@PC:Desktop$ stat -c '%n %a' colt-dir/chrome/colt.jar\!/
colt-dir/chrome/colt.jar!/ 755
user@PC:Desktop$ stat -c '%n %a' colt-dir/chrome/colt.jar\!/content/
colt-dir/chrome/colt.jar!/content/ 0
user@PC:Desktop$ sudo chmod -R 755 colt-dir/chrome/colt.jar\!/
user@PC:Desktop$ ls -la colt-dir/chrome/colt.jar\!/
total 16
drwxr-xr-x 4 user user 4096 2011-07-05 09:52 .
drwxr-xr-x 3 user user 4096 2011-07-05 09:52 ..
drwxr-xr-x 2 user user 4096 2010-09-12 05:15 content
drwxr-xr-x 25 user user 4096 2011-01-08 17:08 locale
EDIT2:实际上,其他文件也可能缺乏权限:
user@PC:Desktop$ ls -la colt-dir/
total 28
drwxr-xr-x 4 user user 4096 2011-07-05 09:52 .
drwxr-xr-x 5 user user 4096 2011-07-05 10:04 ..
drwxr-xr-x 3 user user 4096 2011-07-05 10:04 chrome
---------- 1 user user 1337 2011-06-23 00:05 chrome.manifest
drwxr-xr-x 3 user user 4096 2011-07-05 09:52 defaults
---------- 1 user user 1969 2011-06-23 00:05 install.rdf
---------- 1 user user 1275 2010-09-12 05:04 LICENSE.txt
user@PC:Desktop$ stat -c '%n %a' colt-dir/install.rdf
colt-dir/install.rdf 0
...最好chmod所有内容:sudo chmod -R 755 colt-dir/
然后尝试进行更改和打包(如xpi-pack colt-dir colt-2.xpi
中所述)