之前涉及到要做桌面应用的消息提醒,然后在网上找到了Notification的消息推送。发现这类的文章挺少的,故此写下来包装了一下方法记录一下以后用,参考知乎大佬的文章:
原文链接:
https://zhuanlan.zhihu.com/p/133128563
代码如下:
function spawnNotification(theBody, theIcon, theTitle) {
//debugger
//更多的属性请自行百度 我这里只用到了:正文内容,图标,推送标题
let options = {
body: theBody,
icon: theIcon
}
// 先检查浏览器是否支持
if (!('Notification' in window)) {
// IE浏览器不支持发送Notification通知!
} else {
if (Notification.permission !== 'denied') {
//判断是否授权,没授权先授权在通知
Notification.requestPermission(function (permission) {
// 如果用户同意,就可以向他们发送通知
if (permission === 'granted') {
let n = new Notification(theTitle, options);
}
});
} else {
//已授权直接通知
let n = new Notification(theTitle, options);
}
}
}
如果用户初次访问你的页面,左上角会弹出
点击允许以后,默认再也不会提示;
注意:我使用的谷歌浏览器,可能对IE低版本及360浏览器兼容不友好,但这种无需域名的方式还是很便捷的。