Como alguém usa as notificações da área de trabalho do Chrome ? Eu gostaria que usasse isso no meu próprio código.
Atualização : veja uma postagem no blog explicando as notificações do kit da web com um exemplo.
javascript
desktop
google-chrome
notifications
Sridhar Ratnakumar
fonte
fonte
Respostas:
Nos navegadores modernos, existem dois tipos de notificações:
A chamada da API usa os mesmos parâmetros (exceto ações - não disponíveis nas notificações da área de trabalho), que estão bem documentados no MDN e para profissionais de serviço, no site de fundamentos da web do Google .
Abaixo está um exemplo prático de notificações da área de trabalho para Chrome, Firefox, Opera e Safari. Observe que, por razões de segurança, a partir do Chrome 62, a permissão para a API de notificação não pode mais ser solicitada a partir de um iframe de origem cruzada , portanto, não podemos demonstrar isso usando os snippets de código do StackOverflow. Você precisará salvar este exemplo em um arquivo HTML em seu site / aplicativo e certifique-se de usar
localhost://
ou HTTPS.Estamos usando a API de notificações do W3C . Não confunda isso com a API de notificações de extensões do Chrome , que é diferente. As notificações de extensão do Chrome obviamente funcionam apenas nas extensões do Chrome e não exigem nenhuma permissão especial do usuário.
As notificações do W3C funcionam em muitos navegadores (consulte o suporte no caniuse ) e exigem permissão do usuário. Como prática recomendada, não peça essa permissão imediatamente. Explique ao usuário primeiro por que ele deseja notificações e veja outros padrões de notificações por push .
Observe que o Chrome não respeita o ícone de notificação no Linux devido a esse bug .
Palavras finais
O suporte à notificação está em fluxo contínuo, com várias APIs sendo preteridas nos últimos anos. Se você estiver curioso, verifique as edições anteriores desta resposta para ver o que costumava funcionar no Chrome e para aprender a história de notificações HTML avançadas.
Agora, o padrão mais recente está em https://notifications.spec.whatwg.org/ .
Quanto ao motivo pelo qual existem duas chamadas diferentes para o mesmo efeito, dependendo se você trabalha ou não em um serviço - veja este ticket que arquivei enquanto trabalhava no Google .
Consulte também notify.js para uma biblioteca auxiliar.
fonte
Verifique o design e a especificação da API (ainda é um rascunho) ou verifique a fonte de (a página não está mais disponível) para um exemplo simples: é principalmente uma chamada para
window.webkitNotifications.createNotification
.Se você deseja um exemplo mais robusto (você está tentando criar sua própria extensão do Google Chrome e gostaria de saber como lidar com permissões, armazenamento local e outros), confira Extensão do Notificador do Gmail : baixe o arquivo crx em vez de instalar descompacte e leia o código fonte.
fonte
Parece que
window.webkitNotifications
já foi preterido e removido. No entanto, há uma nova API e parece funcionar também na versão mais recente do Firefox.codepen
fonte
else
no final para dizer qual é o problema. Você provavelmente desativou globalmente as notificações como eu: \Eu gosto de: http://www.html5rocks.com/en/tutorials/notifications/quick/#toc-examples, mas ele usa variáveis antigas, para que a demonstração não funcione mais.
webkitNotifications
é agoraNotification
.fonte
Eu criei esse wrapper de notificação simples. Funciona no Chrome, Safari e Firefox.
Provavelmente no Opera, IE e Edge também, mas ainda não o testei.
Basta obter o arquivo notify.js aqui https://github.com/gravmatt/js-notify e colocá-lo em sua página.
Obtê-lo no Bower
É assim que funciona:
Você precisa definir o título, mas o objeto json como o segundo argumento é opcional.
fonte
Aqui está uma boa documentação sobre APIs,
https://developer.chrome.com/apps/notifications
E, explicação em vídeo oficial do Google,
https://developers.google.com/live/shows/83992232-1001
fonte
O Notify.js é um invólucro das novas notificações do kit da web. Funciona muito bem.
http://alxgbsn.co.uk/2013/02/20/notify-js-a-handy-wrapper-for-the-web-notifications-api/
fonte
fonte
Notification.requestPermission();
,var notification = new Notification('hello', { body: "Hey there!", });
a notificação é exibida.