zoukankan      html  css  js  c++  java
  • Chrome桌面提醒功能,兼容新老版本,firefox最新版本也通过

    Chrome新版升级api,与w3一致,为了兼容,代码如下:

    //桌面提醒
    function notify(title, content) {
            
            if(!title && !content){
                title = "桌面提醒";
                content = "您看到此条信息桌面提醒设置成功";
            }
            var iconUrl = "/images/send_ok.png";
            
            if (window.webkitNotifications) {
                //chrome老版本
                if (window.webkitNotifications.checkPermission() == 0) {
                    var notif = window.webkitNotifications.createNotification(iconUrl, title, content);
                    notif.display = function() {}
                    notif.onerror = function() {}
                    notif.onclose = function() {}
                    notif.onclick = function() {this.cancel();}
                    notif.replaceId = 'Meteoric';
                    notif.show();
                } else {
                    window.webkitNotifications.requestPermission($jy.notify);
                }
            }
            else if("Notification" in window){
                // 判断是否有权限
                if (Notification.permission === "granted") {
                    var notification = new Notification(title, {
                        "icon": iconUrl,
                        "body": content,
                    });
                }
                //如果没权限,则请求权限
                else if (Notification.permission !== 'denied') {
                    Notification.requestPermission(function(permission) {
                        // Whatever the user answers, we make sure we store the
                        // information
                        if (!('permission' in Notification)) {
                            Notification.permission = permission;
                        }
                        //如果接受请求
                        if (permission === "granted") {
                            var notification = new Notification(title, {
                                "icon": iconUrl,
                                "body": content,
                            });
                        }
                    });
                }
            }
        }
  • 相关阅读:
    Linux中find常见用法示例
    PHP写的异步高并发服务器,基于libevent
    Prototype原型模式
    抽象工厂模式
    工厂方法模式
    简单工厂模式
    记一次皮肤过敏
    Thread类线程结束会唤醒使用其对象做锁而睡眠的线程
    位运算符
    逻辑运算符
  • 原文地址:https://www.cnblogs.com/foolin/p/3822294.html
Copyright © 2011-2022 走看看