You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

实现网站在桌面右下角弹出通知,而非浏览器内弹窗的方案咨询

实现系统级桌面右下角通知方案

当然有可行的方案!你要的是系统级桌面通知(而非局限在浏览器窗口内的网页弹窗),完全可以通过原生JavaScript实现,不需要依赖jQuery或者其他前端库。

核心原理:浏览器原生Notification API

这个API是浏览器提供的系统通知能力,弹出的通知会直接显示在系统桌面的通知区域(通常是右下角,不同操作系统/桌面环境可能位置略有差异,但都是脱离浏览器窗口的系统级提示),和你见过的效果一致。

实现步骤

1. 先获取用户通知权限

浏览器会默认阻止未经用户授权的通知,所以第一步需要请求用户允许:

// 检查并请求通知权限
if (Notification.permission !== "granted") {
  Notification.requestPermission().then(permission => {
    if (permission === "granted") {
      console.log("已获取桌面通知权限");
    } else {
      console.warn("用户拒绝了通知权限,无法发送桌面通知");
    }
  });
}

2. 发送桌面通知

权限获取后,就可以创建并弹出通知了:

// 封装一个发送通知的函数
function sendDesktopNotification(title, options = {}) {
  // 先确认权限已授权
  if (Notification.permission !== "granted") {
    console.warn("请先允许通知权限");
    return;
  }

  // 创建并显示通知
  const notification = new Notification(title, {
    body: options.body || "", // 通知正文内容
    icon: options.icon || "", // 可选:设置通知的图标(建议用正方形图片)
    tag: options.tag || "",   // 可选:相同tag的通知会替换之前的,避免重复弹窗
    silent: options.silent || false // 可选:是否静音,默认false(播放系统提示音)
  });

  // 可选:监听通知的点击事件,比如点击后打开指定页面
  notification.onclick = () => {
    window.focus();
    // 这里可以加跳转逻辑,比如 window.location.href = "/notifications";
    notification.close();
  };
}

// 调用示例
sendDesktopNotification("新通知提醒", {
  body: "你有一条未读消息,点击查看详情",
  icon: "/assets/notification-icon.png"
});

关键注意事项

  • 环境要求:必须在HTTPS协议下使用(本地开发的localhost或127.0.0.1例外),否则浏览器会禁止权限请求。
  • 用户授权:只有用户主动允许后才能发送通知,无法强制弹窗。
  • 跨浏览器支持:所有现代浏览器(Chrome、Firefox、Edge、Safari 11.1+)都支持这个API,兼容性很好。

这个方案完全满足你的需求——通知会出现在桌面右下角,和toastr这类网页内弹窗完全是两个层级的效果。

内容的提问来源于stack exchange,提问作者user9310259

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:25:38