Alerts and Notifications

Basic modal alert





The following code presents a non-modal pop-up, which automatically disappears after an appropriate delay. It uses nsIAlertsService. This works on Windows, Linux and (if Growl is installed) Mac OS X:

function popup(title, text) {
  try {
              .showAlertNotification(null, title, text, false, '', null);
  } catch(e) {
    // prevents runtime error on platforms that don't implement nsIAlertsService

If you need to display a comparable alert on a platform that doesn't support nsIAlertsService, you can do this:

function popup(title, msg) {
  var image = null;
  var win = Components.classes[';1']
                      .openWindow(null, 'chrome://global/content/alerts/alert.xul',
                                  '_blank', 'chrome,titlebar=no,popup=yes', null);
  win.arguments = [image, title, msg, false, ''];

Using notification box

Another way of non-modal notification and further interaction with users is using of XUL elements notificationbox and notification (implicitly). However it is possible to use only buttons and a label there.


var message = 'Another pop-up blocked';
var box = gBrowser.getNotificationBox();
var notification = box.getNotificationWithValue('popup-blocked');
if (notification) {
    notification.label = message;
else {
    var buttons = [{
        label: 'Button',
        accessKey: 'B',
        popup: 'blockedPopupOptions',
        callback: null

    let priority = box.PRIORITY_WARNING_MEDIUM;
    box.appendNotification(message, 'popup-blocked',
                            priority, buttons);

Document Tags and Contributors

 Contributors to this page: kmaglione, mehmetaergun, wbamberg, Sheppy, madarche, Brettz9, zencd
 Last updated by: kmaglione,