使用 Javascript 实现浏览器推送提醒功能的示例
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用 Javascript 实现浏览器推送提醒功能的示例,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2460字,纯文字阅读大概需要4分钟。
内容图文
![使用 Javascript 实现浏览器推送提醒功能的示例](/upload/InfoBanner/zyjiaocheng/341/2894052b7bcc468286dd694800119f96.jpg)
本篇文章内容简单,速读只需两三分钟,通过这两三分钟的时间你就可以给自己的网站实现推送提醒的功能
Notification 类
简单明了,这个类就是负责推送消息的,只要用户当前没有关闭页面,及时是在使用其他程序,浏览器也能够将消息推送给用户
请求权限
我们在手机上都收到过消息推送,在接收推送之前我们会先将消息推送权限开放给应用。在浏览器中也一样,在使用浏览器推送之前,需要先获取权限
Notification.requestPermission().then(permission => { console.log(permission) })
通过 requestPermission 方法可以为当前域名请求消息推送的权限,这个方法可以使用 Promise 语法来实现请求结果的处理。当然,你也可以使用回调的方式来实现
回调的参数 permission 表示当前请求后用户的选择:允许推送 / 不允许推送,它的值也分别有两个 granted / denied,当我们发现用户不允许的推送的时候,就可以在回调中做出相应的提示,告诉用户可能会导致不能及时接收消息,并且告诉用户如果想要接收消息该如何操作等
查看权限
由于推送的权限是基于域名的,因此同一个网站在请求一次权限后,下一次打开时就不会再次请求,而是直接通过第一次的用户选择来决定网站是否能向用户推送
因此我们就需要能够获取到当前网站的推送的状态,可以通过下面的这个属性来获取状态:
Notification.permission
permission 属性的值有三种:granted - 允许推送;denied - 拒绝推送;default - 还未申请权限
当值为 default 时,我们就可以向用户请求推送的权限了
发起一条推送
const note = new Notification (title, opts)
通过上面的方式可以声明一条推送,它有两个参数,第一个参数是消息的标题,这个是必填的一个参数;而通过第二个选填参数,我们则可以实现更多自定义的显示内容:
第二个参数接收一个对象,它有一下几个属性:
- body:推送的主体内容
- tag:推送的标识,如果我们声明了多个 Notification,而这些推送的 tag 都相同,则只会推送一次
- icon:需要在推送中显示的图标的 URL
- data:推送的消息所带有的数据信息,当用户点击推送窗口时,可以通过这些信息为用户展示相应的内容
- requireInteraction:正常情况下,推送发出后若用户没有操作,几秒后就会消失,而将该属性设为 true 则可以让推送始终维持而不消失,默认值是 false
当我们需要自定义推送显示时长的时候,可以通过最后一个属性将自动消失关闭,然后配合 note.close() 和 setTimeout 方法人为控制推送时长
点击推送事件
既然已经可以成功的发起一条推送,那么该如何监听到用户是否点击了这个推送呢?很简单,通过 onclick 属性就可以实现
note.onclick = () => { //在这里实现用户点击后的逻辑 }
其他
需要注意的是,并不是所有浏览器都支持 Notification,所以在使用前需要先检测能否使用
或许有的小伙伴会想,这个功能不错,这样在手机上也能实现网页消息推送了。然而很不幸的是,移动端浏览器几乎100%不支持 Notification :(
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
内容总结
以上是互联网集市为您收集整理的使用 Javascript 实现浏览器推送提醒功能的示例全部内容,希望文章能够帮你解决使用 Javascript 实现浏览器推送提醒功能的示例所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。