Visualizzazione delle notifiche multilinea
-
23-08-2019 - |
Domanda
Ho appena iniziato a giocare con Mozilla Jetpack , e mi piace così lontano. Ho scritto un po 'di codice che visualizza un'icona nella barra di stato che, se cliccato, porta in primo piano una notifica:
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});
});
}
});
Poiché il testo è molto lungo, in questo esempio, la notifica si presenta in questo modo:
Jetpack notifica http://img33.imageshack.us/img33/7113/jetpack .png
Voglio dividere il testo della notifica su quattro linee diverse quando vengono visualizzati in modo che la finestra di notifica è più alto e più stretto. Come posso fare per fare questo?
Modifica 1 (Grazie a Rudd Zwolinski ):
ho provato, ma questo non aiuta:
var myBody = line1 + '\n' + line2 + '\n' + line3 + '\n' + line4;
Modifica 2 (Grazie a Ólafur Waage ):
Questo non aiuta:
var myBody = line1 + '<br />' + line2 + '<br />' + line3 + '<br />' + line4;
Modifica 3 (Grazie a Matt ):
Anche questo non aiuta:
var myBody = line1 + "\n" + line2 + "\n" + line3 + "\n" + line4;
Soluzione
Purtroppo, l'avviso creato non consente nuove linee per il pop-up brindisi in Windows. Secondo l'API Jetpack:
Alla fine, questo oggetto sarà il fine essere tutti-tutti comunicazione facile con gli utenti. bar di notifica, messaggi trasparenti, ringhia, pomello messaggi e così via saranno tutti andare attraverso qui. Per il momento, si deve solo semplici notifiche.
Come mostrato nella il codice sorgente , il metodo jetpack.notifications.show
effettua una chiamata al Mozilla nsIAlertsService
, che non consente più linee per il popup brindisi di Windows.
Il vantaggio è che l'API indica che avrete molto più controllo sulla avvisi in futuro, ma per la versione pre-release si dovrà mantenere il testo della notifica al minimo.
Altri suggerimenti
Non riesco a provare questo perché sono su un Mac e ottenere Growl notifiche da jetpack.notifications.show
, e Growl vincola la larghezza, ma provare a cambiare myBody
a questo:
var myBody = line1 + '\n' + line2 + '\n' + line3 + '\n' + line4;
Le interruzioni di riga mostrano per me, quindi questo potrebbe essere quello che stai cercando.
Modifica : Questo non funziona per le notifiche brindisi di Windows, in modo da non rispondere alla domanda. Tuttavia, mostrerà a capo di notifiche Growl per Mac OS X , quindi sto lasciando questa risposta su.
IIRC correttamente, jetpack utilizza JavaScript e HTML, quindi basta provare ad aggiungere <br />
tra le righe.