位置: 编程技术 - 正文

使用 Javascript 实现浏览器推送提醒功能的示例(js怎么用)

编辑:rootadmin

推荐整理分享使用 Javascript 实现浏览器推送提醒功能的示例(js怎么用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:javascript运用,js应用实例,js如何使用,js怎么使用,如何用javascript,js如何使用,如何用javascript,javascript怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!

本篇文章内容简单,速读只需两三分钟,通过这两三分钟的时间你就可以给自己的网站实现推送提醒的功能

Notification 类

简单明了,这个类就是负责推送消息的,只要用户当前没有关闭页面,及时是在使用其他程序,浏览器也能够将消息推送给用户

请求权限

我们在手机上都收到过消息推送,在接收推送之前我们会先将消息推送权限开放给应用。在浏览器中也一样,在使用浏览器推送之前,需要先获取权限

通过 requestPermission 方法可以为当前域名请求消息推送的权限,这个方法可以使用 Promise 语法来实现请求结果的处理。当然,你也可以使用回调的方式来实现

回调的参数 permission 表示当前请求后用户的选择:允许推送 / 不允许推送,它的值也分别有两个 granted / denied,当我们发现用户不允许的推送的时候,就可以在回调中做出相应的提示,告诉用户可能会导致不能及时接收消息,并且告诉用户如果想要接收消息该如何操作等

查看权限

由于推送的权限是基于域名的,因此同一个网站在请求一次权限后,下一次打开时就不会再次请求,而是直接通过第一次的用户选择来决定网站是否能向用户推送

使用 Javascript 实现浏览器推送提醒功能的示例(js怎么用)

因此我们就需要能够获取到当前网站的推送的状态,可以通过下面的这个属性来获取状态:

permission 属性的值有三种:granted - 允许推送;denied - 拒绝推送;default - 还未申请权限

当值为 default 时,我们就可以向用户请求推送的权限了

发起一条推送

通过上面的方式可以声明一条推送,它有两个参数,第一个参数是消息的标题,这个是必填的一个参数;而通过第二个选填参数,我们则可以实现更多自定义的显示内容:

第二个参数接收一个对象,它有一下几个属性:

body:推送的主体内容 tag:推送的标识,如果我们声明了多个 Notification,而这些推送的 tag 都相同,则只会推送一次 icon:需要在推送中显示的图标的 URL data:推送的消息所带有的数据信息,当用户点击推送窗口时,可以通过这些信息为用户展示相应的内容 requireInteraction:正常情况下,推送发出后若用户没有操作,几秒后就会消失,而将该属性设为 true 则可以让推送始终维持而不消失,默认值是 false

当我们需要自定义推送显示时长的时候,可以通过最后一个属性将自动消失关闭,然后配合 note.close() 和 setTimeout 方法人为控制推送时长

点击推送事件

既然已经可以成功的发起一条推送,那么该如何监听到用户是否点击了这个推送呢?很简单,通过 onclick 属性就可以实现

其他

需要注意的是,并不是所有浏览器都支持 Notification,所以在使用前需要先检测能否使用

或许有的小伙伴会想,这个功能不错,这样在手机上也能实现网页消息推送了。然而很不幸的是,移动端浏览器几乎%不支持 Notification :(

标签: js怎么用

本文链接地址:https://www.jiuchutong.com/biancheng/369723.html 转载请保留说明!

上一篇:React.Js添加与删除onScroll事件的方法详解(react增删改查功能)

下一篇:原生JavaScrpit中异步请求Ajax实现方法(原生java web)

  • 劳务派遣公司需要给员工缴纳社保吗
  • 土地增值税间接费用扣除
  • 个人所得税汇算清缴情况报告
  • 售后回租利息可以抵税吗
  • 库存现金期末余额
  • 借已交税金贷银行存款
  • 持续经营净利润率怎么算
  • 作业成本管理的作用
  • 国际贸易公司注册需要什么条件海南
  • 固定资产处置的增值税税率
  • 已扣缴税额
  • 企业租赁集体土地种植经济林如何补偿
  • 收到别人的承兑怎么入账
  • 出纳如何登账
  • 土地增值税四级税率表
  • 为员工购置小车怎么做账
  • 小规模开票是含税的吗
  • 计提工资与发放工资
  • 汇算清缴前可以更改去年的账吗
  • 委托发行股票会亏本吗
  • 房地产企业已预缴增值税如何抵扣
  • 个体工商户公转私用途写什么
  • 银行承兑汇票贴现率是多少
  • 补提去年所得税分录
  • iphonexs如何强制关机重启
  • 新会计规定工会会计制度
  • PHP中empty和isset对于参数结构的判断及empty()和isset()的区别
  • PHP:curl_getinfo()的用法_cURL函数
  • 多交的增值税可以做营业外支出吗?
  • phpstrcmp函数
  • 泰姬陵 (© Michele Falzone/plainpicture)
  • 零星分布的意思
  • 企业自查补税怎么报税
  • 上年未结转的成本今年可以结转吗
  • php中session什么意思
  • 工会经费相关问题有哪些
  • 前端开发软件哪个最好
  • vue组件标签
  • 一个用于表示特定的web页的标识符url称为
  • pytorch1.5
  • 有趣的html简单代码
  • php源码抓取工具
  • 固定资产多少钱以上计入固定资产
  • 二氧化剂的使用方法
  • 国家退税收到的钱在哪里
  • 合营企业长期股权投资
  • 修改mysql配置
  • 小规模纳税人所得税怎么计算
  • 主营业务收入记多栏还是三栏
  • 逾期贷款利息收入增值税和企业所得税纳税义务时间
  • 收到的出口退税款需要并入利润总额吗
  • 投资有哪些方面
  • 周转材料期末余额怎么算
  • 省外出差
  • 调整以前年度的费用怎么做
  • 会计凭证装订的注意事项
  • 生产成本工时怎么算
  • surfacepro3的笔
  • os x yosemite dp6下载 os x 10.10 dp6官方下载地址
  • linux中locate命令的作用
  • linux快速查找历史命令
  • 要使用windows
  • linux启动后出现grub
  • windows 10 build 21382
  • 游戏引擎官方平台
  • (翻译)你最好骑一辆共享单车
  • 批处理杀死进程
  • 非递归快速排序python
  • android 启动器 设置
  • 如何搭建python项目架构
  • 结婚日课实例讲解
  • 安卓layout布局
  • python读写docx
  • 1、Android Studio创建android项目
  • 安卓微信仿ios版
  • 河北地方税务局吴瑜
  • 利息收入通过什么科目核算
  • 设计合同需要备案吗
  • 300万加币在加拿大能过什么样生活?
  • 社保交五百多
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设