Web Notifications API-让网页也能像QQ一样实现消息通知

news/2024/11/28 1:51:34/

一.什么是Web Notifications API

    Web Notifications API允许网页或者是应用程序以系统级别发送在页面外部显示的通知,这样就可以实现即时应用程序在后台或者是空闲状态,Web应用程序也会向用户发送信息。

二.Notification的状态

     1.denied(拒绝)——不允许发送通知

     2.granted(同意)——允许发送通知

     3.default(默认状态)——根据浏览器来决定,一般是询问浏览器,来请求获取发送通知的权限

三.场景实现步骤

    1.检查浏览器是否支持

    2.首先请求权限,在应用程序可以发送通知之前,需要用户授予应用程序发生通知的权限

    3.创建并显示通知

具体实现代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Notification Example</title>
<script>
// 当页面加载时执行
document.addEventListener('DOMContentLoaded', function() {// 检查浏览器是否支持Notification APIif (!("Notification" in window)) {alert("This browser does not support desktop notification");}// 检查用户是否已经授予权限else if (Notification.permission === "granted") {// 如果已经授权,可以直接显示通知showNotification();}// 如果用户尚未做出选择或默认为'default',则请求权限else if (Notification.permission !== "denied") {Notification.requestPermission().then(function(permission) {// 一旦用户响应,可以显示通知if (permission === "granted") {showNotification();}});}// 显示通知的函数function showNotification() {var notification = new Notification("Hello", {body: "This is a notification message!",icon: 'icon.png' // 路径到图标文件});// 可以添加事件监听器来处理用户交互notification.onclick = function() {// 这里可以打开新窗口或跳转到特定页面window.open('https://www.example.com', '_blank');};}
});
</script>
</head>
<body>
<h1>Web Notifications API Example</h1>
<p>Check the top-right corner for the notification!</p>
</body>
</html>

四.优缺点:

优点:1.可以定制通知的外观和行为

           2.不需要用户授权

           3.可以应用到现有的网页设计中

缺点:1.需要适配移动端设备

           2.过多的使用可能会影响页面性能。


http://www.ppmy.cn/news/1550488.html

相关文章

Flink 之 Window 机制详解(上):基础概念与分类

《Flink 之 Window 机制详解&#xff08;上&#xff09;&#xff1a;基础概念与分类》 一、引言 在当今大数据蓬勃发展的时代&#xff0c;Flink 作为一款卓越的分布式流处理和批处理框架&#xff0c;以其独特的架构和强大的功能在数据处理领域占据着重要地位。其底层基于流式…

Prompting LLMs to Solve Complex Tasks: A Review

文章目录 题目简介任务分解未来方向结论 题目 促使 LLM 解决复杂任务&#xff1a; 综述 论文地址&#xff1a;https://www.intjit.org/cms/journal/volume/29/1/291_3.pdf 简介 大型语言模型 (LLM) 的最新趋势显而易见&#xff0c;这体现在大型科技公司的投资以及媒体和在线社…

react 前端最后阶段静态服务器启动命令

这个错误是因为你还没有安装 serve 工具。让我们一步步解决&#xff1a; 首先全局安装 serve&#xff1a; npm install -g serve如果上面的命令报错&#xff0c;可能是因为权限问题&#xff0c;可以尝试&#xff1a; 安装完成后&#xff0c;再运行&#xff1a; Windows 下使用…

阿里云cdn配置记录和nodejs手动安装

cdn 登录阿里云 域名解析权限 开启cdn&#xff0c;接引导流程&#xff0c; 源可以设置 域名或者ip等 配置好域名解析 上传https证书 图片不显示&#xff0c;后端开发需要配置 回源配置的回源协议 &#xff0c;配置跟随客服端【如果浏览器多次重定向错误&#xff0c;客服或者改…

微信小程序中会议列表页面的前后端实现

题外话&#xff1a;想通过集成腾讯IM来解决即时聊天的问题&#xff0c;如果含语音视频&#xff0c;腾讯组件一年5万起步&#xff0c;贵了&#xff01;后面我们改为自己实现这个功能&#xff0c;这里只是个总结而已。 图文会诊需求 首先是个图文列表界面 同个界面可以查看具体…

自研芯片逾十年,亚马逊云科技Graviton系列芯片全面成熟

在云厂商自研芯片的浪潮中&#xff0c;亚马逊云科技无疑是最早践行这一趋势的先驱。自其迈出自研芯片的第一步起&#xff0c;便如同一颗石子投入平静的湖面&#xff0c;激起了层层涟漪&#xff0c;引领着云服务和云上算力向着更高性能、更低成本的方向演进。 早在2012年&#x…

基于物联网技术的智能家居安全监控体系构建

随着科技的日新月异&#xff0c;物联网&#xff08;IoT&#xff09;技术正逐步渗透到我们生活的方方面面&#xff0c;其中智能家居领域的发展尤为显著。通过物联网技术&#xff0c;各类家居设备得以与家庭网络无缝连接&#xff0c;实现了设备间的互联互通与智能化管理。在智能家…

React (三)

文章目录 项目地址十二、性能优化12.1 使用useMemo避免不必要的计算12.2 使用memo缓存组件,防止过度渲染12.3 useCallBack缓存函数12.4 useCallBack里访问之前的状态(没懂)十三、Styled-Components13.1 安装13.2给普通html元素添加样式13.3 继承和覆盖样式13.4 给react组件添…