node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »


UrlbarButton for Mozilla Add-on SDK (jpm version)


The UrlbarButton module allows for easy adding of buttons to the urlbar in Firefox.

How to use

npm install --save moz-urlbarbutton
var {data} = require('sdk/self');
var UrlbarButton = require('urlbarbutton');
exports.main = function() {
  button = new UrlbarButton({
    id: 'foobar-button',
    image: data.url('foobar-button.png'),
    onClick: function(tabId, event) {
exports.onUnload = function (reason) {
  if (reason !== 'shutdown') {


option description
id a string identifier that identifies the specific button.
image optional path to an image for the button.
tooltip optional tooltip text for the button.
onClick optional callback to fire on a click on the button.


In action in

  • Flattr Firefox Add-on: Source
  • hugit Firefox Add-on: AMO



  • first version published to npm


  • complete code rewrite with respect to modern Firefox SDK
  • deprecated methods: setOptions(), setVisibility(), getVisibility(), getButtons()



  • New method, setOptions(), that enables changing tooltip and click action
  • New click handler option, options.gotoUrl, that will open the specified URL on click


  • Released, but withdrawn and reverted. Focused on updating the package to better support new SDK versions, but became broken and thus all changes was reverted.


  • Support for Mozilla's Add-on SDK version 1.13b1


  • No longer handling the decision of whether a button should be shown or not. Moved the onLocationChange and onPageShow listeners, that were called when a new page was loaded, into a new module, ShowForPage, and removed support for those listeners along with removing the callbacks that were used in them.
  • Changed setImage and setVisibility to have the href-parameter as the last parameter instead of the first as that makes more sense for an optional parameter.
  • Changed setVisibility to have its href parameter be optional for real
  • Added new getVisibility method
  • Button can now have a tooltip


  • No changelog being tracked for this and prior version, but main changes were related to extended ways for a button to be hidden and shown.