我使用具有登录功能的J2EE 6.0在Java中创建了一个Web应用程序。当用户登录到应用程序时,计时器从59:59(分钟:秒)开始并持续减少直到3:00。当剩下3分钟时,它会向用户显示弹出,要求退出或再次延长他们的时间/会话,然后再回到59:59。
我的问题是,如果用户正在做一些其他的工作说在Outlook上或在新的窗口/浏览器(Firefox等)上通过互联网浏览其他东西。如何通知用户他的会话/时间将过期。此应用程序仅适用于Microsoft Windows Internet Explorer 。
我发现这些链接用于显示桌面通知,但不幸的是我的应用程序特定于仅在Internet Explorer上运行
What ways are out there to display a desktop notification from a web app?
How do Stack Overflow desktop notifications work?
所以我无法使用桌面通知。
我以为我会创建一个 swing应用程序来显示Windows系统托盘中的通知弹出窗口,说明“你的会话即将到期”#39;但我被困在如何在客户端机器上运行。 我听说过一些叫做 Java Web Start , AjaxSwing 等的东西。 使用 Java Web Start 软件,用户可以通过单击网页中的链接来启动Java应用程序。它需要客户端系统中的JRE。 Java Web Start将要求用户下载 Java插件,它将下载一个令人讨厌的JRE(如果在客户端系统中找不到)。
AjaxSwing 会将Swing应用程序转换为HTML,Javascript和CSS,因此我不确定它是如何从浏览器中显示出来的,以便在系统托盘中显示弹出窗口。我认为这将继续坚持浏览器。
我搜索了选项卡选项的闪烁,但它没有闪烁窗口任务栏中的选项卡。
我在某处为Windows增长,但我不确定它是否对我有帮助。请告诉我。 请建议我如何通知用户他的会话将会过期。我已经知道我可以通过电子邮件进行通知。请帮助我寻求进一步追求的创新理念和解决方案。
答案 0 :(得分:1)
我遇到了同样的问题,并使用jquery notification plugin作为解决方法,你也可以在插件回调中使用“onShow”播放声音或其他什么来确保用户得到通知
答案 1 :(得分:0)
尝试使用Google Chrome:
function notifyBrowser(title, desc, url) {
if (Notification.permission !== "granted") {
Notification.requestPermission();
} else {
var notification = new Notification(title, {
icon: 'http://YourWebsite.com/logo.png',
body: desc,
});
/* Remove the notification from Notification Center when clicked.*/
notification.onclick = function() {
window.open(url);
};
/* Callback function when the notification is closed. */
notification.onclose = function() {
console.log('Notification closed');
};
}
}
所以,只调用函数:
notifyBrowser('Pay attention', 'You have new notifications', 'www.stackoverflow.com');
font:http://www.9lessons.info/2015/11/display-browser-notifications-from-web.html