Coding A Simple Firefox Extension

Coding A Simple Firefox Extension

Coding A Simple Firefox Extension

Hiya! Today I want to share my experience creating a simple Firefox extension. I was a bit intimidated by the idea of creating an extension, but I was determined to give it a try! Been on my 'projects to-do' list for a long time! πŸ˜…

I found that the process was actually quite straightforward, and with some guidance from a couple of YouTube videos, I was able to create a working (temporary) extension in just an hour. My hope is that this post will serve as a helpful guide for anyone who is interested in creating their own Firefox extension~!

Coding A Simple Firefox Extension

What exactly are we making?

Coding A Simple Firefox Extension
Coding A Simple Firefox Extension

We will be making a simple temporary extension - an extension that only you have access to e.g. end-users will not be able to use the extension. This is a way to test if your extension works and find issues. I might make another post on how to actually upload it for other people to use, but for now, this method is for you to use the extension.

This is the link to the official Mozilla Firefox 'Temporary installation' Guide' for extenisions - LINK

Now, for the steps into making the extension:

Setting up the development environment

Creating a manifest file

Adding a pop-up window

Attaching JavaScript functionality to a button

Load your extension in Firefox

Let's get started~!

Coding A Simple Firefox Extension

Step 1 - Setting up the development environment

Coding A Simple Firefox Extension
Coding A Simple Firefox Extension

Obviously, you will need to have Firefox installed on your computer. You will also need a code editor, such as Visual Studio Code or Sublime Text, to write your code. I'm going to use VS Code.

In your code editor, create a new folder where you will store your extension files. You can name this folder whatever you like. For this example, I will call it 'Firefox Extension'. I also recommend adding the following files in the folder:

index.html (or in this case popup.html file)

icon image in .png or .jpg or similar formats

manifest.json - talked about in the next step

script.js

Step 2 - Creating a manifest file

Coding A Simple Firefox Extension

The most important file I believe when creating an extension is the manifest JSON file. This file will contain metadata about your extension, including its name, version, and permissions. In your new folder, create a new file called "manifest.json".

This is the general structure of the file. The icon size you need to have is 48x48 pixel size image and then you can have others to be responsive to screensizes, I just added one extra. The 'browser_action' part includes the default icon image that will display an icon in the Firefox toolbar and the popup html file. In 'scripts', that is where we will add the JavaScript code to run.

Step 3 - Adding a pop-up window

Coding A Simple Firefox Extension

The code simply displays the text "Hello World" and a button in the center of the window. I assume you're good at your HTML and CSS so I won't go into too much detail here but the CSS is in the style tags within the head tags and what we can see also is what is between the body tags - the 'Hello World' and the 'Click me!' button.

Don't forget to include the script tag at the end of the body tag so it'll link to the script.js file in your folder AND include "scripts": ["script.js"] in the manifest.json for the javascript code.

Step 4 - Attaching JavaScript functionality to a button

Coding A Simple Firefox Extension

Again, I hope you very basic JavaScript. This code basically adds an event listener to the button with the ID "myBtn" (which is the button with 'Click me!' on it). When the button is clicked, it changes the heading 1 text from 'Hello World' to 'The button was clicked!'.

And that it! Done with all the coding part and now to upload it for you to use~!

Step 5 - Load your extension in Firefox

Coding A Simple Firefox Extension

Open Firefox and type "about:debugging" in the address bar. This will open the Firefox Developer Tools page. Click the "This Firefox" section to the left of the page, then click "Load Temporary Add-on". Navigate to your extension folder and select the manifest.json file.

The extension is now loaded in Firefox! Click the icon in the toolbar to see your pop-up window!

Coding A Simple Firefox Extension

Whenever you make changes to the extension, back on the Firefox Developer Tools page, click the 'Reload' button on your extension section and changes should show up!

Coding A Simple Firefox Extension

I hope that this post has been helpful to you and that it has inspired you to create your own Firefox extension! πŸ‘©πŸΎβ€πŸ’»πŸ’— Remember, the most important thing is to have fun and experiment with different ideas - play with the colours or sizes or the javascript code! Don't be afraid to try new things and explore!!

Extra links that helped me learn:

How to build an extension for Firefox in less than 5 minutes [video]

Temporary installation in Firefox [webpage]

Thanks for reading πŸ₯°πŸ’—

More Posts from Atomicqueenheart and Others

4 weeks ago
Pyotr Ilyich Tchaikovsky, From A Letter Featured In The Life & Letters Of Pyotr Ilyich Tchaikovsky

Pyotr Ilyich Tchaikovsky, from a letter featured in The Life & Letters of Pyotr Ilyich Tchaikovsky

11 months ago

"you look so pretty" , okay then carry a picture of me in your wallet πŸ₯°πŸ˜˜


Tags
1 year ago

this is so cutee istgg😭

dorcas: say something like

dorcas: your hand looks heavy, let me hold it for you?

regulus: i can do that.

later !!?

regulus: you look, um, heavy

regulus: hold me

james: ???

10 months ago

I want to be someone's first priority at least once

10 months ago

hey (with the intention ki tum khana banana aur main kitchen counter pe baithke tumhe dekhti rahoongi)

11 months ago

the urge to be called "meri pasandida aurat" ✨️🫢


Tags
11 months ago

I need a

"Abhi na jao chod kar,

ke Dil abhi bhara nhi"

To my

"Aacha to hum chalte h"

1 year ago

i want to communicate through handwritten letters stained with my cherry red lipstick with him , yeh kab hoga?:(


Tags
  • lavenderro
    lavenderro liked this · 3 months ago
  • otto-von-stirlitz
    otto-von-stirlitz liked this · 4 months ago
  • thisseethingcoast
    thisseethingcoast liked this · 8 months ago
  • jackalgirl-01
    jackalgirl-01 liked this · 9 months ago
  • ghostdev404
    ghostdev404 liked this · 10 months ago
  • theoneintheshadows-blog1
    theoneintheshadows-blog1 liked this · 11 months ago
  • seekerwithsneakers
    seekerwithsneakers liked this · 11 months ago
  • codiando
    codiando reblogged this · 11 months ago
  • puddinggb
    puddinggb liked this · 1 year ago
  • lonni1304
    lonni1304 liked this · 1 year ago
  • mjimen19
    mjimen19 reblogged this · 1 year ago
  • letscandyme
    letscandyme liked this · 1 year ago
  • amare-studyblr
    amare-studyblr liked this · 1 year ago
  • neet-freek
    neet-freek liked this · 1 year ago
  • akaicodes
    akaicodes reblogged this · 1 year ago
  • mbvisualarts
    mbvisualarts reblogged this · 1 year ago
  • siomae
    siomae reblogged this · 1 year ago
  • siomae
    siomae liked this · 1 year ago
  • iflirius
    iflirius liked this · 1 year ago
  • nourhanlwt
    nourhanlwt liked this · 1 year ago
  • lecoconutfille
    lecoconutfille liked this · 1 year ago
  • trxnmagic
    trxnmagic liked this · 1 year ago
  • granticus
    granticus liked this · 1 year ago
  • twinklingstrawberries
    twinklingstrawberries liked this · 1 year ago
  • nyxsvoid
    nyxsvoid liked this · 1 year ago
  • no-semicolons
    no-semicolons liked this · 1 year ago
  • shadowyturtlenight
    shadowyturtlenight liked this · 1 year ago
  • pbandb
    pbandb reblogged this · 1 year ago
  • pbandb
    pbandb liked this · 1 year ago
  • crypticrisps
    crypticrisps liked this · 1 year ago
  • variablecemetery
    variablecemetery liked this · 1 year ago
  • dawncodes
    dawncodes reblogged this · 1 year ago
  • veyyonsilli
    veyyonsilli liked this · 1 year ago
  • xiabablog
    xiabablog reblogged this · 1 year ago
  • voidlesslove
    voidlesslove liked this · 1 year ago
  • charlignon
    charlignon reblogged this · 1 year ago
  • xero-fox
    xero-fox liked this · 1 year ago
  • thelmanotvelma
    thelmanotvelma liked this · 1 year ago
  • archivetidez
    archivetidez reblogged this · 1 year ago
  • hexiquin
    hexiquin liked this · 1 year ago
  • haqulua
    haqulua liked this · 1 year ago
  • protofreak
    protofreak liked this · 1 year ago
  • exvamps
    exvamps liked this · 1 year ago
  • charlignon
    charlignon liked this · 1 year ago

asi, she/her, living

44 posts

Explore Tumblr Blog
Search Through Tumblr Tags