--- 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")}}