Go语言实现基于websocket浏览器通知功能

 更新时间:2020年07月27日 17:17:13   作者:陶士涵  
这篇文章主要介绍了Go语言实现基于websocket浏览器通知功能,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

当我们使用了websocket技术实现了实时的推送访客来到消息,但是我们只能随时看着页面不离开才能知道有访客来到

现在增加浏览器的通知消息,就可以只要打开着界面,不用一直盯着,干别的事去就可以了,有新消息会从右下角弹出来

测试地址如下,当有访客点击咨询按钮时,客服后台会弹出提示:

https://gofly.sopans.com/index

首先要明确一点,现在的通知只能在https的环境下使用 , 非https , 不能使用浏览器通知,Notification.permission返回的是禁止

  notify(title, options, callback) {
          // 先检查浏览器是否支持
          if (!window.Notification) {
            return;
          }
          var notification;
          // 检查用户曾经是否同意接受通知
          if (Notification.permission === 'granted') {
            notification = new Notification(title, options); // 显示通知

          } else {
            var promise = Notification.requestPermission();
          }

          if (notification && callback) {
            notification.onclick = function(event) {
              callback(notification, event);
            }
          }
       },
notify("标题", {
            body: "内容",
            icon: "头像"
          }, function(notification) {

            notification.close();

});

websocket部分就是监听onmessage方法,根据返回的json消息字段进行区分判断,这里是需要自己来定义,也可以参考上面地址的源代码

到此这篇关于Go语言实现基于websocket浏览器通知功能的文章就介绍到这了,更多相关go语言实现websocket浏览器通知内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Golang 语言极简类型转换库cast的使用详解

    Golang 语言极简类型转换库cast的使用详解

    本文我们通过 cast.ToString() 函数的使用,简单介绍了cast 的使用方法,除此之外,它还支持很多其他类型,在这没有多多介绍,对Golang 类型转换库 cast相关知识感兴趣的朋友一起看看吧
    2021-11-11
  • 如何利用Go语言实现LRU Cache

    如何利用Go语言实现LRU Cache

    这篇文章主要介绍了如何利用Go语言实现LRU Cache,LRU是Least Recently Used的缩写,是一种操作系统中常用的页面置换算法,下面我们一起进入文章了解更多内容吧,需要的朋友可以参考一下
    2022-03-03
  • Go 语言中程序编译过程详解

    Go 语言中程序编译过程详解

    本文旨在深入探讨Go语言的编译机制和最新的模块管理系统——Go Modules,通过详细的示例和步骤,我们将演示从简单的 “Hello World” 程序到使用第三方库的更复杂项目的开发过程,感兴趣的朋友跟随小编一起看看吧
    2024-05-05
  • Golang的Fork/Join实现代码

    Golang的Fork/Join实现代码

    Fork/Join本质上是一种任务分解,将一个很大的任务分解成若干个小任务,然后再对小任务进一步分解,直到最小颗粒度,然后并发执行,对Golang的Fork/Join实现代码感兴趣的朋友跟随小编一起看看吧
    2023-01-01
  • golang bufio包中Write方法的深入讲解

    golang bufio包中Write方法的深入讲解

    这篇文章主要给大家介绍了关于golang bufio包中Write方法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-02-02
  • GoLang string类型深入分析

    GoLang string类型深入分析

    string 作为 go 语言中的基础类型,其实有一些需要反复揣摩的,可能是我们使用的场景太简单,也可能是我们不需要那可怜的一点优化来提高性能,对它也就没那么上心了
    2023-01-01
  • 浅析Go中关于零值和空值判断的问题

    浅析Go中关于零值和空值判断的问题

    这篇文章主要是对零值和空值判断现状进行简单的梳理和分享,文中的示例代码讲解详细,对我们深入了解go语言有一定的帮助,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-08-08
  • golang 设置web请求状态码操作

    golang 设置web请求状态码操作

    这篇文章主要介绍了golang 设置web请求状态码操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • Go WEB框架使用拦截器验证用户登录状态实现

    Go WEB框架使用拦截器验证用户登录状态实现

    这篇文章主要为大家介绍了Go WEB框架使用拦截器验证用户登录状态实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Go-Web框架中AOP方案的实现方式

    Go-Web框架中AOP方案的实现方式

    本文主要介绍了Go-Web框架中AOP方案的实现方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06

最新评论