繁体   English   中英

从Web应用程序显示系统任务栏通知或桌面通知

[英]Show a System Tray notification or Desktop notification from the web application

我已经使用具有登录功能的J2EE 6.0在Java中创建了一个Web应用程序。 当用户登录到应用程序时,计时器从59:59(分钟:秒)开始计时,并一直减少直到3:00。 剩下3分钟时,它将向用户显示一个弹出窗口 ,要求注销将他们的时间/会话再次延长至59:59。

我的问题是用户是否正在做其他工作,例如在Outlook上浏览还是在新窗口/浏览器(Firefox等)中通过Internet进行其他浏览。 我如何通知用户他的会话/时间即将到期。 该应用程序只能在Microsoft Windows Internet Explorer上运行。

我找到了这些用于显示桌面通知的链接,但是不幸的是我的应用程序特定于仅在Internet Explorer上运行

有哪些方法可以显示来自Web应用程序的桌面通知?

Stack Overflow桌面通知如何工作?

因此,我无法使用桌面通知。

我以为我会创建一个Swing应用程序以在Windows系统托盘中显示通知弹出窗口,提示“您的会话即将到期”。 但是我被困在它将如何在客户端计算机上运行。 我听说过Java Web StartAjaxSwing等。使用Java Web Start软件,用户可以通过单击网页中的链接来启动Java应用程序。 它需要客户端系统中的JRE。 Java Web Start将要求用户下载Java插件 ,该插件将下载令人讨厌的JRE(如果在客户端系统中找不到)。

AjaxSwing会将Swing应用程序转换为HTML,Javascript和CSS,所以我不确定它将如何从浏览器中显示出来,以在系统托盘中显示弹出窗口。 我认为仍然会坚持使用浏览器。

我搜索了闪烁的选项卡选项,但它没有闪烁Windows任务栏中的选项卡。

在Windows的Growl上读过书但不确定是否对我有帮助。 也请告诉我。 请建议我如何通知用户他的会话即将到期。 我已经知道我可以通过电子邮件通知。 请提供创新的想法和解决方案,帮助我进一步发展。

我遇到了同样的问题,并使用了jQuery通知插件作为解决方法,您也可以在插件回调中使用“ onShow”播放声音或确保用户得到通知的任何方法

尝试将其用于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');

字体: http//www.9lessons.info/2015/11/display-browser-notifications-from-web.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM