ajax轮询与Windows系统通知

项目需要,要把B/S项目打包成exe可执行文件,并且最小化到任务栏右下角,有消息时候通知提示

Javaweb项目打包用的Nativefier 有兴趣的同学可以自行百度了解,我也是半路出家,不怎么熟悉这个东西,好在打包完成了

代码大致如下,有兴趣可以自行深入研究

<script type="text/javascript">
var data1 = "OA提醒";
var data2 = "您有新的消息";


var sendmessage = {
url:'/reminderManage',
dataType:'json',
success:function(data) {
if (data.msg =="ok"){
showNotice(data1,data2);
}
}
};
//Ajax定时访问服务端,不断获取数据 。
window.setInterval(function(){$.ajax(sendmessage)},5000);



// setInterval("showNotice(data1,data2)",50000);
var Notification = window.Notification ||
window.mozNotification ||
window.webkitNotification;

// var media = new Audio("http://****.mp3"); //语音地址

function showNotice(title,msg){
if(Notification){
Notification.requestPermission(function(status){
//status默认值'default'等同于拒绝 'denied' 意味着用户不想要通知 'granted' 意味着用户同意启用通知
if("granted" != status){
return;
}else{
var tag = "order"+Math.random(); //产生随机tag,方便点击的时候定位处理
console.log("tag: "+tag)
var notify = new Notification(
title,
{
tag:tag,
// icon:'http://******.png',//通知的缩略图,//icon 支持ico、png、jpg、jpeg格式
icon:'http://127.0.0.1:8088/images/title.png',
body:msg //通知的具体内容
}
);
notify.onclick=function(){
//如果通知消息被点击,通知窗口将被激活
// media.pause();
window.focus();
notify.close();
};
notify.onerror = function () {
console.log("HTML5桌面消息出错!!!");
};
notify.onshow = function () {
// media.play();

//5s 后自行停止通知
setTimeout(function () {
notify.close();
// media.pause();
}, 5000);
}
};
notify.onclose = function () {
console.log("HTML5桌面消息关闭!!!");
// media.pause();
};
});
}else{
console.log("您的浏览器不支持桌面消息");
}
};
</script>
原文地址:https://www.cnblogs.com/michaelcnblogs/p/12132373.html