2013-12-08 3 views
5

Я использую функцию уведомления SDK firefox для создания расширений firefox. проблема в том, что после показа уведомления оно слишком быстро исчезает, есть ли способ изменить таймаут уведомления? это код, я использую:Изменение таймаута уведомлений в расширении firefox

notifications.notify({ 
         title: "notification title", 
         text: " notification text ", 
         data: List[i] , 
         onClick: function (data) { 
         tabs.open(data); 

         } 
      }); 

ответ

1

Невозможно управлять анимацией. @canuckistani имеет половину права: оба SDK notifications и уведомления HTML5 используют одну и ту же базовую услугу, nsIAlertsService. Эта служба не позволяет вам контролировать продолжительность.

Рабочий стол Firefox не использует сервисы на системном уровне, за исключением реализации Metro (пока официально не выпущен и не поддерживает надстройки в любом случае IIRC). Вместо этого они используют реализацию службы поддержки XUL, которая равна some XUL with some Javascript and some additional CSS. И some code to open the window.

В зависимости от некоторого префикса будет использоваться либо жестко запрограммированный тайм-аут 4000 мс через setTimeout, либо 4-х мерная анимация CSS.

В то время как это не удобно, в частности, не в надстройке SDK, где вы не получаете хром-пакет, чтобы открыть свои собственные окна XUL, вы можете скопировать/вставить реализовать свою собственную вилку окна XUL с элементами управления для длительность или даже переопределить Firefox по умолчанию. Я не могу вспомнить это имя прямо сейчас, но я знаю, что есть или было хотя бы одно дополнение, выполняющее именно это, переопределяя встроенную реализацию и позволяя пользователю выбирать индивидуальный тайм-аут, среди прочего.

0

Высокоуровневого SDK API не имеет способа контролировать, как быстро уведомления уходят:

https://addons.mozilla.org/en-US/developers/docs/sdk/latest/modules/sdk/notifications.html

Эта реализация в Firefox 22+ полагается на базовых уведомлениях HTML5 api, а в Firefox и Safari, в частности, реализациям трудно закрыть время, которое проходит до закрытия уведомления:

https://developer.mozilla.org/en-US/docs/WebAPI/Using_Web_Notifications#Creating_a_notification

Смежные вопросы