Exibindo notificações de várias linhas
-
23-08-2019 - |
Pergunta
Eu só comecei a brincar com Mozilla Jetpack , e eu adoro isso até agora. Eu escrevi um pouco de código que exibe um ícone na barra de estado que, quando clicado, abre uma notificação:
var myTitle = 'Hello World!';
var line1 = 'I am the very model of a modern Major-General,';
var line2 = 'I\'ve information vegetable, animal, and mineral,';
var line3 = 'I know the kings of England, and I quote the fights historical,';
var line4 = 'From Marathon to Waterloo, in order categorical.';
var myBody = line1 + ' ' + line2 + ' ' + line3 + ' ' + line4;
var myIcon = 'http://www.stackoverflow.com/favicon.ico';
jetpack.statusBar.append({
html: '<img src="' + myIcon + '">',
width: 16,
onReady: function(doc) {
$(doc).find("img").click(function() {
jetpack.notifications.show({title: myTitle, body: myBody, icon: myIcon});
});
}
});
Como o texto é muito longo, neste exemplo, os olhares de notificação como esta:
Jetpack Notificação http://img33.imageshack.us/img33/7113/jetpack .png
Eu quero dividir o texto da notificação em quatro linhas diferentes quando eles são exibidos de modo caixa de notificação é mais alto e mais estreito. Como eu vou fazer isso?
Editar 1 (graças a Rudd Zwolinski ):
Eu tentei, mas isso não ajuda:
var myBody = line1 + '\n' + line2 + '\n' + line3 + '\n' + line4;
Editar 2 (graças a Ólafur Waage ):
Isto não quer ajudar:
var myBody = line1 + '<br />' + line2 + '<br />' + line3 + '<br />' + line4;
Editar 3 (graças a Matt ):
Mesmo isso não ajuda:
var myBody = line1 + "\n" + line2 + "\n" + line3 + "\n" + line4;
Solução
Infelizmente, o alerta criado não permite novas linhas para o pop-up brinde no Windows. De acordo com a API Jetpack:
Por fim, este objeto será o fim de tudo ser-tudo de uma comunicação fácil com seus usuários. barras de notificação, mensagens transparentes, grunhidos, maçaneta mensagens, e assim por diante tudo vai por aqui. Por enquanto, ele só tem notificações simples.
Como mostrado na o código-fonte , o método jetpack.notifications.show
faz uma chamada para o Mozilla nsIAlertsService
, que não permite várias linhas para Windows brinde popups.
A vantagem é que a API indica que você terá muito mais controle sobre alertas no futuro, mas para a versão de pré-lançamento que você terá que manter seu texto de notificação para baixo a um mínimo.
Outras dicas
Eu não posso testar isso porque eu estou em um mac e recebendo notificações Growl de jetpack.notifications.show
, e Growl restringe a largura, mas tente mudar myBody
a esta:
var myBody = line1 + '\n' + line2 + '\n' + line3 + '\n' + line4;
As quebras de linha não aparecer para mim, então isso pode ser o que você está procurando.
Editar : Isto não funciona para Windows brinde notificações, para que ele não responder à pergunta. No entanto, ele vai mostrar novas linhas em notificações Growl para o Mac OS X , por isso estou deixando esta resposta up.
IIRC corretamente, jetpack usa JavaScript e HTML, por isso tente adicionar <br />
entre as linhas.