Firefox Extension Template

By  on  

Creating a Firefox extension can be difficult if you don't know the files involved and how to structure your extension folder. Fear not -- I have created a very basic Firefox extension template file/folder structure for you to get your first plugin going.

File & Folder Structure

  • MyExtension/
    • chrome/
      • content/ - contains the extensions XUL and JavaScript files.
        • myExtension.xul - The XML that creates the layout of the extension.
        • options.xul - The XML that creates proviedes extension options. Empty for this template.
        • myExtension.js - The JavaScript that manages the action of each extension object.
      • locale/ - contains language files. None included in this template. Assume English.
      • skin/ - contains images and CSS to control extension object layout.
        • myExtension.css - a CSS file controling presentation, just like a website.
        • logo.png - a sample image. All images go in this folder as well.
    • chrome.manifest - maps out the file/structure layout of the extension for Firefox.
    • install.rdf - provides information about the extension.
    • update.rdf - gets pinged to check for extension updates.

Note that this structure isn't required but is a very commonly used structure. Also, make sure to check out my David Walsh Blog Toolbar post to see an example of my file contents.

Stay tuned for my post on creating the XPI file that packages the extension!

Recent Features

  • By
    9 Mind-Blowing Canvas Demos

    The <canvas> element has been a revelation for the visual experts among our ranks.  Canvas provides the means for incredible and efficient animations with the added bonus of no Flash; these developers can flash their awesome JavaScript skills instead.  Here are nine unbelievable canvas demos that...

  • By
    9 More Mind-Blowing WebGL Demos

    With Firefox OS, asm.js, and the push for browser performance improvements, canvas and WebGL technologies are opening a world of possibilities.  I featured 9 Mind-Blowing Canvas Demos and then took it up a level with 9 Mind-Blowing WebGL Demos, but I want to outdo...

Incredible Demos

  • By
    Animated AJAX Record Deletion Using MooTools

    I'm a huge fan of WordPress' method of individual article deletion. You click the delete link, the menu item animates red, and the item disappears. Here's how to achieve that functionality with MooTools JavaScript. The PHP - Content & Header The following snippet goes at the...

  • By
    MooTools Link Fading

    We all know that we can set a different link color (among other properties) on the hover event, but why not show a little bit more dynamism by making the original color fade to the next? Using MooTools 1.2, you can achieve that effect. The MooTools...

Discussion

  1. I guess both of us think alike :) http://github.com/cheeaun/example-fx

  2. @Lim Chee Aun: As always! :) This setup is pretty common.

  3. u mis-typed the word “chrome”…

  4. @Foobar: Updated.

  5. Thanks a bunch David, I’ve always wanted to try my hand at creating my own Firefox tool bar but never really knew how to start. Thanks for the jump start. ;)

  6. You can use an Extension Wizard for that purpose.

  7. Scott Morris

    I have been tasked to create an add on and through all the searching and examples yours was the best. Thank you.

  8. andrew

    I have defind a new action that to call other program In my myExtension.js ,
    Am i input the program with myExtension.js in content too ?

  9. I always to the star to make my Firefox toolbar, but knew how to really wanted to try my hand but never.
    ——————————–
    ruthallen

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!