2009-05-22 69 views
7

我剛剛開始玩Mozilla Jetpack,我很喜歡它。我寫的,點擊後,彈出一個通知狀態欄顯示圖標的一些代碼:顯示多行通知

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

因爲文字是很長的在這個例子中,通知如下:

Jetpack Notification http://img33.imageshack.us/img33/7113/jetpack.png

我想將通知的文本分成四行,當它們顯示時,通知框越來越窄。我如何去做這件事?

編輯1(感謝Rudd Zwolinski):

我試過了,但是這並不能幫助:

var myBody = line1 + '\n' + line2 + '\n' + line3 + '\n' + line4; 

編輯2(感謝Ólafur Waage):

這確實沒有幫助:

var myBody = line1 + '<br />' + line2 + '<br />' + line3 + '<br />' + line4; 

編輯3(感謝Matt):

即使這沒有幫助:

var myBody = line1 + "\n" + line2 + "\n" + line3 + "\n" + line4; 
+0

如果將其添加到行中,「\ n」是否可以工作? – scunliffe 2009-05-22 15:41:40

+0

@scunliffe,不,添加'\ n'沒有幫助。 – eleven81 2009-05-22 15:45:28

+0

他說「\ n」,而不是'\ n'。有一個微妙的區別。 – Matt 2009-05-22 16:34:49

回答

8

不幸的是,創建的警報不允許在Windows中爲新的Toast彈出窗口添加新行。按照Jetpack的API:

最終,這個對象將是 最終都是,都容易溝通 與您的用戶。通知欄, 透明消息,咆哮聲,門把手 消息,等等都將通過 通過這裏。 現在,它只有 簡單的通知。

the source code所示,jetpack.notifications.show方法使得給Mozilla nsIAlertsService,其不允許多行的Windows吐司彈出窗口的呼叫。

好處是,API表示您將來對警報有更多的控制,但對於預發佈版本,您必須將通知文本降到最低。

1

我不能對此進行測試,因爲我從jetpack.notifications.show Mac並得到咆哮的通知,和低吼限制的寬度,但嘗試改變myBody這樣:

var myBody = line1 + '\n' + line2 + '\n' + line3 + '\n' + line4; 

換行符確實顯示了我,所以這英里ght是你在找什麼。

編輯:這不適用於Windows toast通知,因此它不回答問題。但是,它將在Mac OS X的Growl通知中顯示換行符,因此我將此答案留下。

0

IIRC正確,jetpack使用JavaScript和HTML,因此只需在行之間添加<br />即可。