К Web Notification
Я имею в виду this (интерфейс уведомлений API уведомлений используется для настройки и отображения уведомлений рабочего стола пользователю).
У меня есть веб-приложение Asp.Net MVC, и у меня есть кнопка на моей странице, которая должна вызывать уведомление для клиентов.
Я также использовал signalr
для вызова функции уведомления о звонках и вызовах.Уведомления Firefox Desktop не отображаются, когда открыты несколько вкладок
моего layout.cshtml
выглядит следующим образом:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@ViewBag.Title - My ASP.NET Application</title>
</head>
<body>
<button id="btn" type="button">click</button>
@RenderBody()
<script src="~/Scripts/jquery-1.10.2.min.js"></script>
<script src="~/Scripts/jquery.signalR-2.2.1.min.js"></script>
<script src="~/signalr/hubs"></script>
<script>
jQuery(function ($) {
var myHub = $.connection.chatHub;
myHub.client.addNewMessageToPage = function (title, message) {
var options = {
body: message,
tag: 'aaa'
}
// check permissions if already granted
if (Notification.permission === "granted") {
var notification = new Notification(title, options);
} else if (Notification.permission !== 'denied') {
// request permission
Notification.requestPermission(function (permission) {
// If the user accepts, let's create a notification
if (permission === "granted") {
var notification = new Notification(title, options);
}
});
}
console.log('the hub method called sucessfully');
}
$.connection.hub.logging = true;
$.connection.hub.start().done(function() {
$('#btn').on('click', function() {
myHub.server.send('foo', 'bar');
});
});
});
</script>
</body>
</html>
Проблема заключается в том, что уведомления толчка перестает работать/показ в светлячок, когда у меня есть несколько страниц моего приложения открытого. (он работает, когда одна вкладка открыта).
эта ошибка происходит только в firefox и хорошо работает в chrome и IE.
обновление 1: Я думаю, что его не signalr проблемы, так как метод хаба вызываются.
эта линия называется на всех закладках: console.log('the hub method called sucessfully');
и протоколирование signalr говорит, что:
SignalR: Invoking myhub.Send jquery.signalR-2.2.1.min.js
SignalR: Triggering client hub event 'addNewMessageToPage' on hub 'MyHub'. jquery.signalR-2.2.1.min.js
foo bar
SignalR: Invoked myhub.Send jquery.signalR-2.2.1.min.js
Я попробовал ответить. к сожалению, это не устраняет мою проблему. Я уточнил свой вопрос. – mhesabi