使用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毫秒后执行。

相关推荐
ShineWinsu9 小时前
对于JavaScript:操作元素的解析
开发语言·前端·javascript·面试·web·dom·元素
szp200512 小时前
Cache API 会丢掉 URL 里的 #:我的 9 个模型分块一直写在同一条缓存上
javascript·浏览器
keyipatience13 小时前
TypeScript学习(1)
前端·javascript·学习·typescript·html·css3
xifangge202513 小时前
基于 JavaScript 实现 CNC 数控切削参数与螺纹公差纯前端核算引擎
开发语言·前端·javascript
honkun614 小时前
vue 表格组件 vxe-table 修改滚动条样式,修改滚动条样式,统一宽度、颜色与自动隐藏
前端·javascript·vue.js
FRing0314 小时前
JavaScript入门到精通二十四(正则表达式、元字符、修饰符)
开发语言·前端·javascript·正则表达式
大明二代15 小时前
从 RAG 到有记忆的 Agent:Mastra Memory 与 PostgreSQL 实战
前端·javascript·人工智能
小羊没烦恼!16 小时前
C#综合揭秘——Entity Framework 并发处理详解
java·开发语言·前端·javascript·数据库·mysql·c#
OpsEye16 小时前
模型能力波动怎么办?网关侧做模型质量监控与自动切换
javascript·ai编程
西红柿炖牛腩35419 小时前
机房电脑不能联网,怎么离线把课件里的 3D 模型压小?Draco / Meshopt 参数清单
前端·javascript·3d·性能优化·大屏端