我正在处理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不起作用,如果我评论最后的那些,有效。 有人知道我能否做到这一点
答案 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/)
找到工作样本