mozilla
Your Search Results

    Alerts and Notifications

    Basic modal alert

    alert.png

    alert('hello');
    

    Pop-ups

    notify.png

    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 {
        Components.classes['@mozilla.org/alerts-service;1']
                  .getService(Components.interfaces.nsIAlertsService)
                  .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['@mozilla.org/embedcomp/window-watcher;1']
                          .getService(Components.interfaces.nsIWindowWatcher)
                          .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.

    notificationbox2.png

    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',
                               'chrome://browser/skin/Info.png',
                                priority, buttons);
    }
    

    Document Tags and Contributors

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