使用JavaScript实现网页通知功能

如何使用js来实现网页通知功能。即使在用户浏览其他页面时,也能向他们推送通知信息。

废话不多说直接上代码

typescript 复制代码
function showAutoNotification() {
  if ("Notification" in window) {
    Notification.requestPermission().then(function(permission) {
      if (permission === "granted") {
        var notification = new Notification("重 要 通 知", {
          body: "具体通知内容",
        });
        console.log("hook 200");
        setTimeout(function() {
          notification.close();
        }, 5500000);
        notification.onclick = function() {
          window.open("https://pan.zai1.com");
        };
      } else {
        alert("请打开网站通知,以便接收本站最新的消息。");
        console.log("当前浏览器禁止了网站推送");
      }
    });
  } else {
    console.log("当前浏览器不支持tuisong.js 请联系在意博客");
  }
}

setTimeout(showAutoNotification, 100);

代码解析如下:

检查浏览器是否支持Notification API。如果不支持,输出一条消息并停止执行。

请求用户的通知权限。

如果用户同意接收通知,创建并显示一个通知。通知的标题为"重 要 通 知",内容为"在意网盘,不限内容的网盘 pan.zai1.com"。

创建通知后,输出 "hook 200"。

5500000毫秒(约为91分钟)后,通知自动关闭。

如果用户点击通知,会打开"https://pan.zai1.com"这个网址。

如果用户没有同意接收通知,弹出一个提示对话框,并输出一条消息。

本函数被设置为在页面加载后的100毫秒后执行。

相关推荐
竹林81810 分钟前
Web3前端开发:使用ethers.js监听智能合约事件
javascript·智能合约
张元清12 分钟前
不用 WebSocket 库,在 React 中构建实时功能
前端·javascript·面试
榴莲omega1 小时前
第10天:手写 bind 与 柯里化 | 从疑惑到通透
开发语言·javascript·ecmascript·bind·柯里化
AAA阿giao1 小时前
React 闭包陷阱详解:为什么你的定时器总在“说谎”?
前端·javascript·react.js
进击的尘埃1 小时前
为了交付一个AI辅助开发的项目,我们搭了一套质量保障体系
javascript
Highcharts.js1 小时前
经验值|React 实时数据图表性能为什么会越来越卡?
前端·javascript·react.js·数据可视化·实时数据
Gkoob1 小时前
Vue3+Three.js 打造实时设备状态 3D 可视化面板
开发语言·javascript·3d
程序员小寒2 小时前
JavaScript设计模式(七):迭代器模式实现与应用
前端·javascript·设计模式·迭代器模式
晓13132 小时前
React篇——第七章 React 19 编译器深度解析
前端·javascript·react.js
im_AMBER2 小时前
手撕代码之事件委托
前端·javascript·面试