美文网首页
js H5 Notification桌面通知方法

js H5 Notification桌面通知方法

作者: keknei | 来源:发表于2023-07-18 10:26 被阅读0次

Notification方法只能在https协议或者本地http://localhost/使用

Notification.requestPermission()可以来获取用户是否允许通知,接受一个回调函数,回调函数中接受一个参数结果,这个结果就是是否允许通知

Notification.requestPermission((result)=>{
  // result可能的值包括:denied (用户拒绝了通知的显示), granted (用户允许了通知的显示), 或 default (因为不知道用户的选择,所以浏览器的行为与 denied 时相同).
  console.log(result);
});

其中回调函数的参数result可能的值代表的意思

  • denied用户拒绝了通知的显示
  • granted用户允许了通知的显示
  • default因为不知道用户的选择,所以浏览器的行为与 denied 时相同

只要调用上面的方法,浏览器就会显示下面图片的的通知,点击允许,回调接受的参数是granted,点击禁止,回调接受的参数是denied,点击右上角的×,回调接受的参数是default

default.png

new Notification() 来给用户发送通知,其中可以传参数,配置通知的信息
注意,只有当resultgranted时,才会执行下方的new Notification代码,denieddefault不会执行

new Notification()传递的参数,第一个是标题,第二个是一个json,里面是传递的信息

  • dir 文字的方向;它的值可以是 auto(自动), ltr(从左到右), 或者 rtl(从右到左)
  • body 通知中额外显示的字符串
  • icon 一个图片的URL,将被用于显示通知的图标
  • tag 赋予通知一个ID,以便在必要的时候对通知进行刷新、替换或移除
Notification.requestPermission((result)=>{
  // 只有当result为granted时,才会执行下方的new Notification代码,denied和default不会执行
  const notification = new Notification("您有一条通知,请查看",{
    dir: "ltr",//dir : 文字的方向;它的值可以是 auto(自动), ltr(从左到右), or rtl(从右到左)
    body: `我是通知的信息`,//body: 通知中额外显示的字符串
    icon: "https://himg.bdimg.com/sys/portraitn/item/public.1.4740939e.jB25tZF2t_Ql0YneVjFRRQ"  // 一个图片的URL,将被用于显示通知的图标。
        // tag: 赋予通知一个ID,以便在必要的时候对通知进行刷新、替换或移除。
  });
  // 可以添加事件,来触发交互
  notification.onclick=function () {
    console.log("notification")
  }
});

如果用户允许通知,并且已经调用new Notification,就会显示下方的图片信息,浏览器就会通知

notifiction.png

相关文章

网友评论

      本文标题:js H5 Notification桌面通知方法

      本文链接:https://www.haomeiwen.com/subject/trmgudtx.html