每个站点所有打开的选项卡的浏览器通知仅一次

梅萨比

我有一个由C#ASP.Net MVC 5.0驱动的新闻网站,当管理员添加/编辑或删除新闻时,我想将通知推送到客户端浏览器。
所以我在模板中添加了一个Signalr脚本,该脚本可用于所有页面。

_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>

当我添加/编辑/删除新闻时,它可以正常工作,但问题是它会将通知推送到站点中所有打开的选项卡。有什么办法可以避免这种情况的发生,并且每个站点显示一个浏览器通知?

梅萨比

好吧,我在这个问题中找到了答案
诀窍是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);
    };
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ext4.2.1如何从另一个浏览器选项卡中打开带有小部件的新浏览器选项卡

来自分类Dev

Xpages链接打开“新浏览器”选项卡

来自分类Dev

接受Web通知后,如果浏览器没有打开该网站的选项卡,则网站可以发送通知吗?

来自分类Dev

在现有浏览器选项卡中打开来自 Bash 的链接

来自分类Dev

像真实浏览器一样使用phantomjs打开选项卡

来自分类Dev

打开一个新的浏览器选项卡

来自分类Dev

我如何从Origin选项卡获取新打开的浏览器选项卡名称?

来自分类Dev

是否可以在关闭浏览器/浏览器选项卡时清除所有cookie。在asp.net

来自分类Dev

如何在所有浏览器会话(选项卡)中重置Redux状态

来自分类Dev

AureliaJS 应用程序在所有浏览器选项卡上重复

来自分类Dev

一次关闭所有Chrome浏览器或Firefox浏览器实例

来自分类Dev

如果在2个浏览器选项卡上,Angularjs通知显示两次

来自分类Dev

是否可以将URL从Google Chrome(或其他浏览器)窗口中所有打开的选项卡复制到电子邮件中?

来自分类Dev

停止Firefox的会话还原一次加载所有选项卡

来自分类Dev

如何在WinSCP中一次重新连接所有会话/选项卡?

来自分类Dev

如何使用Selenium WebDriver在同一浏览器的另一个选项卡上打开URL?

来自分类Dev

无法在浏览器中打开新选项卡。它在同一个选项卡中加载第二个 url

来自分类Dev

VBA [EXCEL 2013]:自动化:在同一浏览器窗口/选项卡中打开链接

来自分类Dev

使用Socket.io时,每个浏览器选项卡是否都有自己的连接?

来自分类Dev

使用Socket.io时,每个浏览器选项卡都有自己的连接吗?

来自分类Dev

Microsoft Edge浏览器的缩略图选项卡默认打开,而不是微型选项卡

来自分类Dev

使用angularJS的localStorage-如何将值动态绑定到浏览器中的所有选项卡

来自分类Dev

在浏览器选项卡或ipython窗口中打开scrapy输出

来自分类Dev

在新的浏览器选项卡中打开ResponseEntity PDF

来自分类Dev

Zkoss-在浏览器的新选项卡中打开URL

来自分类Dev

如何知道浏览器选项卡是否已使用Javascript打开?

来自分类Dev

HTML / Javascript-导航至已打开的浏览器选项卡/窗口

来自分类Dev

在Azure Portal中打开新的浏览器选项卡时出现403错误

来自分类Dev

强制我的网络浏览器在新选项卡上打开链接

Related 相关文章

  1. 1

    Ext4.2.1如何从另一个浏览器选项卡中打开带有小部件的新浏览器选项卡

  2. 2

    Xpages链接打开“新浏览器”选项卡

  3. 3

    接受Web通知后,如果浏览器没有打开该网站的选项卡,则网站可以发送通知吗?

  4. 4

    在现有浏览器选项卡中打开来自 Bash 的链接

  5. 5

    像真实浏览器一样使用phantomjs打开选项卡

  6. 6

    打开一个新的浏览器选项卡

  7. 7

    我如何从Origin选项卡获取新打开的浏览器选项卡名称?

  8. 8

    是否可以在关闭浏览器/浏览器选项卡时清除所有cookie。在asp.net

  9. 9

    如何在所有浏览器会话(选项卡)中重置Redux状态

  10. 10

    AureliaJS 应用程序在所有浏览器选项卡上重复

  11. 11

    一次关闭所有Chrome浏览器或Firefox浏览器实例

  12. 12

    如果在2个浏览器选项卡上,Angularjs通知显示两次

  13. 13

    是否可以将URL从Google Chrome(或其他浏览器)窗口中所有打开的选项卡复制到电子邮件中?

  14. 14

    停止Firefox的会话还原一次加载所有选项卡

  15. 15

    如何在WinSCP中一次重新连接所有会话/选项卡?

  16. 16

    如何使用Selenium WebDriver在同一浏览器的另一个选项卡上打开URL?

  17. 17

    无法在浏览器中打开新选项卡。它在同一个选项卡中加载第二个 url

  18. 18

    VBA [EXCEL 2013]:自动化:在同一浏览器窗口/选项卡中打开链接

  19. 19

    使用Socket.io时,每个浏览器选项卡是否都有自己的连接?

  20. 20

    使用Socket.io时,每个浏览器选项卡都有自己的连接吗?

  21. 21

    Microsoft Edge浏览器的缩略图选项卡默认打开,而不是微型选项卡

  22. 22

    使用angularJS的localStorage-如何将值动态绑定到浏览器中的所有选项卡

  23. 23

    在浏览器选项卡或ipython窗口中打开scrapy输出

  24. 24

    在新的浏览器选项卡中打开ResponseEntity PDF

  25. 25

    Zkoss-在浏览器的新选项卡中打开URL

  26. 26

    如何知道浏览器选项卡是否已使用Javascript打开?

  27. 27

    HTML / Javascript-导航至已打开的浏览器选项卡/窗口

  28. 28

    在Azure Portal中打开新的浏览器选项卡时出现403错误

  29. 29

    强制我的网络浏览器在新选项卡上打开链接

热门标签

归档