HTML5桌面通知

时间:2013-11-18 13:20:02

标签: html5 notifications

我正在处理HTML5上的桌面通知。我的问题出在Firefox上(在Chrome上很好),在那里我不能发出超过1个通知。

//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不起作用,如果我评论最后的那些,有效。 有人知道我能否做到这一点

1 个答案:

答案 0 :(得分: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/

找到工作样本