We're calling on all EU-based Mozillians with iOS or iPadOS devices to help us monitor Apple’s new browser choice screens. Join the effort to hold Big Tech to account!

Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Mulongo oyo etiyamaki na archive. Tuna motuna mosusu soki osengeli na lisalisi

How and with what can I write addons for Firefox?

more options

I have identified some needs for addons for both Firefox and Thunderbird. As an experienced programmer in several languages (including, most recently, Microsoft Office VBA), I am convinced I could write these myself. Where can I get information on the language to be used and the hooks into FF and TB?

I have identified some needs for addons for both Firefox and Thunderbird. As an experienced programmer in several languages (including, most recently, Microsoft Office VBA), I am convinced I could write these myself. Where can I get information on the language to be used and the hooks into FF and TB?

All Replies (2)

more options
more options

I learned about programming in WordBasic and VBA myself. To target web pages in browsers, you'll want to code in JavaScript and become fluent in the DOM (https://developer.mozilla.org/docs/We.../Document_Object_Model).

Depending on the scope of your needs, a user script might be a quicker way to attack most problems than an extension. Like an Office macro, a userscript runs in a host programming environment (in this case, the Greasemonkey extension) and allows you to experiment freely without a full build cycle (just save script, reload page). There are different APIs you need to learn to convert user scripts to extensions, but depending on your project, that might be overkill.

As an example, here's a page about a script I maintain (the code's very improvised, as you might expect when a lawyer writes JavaScript): https://www.jeffersonscher.com/gm/google-hit-hider/

More information: