<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript">
var data = {
"3179896": {
"privateHost": "851307247",
"nick": "不要用我的账号testimm2",
"openTime": 1466567482,
"aid": 3179896,
"yy": 851307247
},
"5533480": {
"privateHost": "155557733",
"nick": "龙",
"openTime": 1466567519,
"aid": 5533480,
"yy": 155557733
}
}
var HUYA_URL = 'http://www.huya.com/'
//判断浏览器是否支持notification
if(window.Notification){
//判断当前页面是否被允许发出通知
Notification.requestPermission(function() {
for(var i in data){
var title = data[i].nick;
var host = data[i].privateHost;
var options = {
body: title+ '要开播啦',
tag: i, // 相当于ID,同一个的话,只能在同一个消息里更新
icon: 'http://huyaimg.dwstatic.com/avatar/1018/96/1a9129b7302bd1ddf08fad4cc5afee_180_135.jpg'
};
var notice = new Notification(title, options);
notice.onclick = function(){
var url = HUYA_URL + host
window.open(url,'_blank');
notice.close();
}
}
})
}
</script>
</head>
<body>
</body>
</html>
兼容性
Notification.permission 访问浏览器的状态 'granted' 为通过 'default' 为默认
Notification.requestPermission(function(status) {
//status是授权状态,如果用户允许显示桌面通知,则status为'granted'
console.log('status: ' + status);
//permission只读属性
var permission = Notification.permission;
//default 用户没有接收或拒绝授权请求 不能显示通知
//granted 用户接受授权请求 允许显示通知
//denied 用户拒绝授权请求 不允许显示通知
console.log('permission: ' + permission);
});
demo
https://www.audero.it/demo/web-notifications-api-demo.html