2013-11-18 4 views
2

Я имею дело с уведомлениями на рабочем столе по HTML5. Моя проблема в Firefox (на Chrome в порядке), там я не могу бросить более одного уведомления.HTML5 Уведомления на рабочем столе

//Requestion permissions blablabla 
if (permission === "granted") { 
    var notification = new Notification(id, opt, null); 
    var notification2 = new Notification(id, opt, null); 
    var notification3 = new Notification(id, opt, null); 
} 

Это не работает в Firefox, если я комментирую последние, работает. Кто-нибудь знает, могу ли я это сделать

+0

Я просто проверял, и я уверен, что и далее только позволяет показывать по одному – megawac

+0

На Chrome работает хорошо. В firefox я могу отображать одно и то же несколько раз (нажав кнопку). Спасибо за попытку, дайте мне знать, если узнаете ответ – davidpaquipalla

+0

Почему бы не использовать случайные теги? Установите тег на '" "+ Math.random()', и вы можете показывать несколько уведомлений. –

ответ

7

Многие аспекты отображения уведомлений относятся к браузерам, но в частности в этом случае вам нужно показать более одного уведомления, в то же время вы можете установить другой атрибут «тег» для каждое сообщение (http://www.w3.org/TR/notifications/#tags-example). Если вы не указали тег, используется значение по умолчанию, и последнее уведомление «выигрывает» над предыдущими.

Проверить этот пример:

<button id="authorize">Authorize notification</button> 
<button id="show">Show notification</button> 
<button id="show_another">Show another notification</button> 

<script> 
function authorizeNotification() { 
    Notification.requestPermission(function(perm) { 
     alert(perm); 
    }); 
} 
function showNotification(myTag) { 
    var notification = new Notification("This is a title with tag " + myTag, { 
     dir: "auto", 
     lang: "", 
     body: "This is a notification body with tag " + myTag, 
     tag: myTag, 
    }); 
} 
document.querySelector("#authorize").onclick = authorizeNotification; 
document.querySelector("#show").onclick = function(){ showNotification("firstTag"); }; 
document.querySelector("#show_another").onclick = function(){ showNotification("secondTag"); }; 
</script> 

Если нажать «показать уведомление» много раз, уведомление закрывается и новый один открыт. При использовании второй кнопки отображается новое уведомление без закрытия старого.

Вы можете найти рабочий образец на JSFiddle (http://jsfiddle.net/TuJHx/350/)

+0

Проблема бросает в то же время, потому что если я изменю идентификаторы, все еще проблема – davidpaquipalla

+0

Можете ли вы опубликовать рабочий образец JSFiddle, чтобы мы могли протестировать его с помощью реального кода? –

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