Linux下firefox插件开发

引用自:

http://www.lupaworld.com/bbs/thread-22583-1-1.html

 

机器环境:Linux 2.6.12-1.1456.cocreate.3
Firefox版本:firefox-1.5.0.3
编译Firefox:
  1)安装mozilla开发包;
  2)从 ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/ 下载Firefox源码firefox-1.5.0.3-source.tar.bz2,下载中文语言包firefox-langpacks-cn-1.5.0.3.tar.bz2;
  3)以上两个文件下载完毕后放到/usr/src/redhat /SOURCES/,然后在/usr/src/redhat/SPECS/编写编译打包用的spec文件firefox-1.5.x,关于RPM、SPEC等可参考
http://www.redhat.com/docs/manua ... f-guide/index.html;
    其中语言安装脚本部分可以这么写:
# Install langpacks
%{__mkdir_p} $RPM_BUILD_ROOT%{_libdir}/firefox/extensions
%{__tar} xjf %{SOURCE23}
for langpack in `ls firefox-langpacks/*.xpi`; do
  language=`basename $langpack .xpi`
   extensiondir=$RPM_BUILD_ROOT%{_libdir}/firefox/extensions/langpack-$[email protected]
  %{__mkdir_p} $extensiondir
  unzip $langpack -d $extensiondir
  find $extensiondir -type f | xargs chmod 644
                                                                                                      
  langtmp=%{_tmpdir}/%{name}/langpack-$language
  %{__mkdir_p} $langtmp
  jarfile=$extensiondir/chrome/$language.jar
  unzip $jarfile -d $langtmp
  find $langtmp -type f | xargs chmod 644
  %{__rm} -rf $jarfile
  cd $langtmp
  zip -r -D $jarfile locale
  %{__rm} -rf locale
  cd -
  done
  %{__rm} -rf firefox-langpacks

  4)运行rpmbuild -bl firefox-1.5.x 确认%files的路径等正确,然后编译:rpmbuild -ba firefox-1.5.x,经过大约40几分钟(如果机器配置差的话需要更长的时间),如果没有出错则编译成功,生成的文件在/usr/src /redhat/RPMS/i386/和/usr/src/redhat/SRPMS/;

下面进入主题,编写插件:
  为简单起见可以将firefox源码包中的插件simple目录拷贝一份出来,然后直接修改相应文件,编写代码。完成后需要生成生成头文件和xpt文件,命令如下:
(1)生成头文件
   /usr/lib/mozilla-1.7.12/xpidl -m header -I/usr/share/idl/mozilla-1.7.12
testplug.idl
(2)生成xpt文件
/usr/lib/mozilla-1.7.12/xpidl -m typelib -I/usr/share/idl/mozilla-1.7.12
testplug.idl

写spec文件,如下:
。。。
%prep
rm -rf %{buildroot}
                                                                                                      
%setup -n %{name} -q
                                                                                                      
%build
./configure
%{__make}

%install
%{__mkdir} -p %{buildroot}%{_libdir}/firefox/{plugins,components}
install -m755 src/.libs/libtestplug.so %{buildroot}%{_libdir}/firefox/plugins
install -m755 src/testplug.xpt         %{buildroot}%{_libdir}/firefox/components
install -m644 demo.html         %{buildroot}%{_libdir}/firefox/

%clean
rm -rf %{buildroot}
                                                                                                      
%files
%defattr (-,root,root)
%{_libdir}/firefox/plugins/libtestplug.so
%{_libdir}/firefox/components/testplug.xpt
%{_libdir}/firefox/demo.html
                                                                                                      
%changelog
。。。

编译成功后启动firefox就可以看到测试了。


<参考>
mozilla/modules/plugin/tools/sdk/samples(firefox插件sample文件)
http://www.mozilla.org/project s/plugins/npruntime.html
http://kb.mozillazine.org/Extension_development

你可能感兴趣的:(html,linux,redhat,chrome,firefox)