我有一个由C#ASP.Net MVC 5.0提供支持的新闻站点,我想在管理员添加/编辑或删除新闻时将通知推送到客户端浏览器.
所以我在我的模板中添加了一个信号器脚本,用于所有页面.
所以我在我的模板中添加了一个信号器脚本,用于所有页面.
_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>
当我添加/编辑/删除新闻时,它工作正常,但问题是它将通知推送到我的网站中所有打开的标签.有没有一个技巧可以避免这种情况发生,并且每个站点只显示一个浏览器通知?
解决方法
然后,您必须知道打开的选项卡的数量和使用的URL.请参阅“
How to get the number of tabs opened of my web in a browser using jquery?”SO问题,以了解出于隐私原因而不需要这样做的讨论.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。