2016-05-25 7 views
4

C#ASP.Net MVC 5.0によって提供されるニュースサイトがあり、管理者がニュースを追加/編集または削除するときに通知をクライアントブラウザにプッシュしたい。
私はすべてのページで使用される私のテンプレートにsignalrスクリプトを追加しました。
サイトごとに開かれたすべてのタブのブラウザ通知を1回のみ

_Layout.cshtml

var notificationsHub = $.connection.notificationHub; 
$.connection.hub.start(); 
jQuery(function($) { 
    notificationsHub.client.Toast = function (title, body) { 
     var options = { 
      body: body, 
     }; 
     var notification = new Notification(title, options); 
    }; 
}); 

やニュースの後にリダイレクトするページにこのコードを追加/編集を追加/削除

<script> 
    $.connection.hub.start().done(function() { 
     notificationsHub.server.toast('@NotificationHub.Type.ToString()', '@Html.Raw(NotificationHub.Title)', '@Html.Raw(NotificationHub.Body)'); 
    }); 
</script> 

私は/編集を追加するときに/削除を行われていますニュースは正常に動作しますが、問題はそれが自分のサイトの開いているすべてのタブに通知をプッシュすることです。このような事態を避け、の1つのサイトに1つだけのブラウザ通知を表示する方法がありますか?

答えて

0

OKこれはSO questionで回答が見つかりました。
トリックはオプションでtagを使用することです:私のサイトの開いているタブの

var notificationsHub = $.connection.notificationHub; 
$.connection.hub.start(); 
jQuery(function($) { 
    notificationsHub.client.Toast = function (title, body) { 
     var options = { 
      body: body, 
      tag: 'my-unique-id', 
     }; 
     var notification = new Notification(title, options); 
    }; 
}); 
関連する問題