HTML消息提醒(Notification)

来源:互联网 发布:国际网络不应该受管制 编辑:程序博客网 时间:2024/05/22 13:30
function MessageNotice() {    this.defaultTitle = document.title;    this.message  = "【新消息】";    this.emptyMsg = "【   】";    //不少浏览器已经关闭了脚本化它们的状态栏的功能。    this.noticeTimer = null;    this.type = 0;    this.data = null;}MessageNotice.prototype.startAnim = function (type, data) {    this.type = type;    this.data = data;    this.stopAnim();    var _message = this.message;    var _emptyMsg = this.emptyMsg;    var _defaultMsg = this.defaultTitle;    this.noticeTimer = setInterval(function () {        document.title = document.title == _message+_defaultMsg ? _emptyMsg+_defaultMsg : _message+_defaultMsg;    }, 100);    if (isNewQid && !isActiveBrowser && window.Notification || type == 1 && !isActiveBrowser && window.Notification) {        if (Notification.permission == "granted") {            this.pushNotice();        } else if (Notification.permission != "denied") {            Notification.requestPermission(function (permission) {                MessageNotice.prototype.pushNotice();            });        }    }};MessageNotice.prototype.pushNotice = function() {    var objType = this.type;    var objData = this.data;    if (Notification.permission == "granted") {        var notification = new Notification("", {            body : "您有新的消息",            icon : ""        });        notification.onclick = function () {            if (objType== 1) {                $("#userList>a>span[data-uid="+objData.toUserId+"]").parent().click();                $("#answerList>a[data-target-uid="+objData.toUserId+"][data-uid="+objData.targetUserId+"][data-qid="+objData.qid+"]").click();            } else if (objType == 2) {                $("#show-problem").click();            }            //跳回浏览器            window.focus();            notification.close();        }    } else {        console.log('浏览器不支持Notification');    }};MessageNotice.prototype.stopAnim = function () {    clearInterval(this.noticeTimer);    document.title = this.defaultTitle;};

0 0
原创粉丝点击