最近玩了一把Firefox的扩展开发,感觉不错。倒腾出来一个ChinaStock,有兴趣的可以瞧瞧(现在还被放在Sandbox里面,必须登录才能下载安装;同时因为被放在sandbox里面,暂时还不能被自动更新版本)。如果您愿意的话,也可以直接在本站下载安装。
扩展开发中用得着的扩展(有点拗口):
Extension Developer's Extension (xpi download / install address) 快速将扩展目录打包成xpi文件,在不重启Firefox的情况下重新载入所有扩展以及其他实用小功能。必备!如果不使用该扩展快速重载扩展的话,每次修改代码之后都必须从Firefox的菜单栏选择“退出”关闭Firefox再打开才有99%的几率保证该Chrome内容是最新修改后的,那叫一个痛苦。即使设置参数 nglayout.debug.disable_xul_cache = true ,也只是减少了修改窗口或对话框之后的重启而已。
Chrome List + Extension Manager Extended 学习其他人写的扩展总是最快入门的方法。 Chrome List 提供了扩展浏览功能,可以查看扩展安装之后存在的问题和jar包里面的源代码;Extension Manager Extended 则扩展了Firefox的扩展软件列表功能,直接显示每个扩展的ID,通过右键可以直接打开扩展存放的目录,再不需要去资源管理器找深埋在 Application Data/Mozilla/Firefox/Profiles/!@#$%^.default/extensions 里的jar包,也不需要去猜测使用UUID作为ID的扩展到底对应在哪个子目录了。
DebugLogger + Console2 DebugLogger 是 dump() 的优化版本。可以按照每个项目分别查看各自的dump信息。像 Firebug 这样的大师级扩展属于开发必备不需多讲,这个 DebugLogger 相较而言属于轻量级并且原始的调试辅助工具。配合它,至少不需要再用alert来简单粗暴了。 Console2 则是错误控制台的加强版,实现了 Firefox 3 错误控制台的一些特性。
现有HTML代码的利用:
虽然并不被鼓励,但对于更熟悉HTML语法的开发者来说, 最快捷编写扩展界面的方法是在 XUL 中引入HTML命名空间(为根标签增加属性 xmlns:html="http://www.w3.org/1999/xhtml"),然后给所有使用到的HTML标签添加 html: 前缀(比如 <div>...</div> 应该写成 <html:div>...</html:div>)即可。当然,因为 XUL 是基于 XML 的语言,所以所有的标签属性都应该是小写格式,并且空tag必须进行关闭。
相应的,由于上述定义方式下HTML 元素标签定义不在主命名空间内,当进行 DOM 操作的 js 代码在创建HTML 元素的时候,也不能直接使用 createElement ,而必须使用 createElementNS 。比如 document.createElementNS("http://www.w3.org/1999/xhtml","html:div");
关于扩展ID:
每个扩展软件都必须有个唯一的标识ID,建议是使用UUID,也可以使用形如 extensionname@my.domain(必须有@符号但不必是真实的域名) 的字符串。生成UUID的方法很多:windows下可以安装微软自己提供的GUID Generator,*nix 下直接敲命令 uuidgen ,或者访问这里在线生成一个。个人觉得虽然UUID不会造成ID冲突,但 @ 形式的可读性更强一些,否则不靠前面提到的扩展帮忙要把ID跟功能对应起来还真是件费力的事情。
扩展描述的本地化:
在 Firefox 扩展管理器中,每个扩展的名字下面都有一段简短的描述(description),这段描述来自扩展根目录下的 install.rdf 文件。将这段描述进行本地化处理的方法是在扩展目录下创建子目录 defaults/preferences ,在子目录下新建一个 js 文件 myextname.js ,包含以下内容:
pref("extensions.ReplaceWithExtensionIDHere.description", "chrome://myextname/locale/myextname.properties");
同时在 locale 语言包文件 myextname.properties 中添加一行:
extensions.ReplaceWithExtensionIDHere.description = 经过本地化的描述内容
扩展的打包发布:
如果使用 Extension Developer's Extension提供的extension builder 进行打包,它会在build的过程中自动将chrome.manifest中的目录配置替换成jar:chrome的形式,而不需要自己来回切换不同的chrome.manifest配置。当然前提是你的扩展工作目录按照约定的结构进行组织。如果你没有把content / skin / locale 目录放在工作根目录而是放在了 chrome 子目录下的话,打包之后xpi文件会同时包含jar文件和chrome整个目录。生成xpi文件之后,到 Firefox Add-ons 的开发者工具界面进行注册/登录/上传即可。
相关推荐
firefox 扩展开发示例 , firefox 插件开发 内含, 1.示例程序 2.指导步骤 3.扩展开发教程 指导步骤,为原创内容,写的不好,大家见凉!
这个文档是个人在开发100工具时总结出来的文档,部分内容摘自他人,只供学习
firefox插件开发教程firefox插件开发教程
本文档详细介绍了Firefox扩展开发的详细过程,包括文档的组织结构,安装的配置以及一些基本的xul语法知识等,文档中的示例可以直接编辑,生成Firefox扩展。
web开发必备的firefox扩展集合: compatibility detector firebug firecookies fireguestures measureit rainbow color tools web developer
非常适合入门级别的Mozilla开发人员,介绍详细,界面整洁,对Mozilla或者火狐开发的人员来说是非常好的
firefox extension 开发例子
快速重启firefox,定制工具栏中添加了一个按钮,可手动移动到任何地方。完整版在文件菜单中增加了重新启动菜单项。直接打开Firefox,拖拽进Firefox就可以安装
Firefox填写表单扩展 安装方法很简单,直接拖拽到火狐浏览器窗口中然后根据提示操作即可。 随时关注最新版: http://code.google.com/p/ffextension/downloads 火狐官方下载地址: ...
基于 Mozilla firefox 的扩展开发教程。如果你对firefox插件感兴趣,或许你也可以成为开发中的一员。
博文中firefox扩展开发初级教程示例扩展xpi包,可快速重启firefox。欢迎下载,学习使用并与我交流。firefox交流群:81424441
Firefox扩展实例-HelloWorld.
这是关于Firefox和Chrome扩展开发技术,此文档详细介绍了利用java技术开发Firefox和Chrome浏览器插件的一些问题
里面有firefox扩展插件制作所需要的一部分知识。有经典 javascript脚本,XML教材,一些扩展插件例子。
受影响的包括uBlock Origin、AdGuard AdBlocker、AdBlock For Firefox、AdNauseam等广告拦截扩展。只有科学上网,去AdGuard或AdGuard AdBlocker英文网站主页安装这个插件。你也可以尝试下载这个离线安装插件,解压缩...
在本地安装firefox扩展的脚本,已经含有chm阅读扩展,有需要的就下。
常用的Firefox(火狐)扩展,包括AdblockPlus,IETabplus,Firebug、Webdeveloper等。
generator-firefox-extension, 用于 Firefox 扩展的文书生成器 Firefox 扩展生成器 用于扩展扩展的文件生成器允许你使用基本文件结构和推荐设置快速设置扩展。这样可以节省编写样板代码的时间,这样就可以立即开始...
一步一步实现都你如何创建Firefox扩展。
FireFox开发文档,关于FireFox的扩展开发