438 votes

Chrome de notification du bureau, par exemple?

Est-il hébergé exemple de code (Javascript) qui démontre que le Chrome des notifications sur le bureau? J'aimerais que l'utiliser dans mon propre code.

Mise à jour: Voici un billet de blog expliquant webkit notifications avec un exemple.

758voto

Dan Dascalescu Points 8165

Voici un exemple de travail pour l'affichage des notifications sur le bureau de Chrome et d'accrochage dans l'événement onclick. Ce dernier peut être utile, car depuis septembre 2012, HTML notifications ont été dépréciés, et même style de base comme l'insertion d'hyperliens menant à une action de lien, n'est plus disponible.

<script>
function notify() {
  if (!window.webkitNotifications) return;  // no notifications support
  var havePermission = window.webkitNotifications.checkPermission();
  if (havePermission == 0) {
    // 0 is PERMISSION_ALLOWED
    var notification = window.webkitNotifications.createNotification(
      'http://i.stack.imgur.com/dmHl0.png',
      'Chrome notification!',
    'Here is the notification text'
    );

    notification.onclick = function () {
      window.open("http://stackoverflow.com/a/13328397/1269037");
      // the notification will close itself after being clicked
    }
    notification.show();
  } else {
      window.webkitNotifications.requestPermission();
  }
}  
</script>

<div style="width: 300px; height: 300px; background: yellow" onclick="notify()">
Cick here to notify
</div>

Mise à jour: en Mai 2013, google Chrome libéré de soutien pour les riches notifications, qui, si elle n'est pas active par défaut, vous pouvez l'activer via chrome://flags/.

rich notifications in Chrome

93voto

GmonC Points 8978

De vérifier la conception et la spécification de l'API (c'est toujours un projet) ou de vérifier la source de cette page pour un exemple simple: C'est surtout un appel à l' window.webkitNotifications.createNotification.

Si vous voulez un plus robuste exemple (que vous essayez de créer votre propre Google Chrome est une extension, et voudrais savoir comment traiter avec les autorisations, les locaux de stockage et par exemple), découvrez Gmail Notifier Extension: télécharger le fichier crx au lieu de l'installer, décompressez-le et lire son code source.

35voto

Mark Points 49079

Il semble que l' window.webkitNotifications a déjà été désapprouvée et enlevé. Cependant, il y a une nouvelle API, et il semble fonctionner dans la dernière version de Firefox.

function notifyMe() {
  // Let's check if the browser supports notifications
  if (!("Notification" in window)) {
    alert("This browser does not support desktop notification");
  }

  // Let's check if the user is okay to get some notification
  else if (Notification.permission === "granted") {
    // If it's okay let's create a notification
    var notification = new Notification("Hi there!");
  }

  // Otherwise, we need to ask the user for permission
  // Note, Chrome does not implement the permission static property
  // So we have to check for NOT 'denied' instead of 'default'
  else if (Notification.permission !== 'denied') {
    Notification.requestPermission(function (permission) {

      // Whatever the user answers, we make sure we store the information
      if(!('permission' in Notification)) {
        Notification.permission = permission;
      }

      // If the user is okay, let's create a notification
      if (permission === "granted") {
        var notification = new Notification("Hi there!");
      }
    });
  }

  // At last, if the user already denied any notification, and you 
  // want to be respectful there is no need to bother him any more.
}

codepen

14voto

Rudie Points 8975

3voto

Ashley Davis Points 3016

Notify.js est un wrapper autour de la nouvelle webkit notifications. Il fonctionne assez bien.

http://alxgbsn.co.uk/2013/02/20/notify-js-a-handy-wrapper-for-the-web-notifications-api/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X