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;
};
HTML消息提醒(Notification)
原创
©著作权归作者所有:来自51CTO博客作者mb637f2759ea9f4的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:CSS使得内容垂直居中
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
jquery 新消息Title闪烁提示(转载)
(function($) { $.extend({ /**
php 休闲 php开发 jquery 标题栏闪动