Notification 桌面通知


window.Notification || window.mozNotification || window.webkitNotification; 

chrome浏览器内核桌面通知要求使用https协议

mozNotification说是针对火狐浏览器的,但在web标准中已经被废弃,可能会有少部分浏览器支持此特性,有可能会随时停止工作。不推荐使用,但为了支持少部分浏览器,还是添加一下,毕竟有备无患。(我使用的chrome(62.0.3202.94)和Firefox(57.0.1)不支持此特性)


webkitNotification在chrome 22之前是支持的,但在22之后就已经被取消弃用了,但在写代码的时候要考虑浏览器的兼容性,所以为了防止chrome 22之前的用户无法桌面通知,此处还是写上为好。

Notification html5中通知的新API。资料参考:https://developer.mozilla.org/zh-CN/docs/Web/API/notification

==============================================================================

EG:


    var Notification = window.Notification || window.mozNotification || window.webkitNotification;
    if(Notification){
        Notification.requestPermission().then(function(status){
            //status默认值'default'等同于拒绝 ,这个需要你在浏览器设置中设置允许通知和弹出式窗口。

           //denied 用户拒绝通知 

 //granted 用户允许通知

            if("granted" != status){

console.log("用户拒绝通知");
                return;
            }else{
                var notify = new Notification(
                    title,
                    {
                        dir:'auto',
                        lang:'zh-CN',
                        tag:1,//实例化的notification的id,这个是只弹出一个桌面通知,如果想弹出多个,可自行设置
                        icon:'https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=d&word=%E9%80%9A%E7%9F%A5%E5%9B%BE%E7%89%87%E5%96%87%E5%8F%AD&hs=2&pn=5&spn=0&di=141247459650&pi=0&rn=1&tn=baiduimagedetail&is=0%2C0&ie=utf-8&oe=utf-8&cl=2&lm=-1&cs=4128051236%2C1626445565&os=1676176259%2C114657512&simid=3423960701%2C154767424&adpicid=0&lpn=0&ln=30&fr=ala&fm=&sme=&cg=&bdtype=0&oriquery=%E9%80%9A%E7%9F%A5%E5%9B%BE%E7%89%87%E5%96%87%E5%8F%AD&objurl=http%3A%2F%2Fphotocdn.sohu.com%2F20130822%2FImg384762191.jpg&fromurl=ippr_z2C%24qAzdH3FAzdH3F65ss_z%26e3Bf5i7_z%26e3Bv54AzdH3Fda8nabddAzdH3Fgnb90md8la_z%26e3Bfip4s&gsm=0',//通知的缩略图,//icon 支持ico、png、jpg、jpeg格式
                        body:'棒棒的!桌面通知弹出来了呢!' //通知的具体内容
                    }
                );
                notify.οnclick=function(){
                    //如果通知消息被点击,通知窗口将被激活
                    window.focus();
                },
                notify.onerror = function () {
                    console.log("桌面消息显示异常!!!");
                };
                notify.onshow = function () {
                    setTimeout(function(){
                        notify.close();
                    },20000)//自动显示20秒
                };
                notify.onclose = function () {
                    console.log("notice通知消息关闭!!!");
                };
            }
        });
    }else{
        console.log("您的浏览器不支持桌面消息");
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值