2015-12-15 4 views
1

У меня есть приложение для обмена мгновенными сообщениями в реальном времени, и я хотел использовать уведомления HTML5. Я попытался следующие внутри моего контроллера:HTML5 Уведомления

$rootScope.$on("message_recieved", function(event, data) { 
    new Notification(data.sender_name, { 
    body: data.body, icon: data.avatar, dir:'auto' 
    }); 
} 

и

$rootScope.$on("server_offline", function(event, data) { 
    new Notification("Offline", { 
    body: "You are offline. Refresh your page now.", dir:'auto' 
    }); 
} 

Уведомления не отображаются. Я делаю что-то неправильно здесь?

+0

ли вы [предоставить разрешение] (https://developer.mozilla.org/en-US/docs/Web/API/notification)? –

ответ

1

Скорее всего, вам не разрешено отображать уведомления. Вы можете запросить разрешение:

$rootScope.$on('message_received', function(event, data){ 
    Notification.requestPermission(function (permission){ 
      if (permission === "granted"){ 
       new Notification(data.sender_name, { 
        body: data.body, icon: data.avatar, dir:'auto' 
       }) 
      } 
     }) 
}) 

ЦСИ - https://developer.mozilla.org/en-US/docs/Web/API/notification

+0

Я знал о разрешении, но они не были «предоставлены», потому что я разрабатываю два приложения, работающие на 'localhost: 9000', и я отрицал одно из них, которое пренебрегало другим. Также вам не нужно проверять, разрешено ли разрешение или нет, вы можете инициализировать уведомление, и оно не будет отображаться, если не предоставлено. Спасибо хоть. –