我已在Web应用程序中添加了Web推送通知;在主版式(asp.net MVC)中(使用signalR)。
$(function () {
// Declare a proxy to reference the hub.
var notifications = $.connection.notificationHub;
//debugger;
// Create a function that the hub can call to broadcast messages.
notifications.client.updateMessages = function () {
getMeetingNotifications()
};
// Start the connection.
$.connection.hub.start().done(function () {
// alert("connection started")
getMeetingNotifications();
}).fail(function (e) {
alert(e);
});
});
如果为同一应用程序打开了多个选项卡。它为同一活动推送多个通知。 我通过添加标签字段解决了这个问题。
function getMeetingNotifications() {
$.ajax({
url: '@Url.Action("Index", "Home")',
cache: false,
type: "POST",
contentType: "application/json; charset=utf-8",
success: function (data) {
if (data.Message != null) {
Push.create("Notifications", {
body: data.Message,
icon: '../images/logo.png',
tag: data.Id,
timeout: 10000,
onClick: function () {
window.focus();
this.close();
}
});
}
}
});
}
但是现在它闪烁了,即通知似乎重叠了。
有没有办法只显示一个没有重叠的通知(即使同时打开多个标签页)?