2009-05-22 64 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 />即可。