Firefox 扩展开发手记

2015.7.14

因工作,想写一个能实现将 Excel 中的信息自动提交到网页表单的工具,决定开发一个插件试验一下。第一次开发 FF 插件,也决定写一下开发日志,一方面和大家分享经验,另一方面也是希望能坚持到底

今天主要做了信息收集。

了解到基本上只需要 XML 和 Javascrtip 就可以了

FF 官方开发中心

https://developer.mozilla.org/en-US/Add-ons/Overlay_Extensions/XUL_School/Getting_Started_with_Firefox_Extensions

https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Guide/Building_components_in_JavaScript

https://developer.mozilla.org/en-US/docs/Gecko_SDK

http://kb.mozillazine.org/Getting_started_with_extension_development

实战 Firefox 扩展开发

http://www.ibm.com/developerworks/cn/web/wa-lo-firefox-ext/

一个外文博客

http://robertnyman.com/2009/01/24/how-to-develop-a-firefox-extension/

比较好的两篇中文博客

http://blog.csdn.net/zhaozheng7758/article/details/6307839

最有价值的一篇,作者开发了同样的FillForm, 但是和我的需求不太一样,但是很有参考价值

http://blog.csdn.net/sysdzw/article/details/5514062

搭建开发环境

推荐工具

Extension Developer‘s Extension -  make life easier for Firefox extension developers. Testing JavaScript code, prototyping XUL layouts, and building XPI packages are all made easier by this extension. Install it and try it out!

官方 development addon 下载地址

https://developer.mozilla.org/en-US/Add-ons/Setting_up_extension_development_environment

Extension Developer‘s Extension  - https://addons.mozilla.org/en-US/firefox/addon/7434/

Tips:

1. 同时运行多个 FF 实例 - 命令行运行如下命令,可打开创建配置文件向导,新建一个 Dev Profile
Start -> Run C:\Program Files (x86)\Mozilla Firefox\firefox.exe -no-remote -p dev

2. 地址栏输入  about:config,可以打开开发人员配置页

3. 建立测试 pointer 文件,放在 C:\Users\tzheng2x\AppData\Roaming\Mozilla\Firefox\Profiles\jxafzakn.Dev\extensions

建立文件夹结构

  • install.rdf
  • chrome.manifest
  • chrome
    • content

      • sample.xul

测试示例文件  Install Hello World

很简单,就是一个 XPI 格式文件 ( 实际上就是一个 ZIP 文件, (pronounced "zippy") stands for Cross-Platform Installer, 所有支持 FF 的平台都可以使用 XPI ),直接拖到 FF 内容区就可以安装测试了 。

文件结构分析

install.rdf 文件

rdf - resource description framework

今天到这里吧,头晕了

2015.7.15

今天终于完成了调试环境的搭建,这样就debug省事多了,不用每次改一点儿再zip再重新部署.

步骤:

为了不影响平时的使用,建议建立一个新的 FF dev 的 profile.

在这个 dev profile 下的 extenstion 目录下建立 pointer 文件,指向你的源程序目录

下载 Extension Developer‘s Extension  - https://addons.mozilla.org/en-US/firefox/addon/7434/

安装后只要运行 reload all chrome 就可以了。

XUL 的元素参考列表

https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XUL

今天实现了一部分把文本信息写到网页表单中去的功能,基本没有遇到太多问题,接下来要考虑如何从 Excel 中抽取信息,看起来蛮好玩。

--------------------------------------------------------------------------------------------

什么是 XPCOM?

XPCOM 是一种跨平台的组件对象模型,类似于微软的 COM。它有多种的语言绑定,可以在 JavaScript,Java,Python 和 C++ 中使用和实现 XPCOM 的组件。XPCOM 本身提供了一系列核心组件和类,比如文件和内存管理,线程,基本的数据结构(字符串,数组)等。

Reference:

XPCOM guide

https://developer.mozilla.org/en-US/docs/Mozilla/Tech/XPCOM/Guide

似乎要用到下面的类, 看来要花点时间研究一下了

Components.classes["@mozilla.org/filepicker;1"]

Components.classes["@mozilla.org/network/file-output-stream;1"]

时间: 2024-10-12 19:02:13

Firefox 扩展开发手记的相关文章

Firefox扩展开发

Firefox扩展开发 (插件开发) Extension开发 入门教程 5步走 五步走 首先需要知道什么是"Firefox插件".这里说的"插件"只是一个通俗的说法,其实Firefox这种扩展功能的"插件"包括:扩展extension和插件plugin. {tip:title=Handy Hint} Firefox官方网站的解释是:Extensions are small add-ons that add new functionality to

firefox扩展开发(一) : 扩展的基本结构

用过firefox的人肯定要安装firefox的扩展,这样才能发挥火狐的全部实力.一般扩展是一个后缀为.xpi的文件,其实这个文件就是zip格式的压缩包,压缩了一个扩展所需要的所有目录和文件,基本的目录结构如下: extension.xpi:/install.rdf /components/* /components/cmdline.js /defaults//defaults/preferences/*.js /plugins/* /chrome.manifest /chrome/icons/

Firefox扩展开发 (插件开发) Extension开发 入门教程 5步走 五步走(转)

首先需要知道什么是“Firefox插件”.这里说的“插件”只是一个通俗的说法,其实Firefox这种扩展功能的“插件”包括:扩展extension和插件plugin. Firefox官方网站的解释是:Extensions are small add-ons that add new functionality to your Mozilla program. Plugins are programs that allow websites to provide content to you an

Mozilla Firefox扩展(Extensions)开发——XPCOM&XUL(二)

上节我们做了一个hello world,然而并没有什么卵用.这节我们实现一个具有实用功能的扩展吧! 创建我们的扩展开发目录,其结构如下: sessionstore |--content |             |--overlay.js |               | --overlay.xul |                 | --prefs.xul |--defaults |                  |--preferences |                  

常见浏览器扩展开发笔记(chrome firefox 360 baidu qq sougou liebao uc opera)

浏览器扩展开发貌似时下很冷门啊,但是不少企业还是有类似的应用,360的抢票插件啊,笔者最近在做的网页翻译扩展之类的.笔者在开发的过程中,遇到了不少坑,说是坑,说白了就是各个厂商支持的API不统一导致的. 经过总结,发现有三大阵营: Chrome系 Chrome 各种友好,你想要的API它基本都有,谁叫人是谷歌呢 360 国产浏览器中比较NB的,有极速和兼容2中模式,如果你开发完了chrome的扩展,直接copy过去,基本不用大改 Baidu qq浏览器,不予评价,论copy能力,马寨主手下的兄弟

[转]灯灯小程序开发手记:仿今日头条(上)

本文转自:http://www.jianshu.com/p/a1e0b8abb12d 写在前面 新的一年,祝大家新年快乐!当然对于程序员来说,新的一年,也要有新的改变.因此灯灯决定凑热闹编写微信小程序啦! 上一篇文章<记一次小程序开发过程>中,灯灯大致写了下自己第一次开发小程序的感受和流程.这一次灯灯会详细记录下自己制作一个小程序的思路.遇到的问题.涉及到的代码等和大家分享.    视频教程地址:http://study.163.com/course/introduction.htm?cour

php扩展开发

本文的环境是windows下开发php版本5.3 1.下载php5.3的源码包和php5.3的二进制包(平时使用的php程序包) 2.下载cygwin,并默认安装在c:\cygwin,因为生成php扩展框架的程序需要cygwin 3.假设php扩展的工作目录为d:\php,解压源码包和二进制包到这个目录 4.cmd命令行在d:\php\ext目录中运行 php ext_skel_win32.php --extname=yourext (如果php.exe程序的路劲未加入系统环境变量则需要自己指定

[分享]源代码&amp;开发手记:SAE应用“车百科” (Python + SAE + Bottle + Bootstrap) - Bottle - Python4cn(news, jobs)

[分享]源代码&开发手记:SAE应用"车百科" (Python + SAE + Bottle + Bootstrap) - Bottle - Python4cn(news, jobs) [分享]源代码&开发手记:SAE应用"车百科" (Python + SAE + Bottle + Bootstrap)[分享]源代码&开发手记:SAE应用"车百科" (Python + SAE + Bottle + Bootstrap) -

Chrome浏览器扩展开发系列之十四:本地消息机制Native messagin

Chrome浏览器扩展开发系列之十四:本地消息机制Native messaging 2016-11-24 09:36 114人阅读 评论(0) 收藏 举报  分类: PPAPI(27)  通过将浏览器所在客户端的本地应用注册为Chrome浏览器扩展的"本地消息主机(native messaging host)",Chrome浏览器扩展还可以与客户端本地应用之间收发消息. 客户端的本地应用注册为Chrome浏览器扩展的"本地消息主机"之后,Chrome浏览器会在独立的