Определить, доступны ли в Chrome расширенные уведомления

Расширение My Chrome активно использует уведомления о webkit. Я хочу переключиться на новые расширенные уведомления (chrome.notifications), но они пока не доступны на всех платформах и на момент написания только в бета-канале и выше. Если расширенные уведомления недоступны, webkitNotifications следует использовать как запасной вариант. Таким образом, я ищу лучшее решение для реализации этого:

if(richNotificationsAvailable())
   chrome.notifications.create(...);
else
   webkitNotifications.createNotification(...).show();

Я попробовал проверить chrome.notifications.create для неопределенного, но это даже определено для Chrome 27 с расширенными уведомлениями, отключенными в chrome://flags,

2 ответа

Решение

Чтобы определить, есть ли у вас rich notifications, самый надежный способ в настоящее время проверить наличие webkitNotifications.createHTMLNotification - если эта функция не определена, то rich notifications Был switched on,

Просто используйте этот код:

if (webkitNotifications && webkitNotifications.createHTMLNotification) {
    //HTML notifications
} else if (chrome.notifications && chrome.notifications.create) {
    //Rich notifications
}
Другие вопросы по тегам