Вопрос

Я только начал играть с Реактивный ранец Mozilla, и мне это нравится до сих пор.Я написал небольшой код, который отображает значок в строке состояния, при нажатии на который появляется уведомление:

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

Поскольку текст в этом примере очень длинный, уведомление выглядит следующим образом:

Уведомление о реактивном ранце http://img33.imageshack.us/img33/7113/jetpack.png

Я хочу разделить текст уведомления на четыре разные строки, когда они отображаются, чтобы окно уведомления было выше и уже.Как мне это сделать?

Правка 1 (благодаря Радд Зволински):

Я пробовал, но это не помогает:

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

Редактирование 2 (благодаря Олафур Вааге):

Это тоже не помогает:

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

Редактирование 3 (благодаря Мэтт):

Даже это не помогает:

var myBody = line1 + "\n" + line2 + "\n" + line3 + "\n" + line4;
Это было полезно?

Решение

К сожалению, созданное предупреждение не допускает появления новых строк для всплывающего окна toast в Windows.В соответствии с API Jetpack:

В конечном счете, этот объект станет конечной целью простого общения с вашими пользователями.Панели уведомлений, прозрачные сообщения, рычание, нажатие на дверную ручку сообщения и так далее будут проходить здесь. На данный момент в нем есть только простые уведомления.

Как показано на исходный код, тот jetpack.notifications.show метод выполняет вызов Mozilla nsIAlertsService, который не допускает нескольких строк для всплывающих окон Windows toast.

Положительным моментом является то, что API указывает на то, что в будущем у вас будет гораздо больше контроля над оповещениями, но в предварительной версии вам придется свести текст уведомлений к минимуму.

Другие советы

Я не могу протестировать это, потому что я нахожусь на Mac и получаю уведомления Growl от jetpack.notifications.show, и Growl ограничивает ширину, но попробуйте изменить myBody к этому:

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

Разрывы строк действительно отображаются для меня, так что, возможно, это то, что вы ищете.

Редактировать:Это не работает для всплывающих уведомлений Windows, поэтому не отвечает на вопрос.Однако, он будет показывать новые строки в уведомлениях Growl для Mac OS X, поэтому я оставляю этот ответ открытым.

IIRC правильно, jetpack использует JavaScript и HTML, поэтому просто попробуйте добавить <br /> между строк.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top