--- title: Notificações slug: Web/API/Notification tags: - API - Interface - Notificações translation_of: Web/API/Notification original_slug: Web/API/notificacoes ---
{{APIRef("Web Notifications")}}{{AvailableInWorkers}}{{securecontext_header}}
A interface da API de Notificações é usada para configurar e exibir notificações na área de trabalho do usuário. A aparência e algumas funcionalidades específicas das notificações variam entre as plataformas mas geralmente eles fornecem uma forma assíncrona de prover informações para o usuário.
Estas propriedades estão disponíveis apenas no próprio objeto Notification
.
Estas propriedades estão disponíveis apenas em instâncias do objeto Notification
.
As propriedades a seguir estão listados na especificação mais up-to-date, mas não são suportadas em quaisquer navegadores ainda. É aconselhável manter a verificação de volta regularmente para ver se o status destes actualiza, e deixe-nos saber se você encontrar qualquer informações desatualizadas.
Os seguintes manipuladores de eventos ainda são suportados, conforme listado na seção {{anch("browser compatibility")}}. Estes serão listados abaixo, mas não são listados na especificação atual. Saiba que eles são obsoletos, e pode parar de funcionar em versões futuras do navegador.
Estes métodos estão disponíveis apenas no próprio objeto Notification
.
Estas propriedades estão disponíveis apenas no objeto Notification ou através do seu prototype
. O objeto de notificação também herda a interface {{domxref("EventTarget")}}.
Leve em conta este HTML básico:
<button onclick="notifyMe()">Notifique me!</button>
É possível enviar uma notificação da seguinte forma - aqui nós apresentamos um conjunto bastante detalhado e completo de código que você pode usar se você quiser verificar primeiro se as notificações são suportados, em seguida, verifique se a permissão foi concedida para a origem atual para enviar notificações, em seguida, solicitar permissão, se necessário, antes, em seguida, enviar uma notificação.
function notifyMe() { // Verifica se o browser suporta notificações if (!("Notification" in window)) { alert("Este browser não suporta notificações de Desktop"); } // Let's check whether notification permissions have already been granted 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 else if (Notification.permission !== 'denied') { Notification.requestPermission(function (permission) { // If the user accepts, let's create a notification if (permission === "granted") { var notification = new Notification("Hi there!"); } }); } // At last, if the user has denied notifications, and you // want to be respectful there is no need to bother them any more. }
{{EmbedLiveSample('Exemplo', '100%', 30)}}
Em muitos casos, você não precisa estar presente detalhado. Por exemplo, na nosso Emogotchi demo (veja o código fonte), basta simlesmente executar {{domxref("Notification.requestPermission")}} independentemente de se certificar de que pode obter permissão para enviar notificações:
Notification.requestPermission();
Em seguida executar um simples spawnNotification()
quando queremos disparar uma notificação — este é passado argumentos para especificar o, ícone corpo e título que queremos, então ele cria as opções necessárias objeto e dispara a notificação usando o construtor {{domxref("Notification.Notification","Notification()")}}.
function spawnNotification(corpo,icone,titulo) { var opcoes = { body: corpo, icon: icone } var n = new Notification(titulo,opcoes); }
Especificação | Estado | Comentário |
---|---|---|
{{SpecName('Web Notifications')}} | {{Spec2('Web Notifications')}} | Living standard |
{{Compat("api.Notification")}}