开始开发 Firefox 扩展所需的最低基本设置是什么?
7 回答
注意:为了防止破坏您的默认 Firefox 体验,请在新创建的一次性测试帐户上尝试以下提示。
第 1 步:创建一个新的 Firefox 配置文件。为此,您需要通过命令行选项调用 Profile Manager:
firefox.exe -profilemanager
单击配置文件管理器的“创建配置文件”按钮,这将调用一个向导。为配置文件命名。使用“选择文件夹”按钮并将配置文件保存在适当命名的文件夹中。这个文件夹是我们要创建快速而肮脏的 Firefox 扩展的地方。
第 2 步:将目录更改为第 1 步中创建的配置文件文件夹中的“扩展”文件夹。现在我们需要为 Firefox 扩展提供一个全局唯一名称。类似电子邮件的名称就足够了。例如,OneMinuteFirefoxExtension@ec29.com 将是一个足够好的扩展名。在“扩展”文件夹下,创建一个文件夹,其名称为刚刚选择的唯一名称。
第 3 步:创建文件 chrome.manifest 和 install.rdf。您可以将示例复制粘贴到此处,并适当更改名称和描述。
chrome.manifest:
content 1mffext chrome/
并安装.rdf:
<?xml version="1.0"?>
<RDF:RDF xmlns:em="http://www.mozilla.org/2004/em-rdf#"
xmlns:NC="http://home.netscape.com/NC-rdf#"
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<RDF:Description RDF:about="rdf:#$Fsv+Z3"
em:id="{ec8030f7-c20a-464f-9b0e-13a3a9e97384}"
em:minVersion="2.0"
em:maxVersion="3.0.*" />
<RDF:Description RDF:about="urn:mozilla:install-manifest"
em:id="1m-ff-ext@ec29.com"
em:type="2"
em:name="OneMinuteFirefoxExtension@ec29.com"
em:version="0.0.1"
em:description="One Minute FireFox extension"
em:creator="labsji "
em:homepageURL="http://labsji.wordpress.com">
<em:contributor>Venkat83</em:contributor>
<em:targetApplication RDF:resource="rdf:#$Fsv+Z3"/>
</RDF:Description>
第 4 步创建名为 chrome 的文件夹,并在该文件夹中创建一个名为 test.txt 的文本文件。文件夹中的文件可以通过 chrome://1mffext/content/test.txt 等 chrome url 访问
现在,最低限度的扩展已准备就绪。常规的 html/javascript 文件可用于创建所需的功能。
测试扩展:调用 Firefox 以使用上面创建的配置文件。
firefox.exe -profile <path of the newly created profile> -no-remote
我创建了一个 googlecode 项目来共享按照上述步骤创建的结果代码。Just a Minute Firefox Extension提供了代码和运行脚本
Sim-OnDemand-个人虚拟世界即服务的启动器应用程序是使用此方法打包和分发的应用程序的一个示例。
第 1 步:使用Add-on Builder生成所有必要的文件。
第 2 步:将下载的文件解压到您的开发区。
第 3 步:在您的配置文件的扩展文件夹中创建一个文本文件,根据下载的 install.rdf 文件中的 em:id 命名,将提取文件的完整路径放入其中,然后重新启动 Firefox(如果需要,删除文本文件以卸载) .
要使用不同的配置文件启动另一个 Firefox 实例,您可以使用以下命令:
firefox -P My_test_profile -no-remote
这样,您可以运行 2 种不同的 firefox,并使用其中一种来测试扩展,而不会弄乱您经常使用的那种。
有趣的信息。
现在回答这个问题,我想说:创建一个 Greasemonkey 脚本(或 Chickenfoot,或 iMacros 等)。
可能会受到更多限制(例如在更改 FF UI 时),但适合大多数需求。
以下是为什么有人想要创建一个最小的 Firefox 扩展的原因。
- 当您希望创建基于本地计算机(磁盘)驻留浏览器的应用程序时,如果应用程序被构造为扩展,则可以与文件系统进行交互以进行读写。
- 无需担心 XmlHttpRequest 跨域问题的快速原型设计。当您作为普通应用程序运行时,每当尝试 XmlHttpRequest 时,用户都会受到弹出窗口的困扰。
- 很多时候,安装扩展程序会引起很多焦虑,即“这会与我的其他自定义设置混淆吗?”。正在进行的扩展可以与配置文件一起分发,以便用户可以预览、测试它。无需担心会破坏默认的 Firefox 浏览体验。
附加 SDK 使简单的附加开发变得更加容易。 https://developer.mozilla.org/en-US/Add-ons/SDK
Mac/Linux 的步骤:
- 从此页面下载并解压 zip:https ://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Installation
- 在 add-on-sdk- version文件夹中,运行
source bin/activate
mkdir plugin_name
cd plugin_name
- 编辑 lib/main.js 以包含您的代码。
cfx init
我建议在 Firefox 的便携版上进行测试。