Chrome浏览器使用Notification通知消息推送

简介: Chrome浏览器使用Notification通知消息推送

代码如下

<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      function createNotify(title, options) {
        var PERMISSON_GRANTED = "granted";
        var PERMISSON_DENIED = "denied";
        var PERMISSON_DEFAULT = "default";
        // 如果用户已经允许,直接显示消息,如果不允许则提示用户授权
        if (Notification.permission === PERMISSON_GRANTED) {
          notify(title, options);
        } else {
          Notification.requestPermission(function (res) {
            if (res === PERMISSON_GRANTED) {
              notify(title, options);
            }
          });
        }
        // 显示提示消息
        function notify($title, $options) {
          var notification = new Notification($title, $options);
          console.log(notification);
          notification.onshow = function (event) {
            console.log("show : ", event);
          };
          notification.onclose = function (event) {
            console.log("close : ", event);
          };
          notification.onclick = function (event) {
            console.log("click : ", event);
            // 当点击事件触发,打开指定的url
            window.open(event.target.data)
            notification.close();
          };
        }
      }
      createNotify("新的消息", {
        body: "你有一个奖品待领取",
        icon: "https://www.baidu.com/favicon.ico",
        data: "https://www.baidu.com/"
      });
      /* 依次打印
       * show:   Event Object(事件对象),事件的type为"show"
       * click:  Event Object(事件对象),事件的type为"click"。点击消息后消息被关闭,跳到close事件。
       * close:  Event Object(事件对象),事件的type为"close"
       */
    </script>
  </body>
</html>

各浏览器的支持不是很统一

https://www.caniuse.com/?search=Notification

image.png

文件直接打开没有效果,需要由后台服务提供页面

参考

Notification 浏览器的消息推送

相关文章
|
负载均衡 算法 搜索推荐
LBS和LVS的区别
当提到LBS和LVS时,通常指的是以下两个概念: 1. LBS(Location-Based Services):基于位置的服务,是一种利用移动设备的位置信息提供个性化服务的技术。LBS可以通过GPS、Wi-Fi、蜂窝网络等方式获取设备的位置信息,并根据位置信息提供相应的服务,如地图导航、附近商家搜索、位置分享等。LBS在移动互联网时代得到了广泛的应用。 2. LVS(Linux Virtual Server):Linux虚拟服务器,是一种基于Linux操作系统的负载均衡软件。LVS通过将请求分发到多个服务器来平衡负载,提高系统的可用性和性能。LVS可以使用多种负载均衡算法,如轮询、加权轮
735 2
|
Windows
Mac 技术篇-Windows Remote Desktop远程连接windows系统时键盘输入字母自动变为快捷键操作问题解决方法
Mac 技术篇-Windows Remote Desktop远程连接windows系统时键盘输入字母自动变为快捷键操作问题解决方法
1798 0
Mac 技术篇-Windows Remote Desktop远程连接windows系统时键盘输入字母自动变为快捷键操作问题解决方法
|
Shell 数据安全/隐私保护
执行jobs命令查看不到任务的原因终于找到了
背景 执行nohup command &后,断开终端,执行jobs命令查看不到任务的原因,终于找到了。 首先执行完如下步骤: 1.nohup scp user@server:path/file localpath 2.输入密码 3.按Ctrl+Z挂起当前进程 4.使用命令bg让挂起的进程继续运行
|
Ubuntu Linux Docker
Docker安装和卸载
一:卸载旧版本 老版本的Docker被称为docker或docker-engine。如果安装了这些,请卸载它们以及相关的依赖项。 $ sudo yum remove docker \ docker-common \ docker-selinux \ docker-engine 如果yum报告说没有安装这些软件包,那么也行。
20155 0
|
7月前
|
人工智能 自然语言处理 算法
AI智能混剪视频大模型开发方案:从文字到视频的自动化生成·优雅草卓伊凡
AI智能混剪视频大模型开发方案:从文字到视频的自动化生成·优雅草卓伊凡
706 0
AI智能混剪视频大模型开发方案:从文字到视频的自动化生成·优雅草卓伊凡
|
关系型数据库 MySQL Linux
宝塔面板BT Composer安装及使用教程
本文介绍,相信你已经掌握了在宝塔面板上安装和使用 Composer 的方法。希望这些内容能对你有所帮助,祝你在开发过程中一切顺利!
2675 2
|
存储 编译器 Serverless
C 标准库 - <stdarg.h>详解
`&lt;stdarg.h&gt;` 是 C 标准库中的头文件,提供了处理可变参数函数(varargs)的机制,允许开发者定义接受任意数量参数的函数。它定义了三个主要宏:`va_start`、`va_arg` 和 `va_end`,用于初始化、访问和清理可变参数列表。
|
算法 安全 前端开发
基于postMessage和BroadcastChannel实现浏览器跨Tab窗口通信的方法介绍
基于postMessage和BroadcastChannel实现浏览器跨Tab窗口通信的方法介绍
465 0
|
SQL JSON 分布式计算
干货 | Elasticsearch、Kibana数据导出实战
以下两个导出问题来自Elastic中文社区。 问题1、kibana怎么导出查询数据? 问题2:elasticsearch数据导出 就像数据库数据导出一样,elasticsearch可以么? 或者找到它磁盘上存放数据的位置,拷贝出来,放到另一个es服务器上或者转成自己要的数据格式?
干货 | Elasticsearch、Kibana数据导出实战
|
算法 定位技术 iOS开发
IOS地图定位坐标偏差解决方案(实战通过)
--------------------------------------------------------------------- 很抱歉,本篇文章的算法经过实践证明有问题; 正确的转码算法地址见以下两个链接: http://www.
2430 0