我刚刚开始玩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 :(得分:8)
不幸的是,创建的警报不允许在Windows中使用toast popup的新行。根据Jetpack API:
最终,这个对象将成为 最终 - 所有这些都是轻松沟通的结果 与您的用户。通知栏, 透明的消息,Growls,门把手 消息等等都会消失 通过这里。 目前,它只是 简单的通知。
如the source code所示,jetpack.notifications.show
方法调用了Mozilla nsIAlertsService
,它不允许多行用于Windows Toast弹出窗口。
优点是API表明您将来可以更好地控制警报,但对于预发布版本,您必须将通知文本保持在最低限度。
答案 1 :(得分:1)
我无法对此进行测试,因为我在Mac上并从jetpack.notifications.show
收到Growl通知,而Growl会限制宽度,但请尝试将myBody
更改为:
var myBody = line1 + '\n' + line2 + '\n' + line3 + '\n' + line4;
换行确实出现在我面前,所以这可能就是你要找的东西。
编辑:这不适用于Windows Toast通知,因此它不回答问题。但是,它会在Mac OS X的Growl通知中显示换行符,所以我将离开此答案。
答案 2 :(得分:0)
IIRC正确,jetpack使用JavaScript和HTML,所以只需尝试在行之间添加<br />
。