我计划开发一个简单的Firefox扩展程序,它可以缩短当前活动选项卡的URL,显示弹出窗口并将其放入剪贴板。
在Google Chrome中,这相当容易(根据http://developer.chrome.com/extensions/getstarted.html)-- 纯JavaScript加上几个调用与浏览器UI交互的JavaScript API.
然而,在寻找好的Firefox扩展教程时,我找到的最正式的链接是:
- https://developer.mozilla.org/en-US/docs/Extensions
- https://developer.mozilla.org/en-US/docs/Building_an_Extension
- How do I write a Firefox Addon?
根据它们所说,即使是最简单的与浏览器UI互动也需要学习XUL语言。除此之外,我还必须设置自定义的Firefox配置文件,以免在开发过程中损坏默认配置文件,创建复杂的目录结构,在晦涩难懂的XML中编写清单,弄清如何打包和测试我所实现的任何内容等。
现在是2013年,难道没有更简单的构建Firefox扩展程序的方法吗?
.bashrc
中创建一个方便的快捷方式,这样你就不必手动cd到附加组件目录了:alias addon-sdk="cd /opt/addon-sdk && source bin/activate; cd -"
。既然你提到了“Chrome扩展”,我想补充一下,我还创建了一个名为browser-action的模块,使得移植使用Chrome的chrome.browserAction
API的扩展非常容易。 - Rob Wbash cfx init
时,我会收到以下错误信息:/opt/addon-sdk-1.16/bin/cfx: line 12: syntax error near unexpected token '(' /opt/addon-sdk-1.16/bin/cfx: line 12: 'cuddlefish_root = os.path.dirname(os.path.dirname(os.path.realpath(sys.argv[0])))'
- rubo77npm
安装工具。但是SDK不能再用于开发新的扩展了。请参见https://dev59.com/UWIj5IYBdhLWcg3wTTcG#41107443。 - serv-inc