![0b396f62d10c332f92fb30954f2a8332.png](https://i-blog.csdnimg.cn/blog_migrate/de2673415cfe14f3a759665da3b15228.jpeg)
JS调用window.Notification()
在写一个应用的时候需要显示网页来的消息,为了让用户不会错过消息,所以希望使用JS调用win10的通知消息,调用方法如下:
- 在页面打开的时候查看浏览器是否支持Notification API,如果支持,则判断是否有权限通知,没有的话交由用户判断是否允许通知(JS代码):
if(undefined !== window.Notification) {
if (Notification.permission === "default") {
Notification.requestPermission();
}
}
2.我在本地运行web应用没有问题(IE不支持),通知是可以用的,但是将应用部署到服务器上时却提示网页不安全无法使用该功能,在网上搜索之后得知只有https协议的网页可以调用通知功能。参考
SpringBoot http升为https(自签SSL证书,局域网内使用)http重定向httpsblog.csdn.net![cb2ca8a17eebbe5a5a87d0b5a76de975.png](https://i-blog.csdnimg.cn/blog_migrate/e1c2ac704aa76acf78b90e5dcdff7a79.jpeg)
其他方法:示例
![195a7c2889d7fe1da4f0ec45f94c407f.png](https://i-blog.csdnimg.cn/blog_migrate/70194e7069bd04e8716256e15b9a2e01.png)
Notification.requestPermission(function() {
if(Notification.permission === 'granted') {
// 用户点击了允许
let n = new Notification('网易有道词典', {
body: '程序已启动',
icon: 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1549464117983&di=286ad42d05b9ea9720daa1d62cd18ee5&imgtype=0&src=http%3A%2F%2Fimgsrc.baidu.com%2Fimgad%2Fpic%2Fitem%2F8326cffc1e178a8208b90d86fc03738da977e80b.jpg'
})
setTimeout(() => {
n.close();
}, 3000)
n.onclick = function(e) {
window.open("https://www.baidu.com")
console.log(1, e);
}
n.onerror = function(e) {
console.log(2, e);
}
n.onshow = function(e) {
console.log(3, e);
}
n.onclose = function(e) {
console.log(4, e);
}
}else if(Notification.permission === 'denied') {
// 用户点击了拒绝
}else {
// 用户没有做决定
}