Notificaciones con chrome desktop en HTML5

El día que escribo este post, parece que va a ser el estandar, y espero no lo cambien (como ya me paso alguna vez, y que por esa razon este objeto: window.webkitNotifications  ya no funcionaba.... pero con este nuevo código ya funciona otra vez...je je )



Es un "objeto" que defino en javascript y solo hay que instanciarlo y utilizarlo:

Aquí la "clase o objeto":

/*INICIO NOTIFICATIONS DESKTOP*/     
function Notifier() {}

    // Returns "true" if this browser supports notifications.
    Notifier.prototype.HasSupport = function() {
    if (Notification) {
        return true;
      } else {
        return false;
      }
    }
    // Returns "true" if this browser supports notifications.
    Notifier.prototype.HasPermission = function () {
        if (Notification.permission === "granted") {
            return true;
        } else {
            return false;
        }
    }

    // Request permission for this page to send notifications. If allowed,
    // calls function "cb" with true.
    Notifier.prototype.RequestPermission = function (cb) {
        Notification.requestPermission(function (status) {
            if (status === 'granted') {
                return true;
            }
            else {
                return false;
            }
            
        });
    }

    // Popup a notification with icon, title, and body. Returns false if
    // permission was not granted.
    Notifier.prototype.Notify = function(icon, title, body) {
        if (Notification.permission === "granted") {
            var optionsNotification = {
                body: body,
                icon: icon
            }
            //Notification.create('1', optionsNotification);
            var n = new Notification(title, optionsNotification);

        return true;
      }

      return false;
    }

La instanciación:

var notifier = new Notifier();

El uso:

notifier.RequestPermission();

ó

notifier.HasSupport()

etc.

Para más información aquí.

Espero les sirva.

Sean felices! :) Y siéntanse libres de opinar ;)

No hay comentarios:

Publicar un comentario