2013-12-08 7 views
5

Używam funkcji powiadamiania zestawu SDK firefox do tworzenia rozszerzeń firefox. Problem polega na tym, że po wyświetleniu powiadomienia znika zbyt szybko, czy istnieje sposób na modyfikację limitu czasu powiadomienia? jest to kod używam:Modyfikowanie limitu czasu powiadomień w rozszerzeniu firefoxa

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

         } 
      }); 

Odpowiedz

1

Nie można kontrolować animacji. @canuckistani ma połową prawą stronę: zarówno SDK notifications, jak i powiadomienia HTML5 używają tej samej usługi podstawowej, nsIAlertsService. Ta usługa nie pozwala kontrolować czasu trwania.

Pulpit Firefox nie korzysta z usług na poziomie systemu, z wyjątkiem implementacji Metro (jeszcze oficjalnie wydana i nie obsługuje w żaden sposób dodatków IIRC). Zamiast tego używają implementacji alertów XUL, która jest tylko some XUL with some Javascript and some additional CSS. I some code to open the window.

W zależności od niektórych wartości preferowanych zostanie użyty zaprogramowany limit czasu 4000ms przez setTimeout lub animacja CSS 4s.

Chociaż nie jest to wygodne, w szczególności nie w dodatku SDK, w którym nie masz pakietu chrome do otwierania własnych okien XUL, możesz skopiować/wkleić implementować własny widelec okna XUL z kontrolkami dla czas trwania, lub nawet przesłonię domyślną Firefoksa. Nie mogę teraz przypomnieć sobie nazwy, ale wiem, że istnieje lub był co najmniej jeden dodatek robiący dokładnie to, nadpisując wbudowaną implementację i pozwalając użytkownikowi wybrać niestandardowy limit czasu, między innymi.

0

Wysoki poziom SDK API nie ma sposobu, aby kontrolować, jak szybko powiadomienia odejść:

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

Ta implementacja Firefox 22+ opiera w interfejsie API powiadomień HTML5, a także w przeglądarkach Firefox i Safari implementacje wydają się trudniej zamknąć czas, który upłynął przed zamknięciem powiadomienia:

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