Mozilla developer newsletter Our newsletter for web developers, which is an excellent resource for all levels of experience. Learn JavaScript An excellent resource for aspiring web developers — Learn JavaScript in an interactive environment, with short lessons and interactive tests, guided.

  1. Firefox Developed By This Company
  2. Firefox Dev Edition
  3. Download Firefox Dev
  4. Firefox Developers
  5. Firefox Developer Tools
  6. Firefox Developer Ftp

If you are already familiar with the basic concepts of browser extensions, skip this section to see how extension files are put together. Then, use the reference documentation to start building your extension. Visit Firefox Extension Workshop to learn more about the workflow for testing, publishing, and extensions for Firefox.

This article walks through creating an extension for Firefox, from start to finish. The extension adds a red border to any pages loaded from 'mozilla.org' or any of its subdomains.

The source code for this example is on GitHub: https://github.com/mdn/webextensions-examples/tree/master/borderify.

First, you'll need Firefox version 45 or later.

The new fonts panel in Firefox DevTools gives developers quick access to all of the information they need about the fonts being used in an element. It also includes valuable information such as the font source, weight, style and more. Learn about CSS Grid Layout, Firefox Debugger, and more with the Firefox DevTools playground. I'm trying to use firefox as a development browser. I am trying to do my day job on firefox instead of chrome but having to manually clear the cache whenever I make a change absolutely kills the productivity. 8/15/16, 2:13 PM. Quote; Chosen Solution.

Writing the extension

Dev

Create a new directory and navigate to it. For example, in your command line/terminal you do it like this:

manifest.json

Now create a new file called 'manifest.json' directly under the 'borderify' directory. Give it the following contents:

  • The first three keys: manifest_version, name, and version, are mandatory and contain basic metadata for the extension.
  • description is optional, but recommended: it's displayed in the Add-ons Manager.
  • icons is optional, but recommended: it allows you to specify an icon for the extension, that will be shown in the Add-ons Manager.

The most interesting key here is content_scripts, which tells Firefox to load a script into Web pages whose URL matches a specific pattern. In this case, we're asking Firefox to load a script called 'borderify.js' into all HTTP or HTTPS pages served from 'mozilla.org' or any of its subdomains.

  • Learn more about match patterns.

In some situations you need to specify an ID for your extension. If you do need to specify an add-on ID, include the browser_specific_settings key in manifest.json and set its gecko.id property:

icons/border-48.png

Firefox Dev

The extension should have an icon. This will be shown next to the extension's listing in the Add-ons Manager. Our manifest.json promised that we would have an icon at 'icons/border-48.png'.

Create the 'icons' directory directly under the 'borderify' directory. Save an icon there named 'border-48.png'. You could use the one from our example, which is taken from the Google Material Design iconset, and is used under the terms of the Creative Commons Attribution-ShareAlike license.

If you choose to supply your own icon, It should be 48x48 pixels. You could also supply a 96x96 pixel icon, for high-resolution displays, and if you do this it will be specified as the 96 property of the icons object in manifest.json:

Firefox developer tools

Alternatively, you could supply an SVG file here, and it will be scaled correctly. (Though: if you're using SVG and your icon includes text, you may want to use your SVG editor's 'convert to path' tool to flatten the text, so that it scales with a consistent size/position.)

borderify.js

Finally, create a file called 'borderify.js' directly under the 'borderify' directory. Give it this content:

This script will be loaded into the pages that match the pattern given in the content_scripts manifest.json key. The script has direct access to the document, just like scripts loaded by the page itself.

Firefox Developed By This Company

Trying it out

First, double check that you have the right files in the right places:

Installing

In Firefox: Open the about:debugging page, click 'This Firefox' (in newer versions of Firefox), click 'Load Temporary Add-on', then select any file in your extension's directory.

The extension will now be installed, and will stay until you restart Firefox.

Alternatively, you can run the extension from the command line using the web-ext tool.

Firefox developers

Testing

Now try visiting a page under 'mozilla.org', and you should see the red border round the page:

Don't try it on addons.mozilla.org, though! Content scripts are currently blocked on that domain.

Firefox Dev Edition

Try experimenting a bit. Edit the content script to change the color of the border, or do something else to the page content. Save the content script, then reload the extension's files by clicking the 'Reload' button in about:debugging. You can see the changes right away:

Download Firefox Dev

Packaging and publishing

Firefox Developers

For other people to use your extension, you need to package it and submit it to Mozilla for signing. To learn more about that, see 'Publishing your extension'.

What's next?

Firefox Developer Tools

Now you've had an introduction to the process of developing a WebExtension for Firefox:

Firefox Developer Ftp

  • take your learning further.