先看一下Discuz!中的谷歌js代码
function Html5notification() {
var h5n = new Object();
h5n.issupport = function() {
var is = !!window.webkitNotifications;
if(is) {
if(window.webkitNotifications.checkPermission() > 0) {
window.onclick = function() {
window.webkitNotifications.requestPermission();
}
}
}
return is;
};
h5n.shownotification = function(replaceid, url, imgurl, subject, message) {
if(window.webkitNotifications.checkPermission() > 0) {
window.webkitNotifications.requestPermission();
} else {
var notify = window.webkitNotifications.createNotification(imgurl, subject, message);
notify.replaceId = replaceid;
notify.onclick = function() {
window.focus();
window.location.href = url;
notify.cancel();
};
notify.show();
}
};
return h5n;
}
如何定时关闭呢,
if (window.webkitNotifications) { //是否存在api
if (window.webkitNotifications.checkPermission() == 0) { //是否有权限了
var pop = window.webkitNotifications.createNotification('http://i8.baidu.com/it/u=2683190826,2755071058&fm=96&s=A8208C18533E458852E8E5D2030030B3', '来了', '你知道吗');
pop.ondisplay = function(event) {
setTimeout(function() {
event.currentTarget.cancel();//关闭
}, 3000);
}
pop.show(); //显示
} else {
window.webkitNotifications.requestPermission();//激活是否显示通知对话条
return;
}
}
注意,一定要用户点击才能激发权限判断显示通知的
下面是火狐浏览器的
function notifyMe() {
// Let's check if the browser supports notifications
if (!("Notification" in window)) {
alert("This browser does not support desktop notification");
}
// Let's check if the user is okay to get some notification
else if (Notification.permission === "granted") {
// If it's okay let's create a notification
var notification = new Notification("Hi there!");
}
// Otherwise, we need to ask the user for permission
// Note, Chrome does not implement the permission static property
// So we have to check for NOT 'denied' instead of 'default'
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 the user is okay, let's create a notification
if (permission === "granted") {
var notification = new Notification("Hi there!");
}
});
}
// At last, if the user already denied any notification, and you
// want to be respectful there is no need to bother him any more.
}//来源:https://developer.mozilla.org/en/docs/Web/API/notification