سؤال

لقد بدأت للتو اللعب مع mozilla jetpack., وأنا أحب ذلك حتى الآن. كتبت رمز صغير يعرض أيقونة في StatusBar أنه عند النقر فوقه، يطرح إشعارا:

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 http://img33.imageshack.us/img33/7113/jetpack.png.

أريد تقسيم نص الإخطار على أربعة خطوط مختلفة عند عرضها لذلك مربع الإعلام أطول وأضيق. كيف أذهب عن القيام بذلك؟

تحرير 1 (بفضل رود zwolinski.):

حاولت، ولكن هذا لا يساعد:

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;
هل كانت مفيدة؟

المحلول

لسوء الحظ، لا يسمح التنبيه الذي تم إنشاؤه بخطوط جديدة لنظامي الخبز المنبثقة في Windows. وفقا ل Jetpack API:

في نهاية المطاف، سيكون هذا الكائن هو نهاية جميع التواصل بسهولة مع المستخدمين الخاص بك. أشرطة الإخطار والرسائل الشفافة والهيدرلز ورسائل مقبض الباب، وهكذا دوالين ستجر الجميع هنا. في الوقت الحالي، لديها فقط إشعارات بسيطة.

كما هو مبين في شفرة المصدر, ، ال jetpack.notifications.show الطريقة تجعل مكالمة إلى موزيلا nsIAlertsService, ، والتي لا تسمح بخطوط متعددة ل Windows Toast Popups.

الاتجاه الصعودي هو أن API يشير إلى أنه سيكون لديك المزيد من التحكم في التنبيهات في المستقبل، ولكن بالنسبة للإصدار المسبق، سيتعين عليك الاحتفاظ بنص إعلامك وصولا إلى الحد الأدنى.

نصائح أخرى

لا أستطيع اختبار ذلك لأنني على جهاز Mac والحصول على إخطارات الهدير من jetpack.notifications.show, ، ويؤدي هدير إلى العرض، ولكن حاول التغيير myBody الى هذا:

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

فواصل الأسطر تظهر لي، لذلك قد يكون هذا ما تبحث عنه.

تعديل: هذا لا يعمل بإشعارات Windows Toast، لذلك لا يجيب على السؤال. ومع ذلك، سوف تظهر خطوط نيو في إشعارات الهدير لنظام التشغيل Mac OS X, ، لذلك سأترك هذه الإجابة.

IIRC بشكل صحيح، يستخدم Jetpack JavaScript و HTML، لذلك حاول فقط إضافة <br /> ما بين السطور.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top