项目开发中使用了HTML5新特性(现在应该不算新了 = =)window.Notification推送。
关于开发的文章很多,就不再赘述,只记录一下遇到的问题。
//消息推送
function Push() {
if (!!window.Notification) {
if (Notification.permission === 'granted') {
return true;
} else if (Notification.permission === 'denied') {
return false;
} else {
Notification.requestPermission().then(function (permission) {
if (permission === 'granted') {
return true;
} else if (permission === 'denied') {
return false;
}
});
}
} else {
return false;
}
}
在本地调试时没有问题,到使用域名访问就出现了问题。
Notification.permission = 'denied'
没错,不管Chrome权限设置成允许还是询问,结果都是denied
,网上搜了一圈没有找到解释,然后跑去调试其他网站。
最后结论:
Chrome上对http
协议默认Notification.permission = 'denied'
,想要愉快的推送消息就要使用https
协议!
网友评论