5
votes

I have written a Firefox extension and am currently in the process of updating it for Firefox 4 and adding some new features.

Firefox 4 has a great new notification display that I'd quite like to use and have found plenty of documentation on how to use it. However, for anything less than 4 I have created my own notification window with specific styles.

My question is: how can I detect whether I'm using Firefox 4 or not in the javascript for my extension. Or, is there a better way of doing this?

2
If you're referring to PopupNotifications.jsm then you can just look for the window.PopupNotifications variable and if it exists then you can use it otherwise you can use your own notification window.Neil

2 Answers

10
votes

You can use nsIXULAppInfo:

var appInfo = Components.classes["@mozilla.org/xre/app-info;1"]
                    .getService(Components.interfaces.nsIXULAppInfo);
// appInfo.version contains the version

You can compare versions with nsIVersionComparator.

Maybe there is a better way, but this definitely works for me.