2013-05-27 18 views
7

Chromeの拡張機能では、WebkitNotificationsを大量に使用しています。 new rich notifications (chrome.notifications)に切り替える必要がありますが、それらはまだすべてのプラットフォームで利用可能ではなく、ベータ版とそれ以降のバージョンでのみ作成されています。豊富な通知が利用できない場合は、fallbackとしてwebkitNotificationsを使用する必要があります。したがって、私はこれを実装するための最良の解決策を探しています:Chromeの豊富な通知があるかどうかを検出します。

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

私は未定義のためchrome.notifications.createをチェックしようとしたが、それさえchrome://flagsで無効に豊富な通知にクローム27のために定義されています。あなたはrich notificationsを持っているかどうかを検出するために

答えて

5

、最も信頼性の高い方法はwebkitNotifications.createHTMLNotificationの存在をテストするために、現在ある - その関数が定義されていない場合は、rich notificationsswitched onされています。

+1

が、それはこれの逆を確認するために多くの意味を成しませんか?それらがオンになっていることを確認するには、別の機能が利用できないのではないですか? –

+0

「undefined」の 'webkitNotifications.createHTMLNotification'をチェックしていただきありがとうございます! Linux上でChromium 29(dev)を使って確認しましたが、Rich Notificationsはまだ利用できません: 'createHTMLNotification'はまだ定義されています。 Windowsでは、Chrome 28(ベータ版)からは未定義です。 – user2425107

0

ただ、このコードを使用します。

if (webkitNotifications && webkitNotifications.createHTMLNotification) { 
    //HTML notifications 
} else if (chrome.notifications && chrome.notifications.create) { 
    //Rich notifications 
} 
+0

これはもう本当に必要なのか疑問です。豊富な通知は、かなりの期間、すべてのプラットフォームで有効になっています。 – Xan

関連する問題