早上好
我正在使用 Google Chrome 中的 Web API 通知问题是:我的 xhtml 页面头部有一个脚本,该脚本通过托管 bean 从数据库中检索值,并且这个过程必须在计时器(间隔)上完成每隔 10 秒,第一次它工作正常但有时不会在数据库中返回以下值,而是继续显示值以恢复第一次。我该怎么做才能使运行间隔越来越多的值再次从数据库中恢复托管bean我的代码如下希望对您有所帮助。
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:ice="http://www.icesoft.com/icefaces/component"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ace="http://www.icefaces.org/icefaces/components">
<h:head>
<script>
if (!window.webkitNotifications)
{
alert('Lo sentimos, su navegador no soporta notificación de escritorio. Trabaje con Google Chrome.');
}
function RequestPermission (callback)
{
window.webkitNotifications.requestPermission(callback);
}
function getNroCasosPendientes()
{
var nroCasosPendientes = '#{ControladorBk.getNroCasosPendientes()}';
return nroCasosPendientes;
}
function getNroRecordatoriosPendientes()
{
var nroRecorPendientes = '#{ControladorBk.getNroRecordatoriosPendientes()}';
return nroRecorPendientes;
}
function abrirVentana(url)
{
var height = screen.availHeight-30;
var width = screen.availWidth-10;
var left = 0;
var top = 0;
settings = 'fullscreen=no,resizable=yes,location=no,toolbar=no,menubar=no';
settings = settings + ',status=no,directories=no,scrollbars=yes';
settings = settings + ',width=' + width +',height=' + height;
settings = settings + ',top=' + top +',left=' + left;
settings = settings + ',charset=iso-8859-1';
var win = window.open(url, '', settings);
win.outerHeight = screen.availHeight;
win.outerWidth = screen.availWidth;
win.resizeTo(screen.availWidth, screen.availHeight);
if (!win.focus)
{
win.focus();
}
return win;
}
function notification ()
{
if (window.webkitNotifications.checkPermission() > 0)
{
RequestPermission(notification);
}
var icon = 'http://entidades.com/images/img999.png';
var title = 'AVISO';
var nroCasosPendientes = getNroCasosPendientes();
var nroRecorPendientes = getNroRecordatoriosPendientes();
if(nroCasosPendientes != '0' || nroRecorPendientes != '0')
{
var body = 'Tienes '+nroCasosPendientes+' Casos y '+nroRecorPendientes + ' Recordatorios pendientes.';
var popup = window.webkitNotifications.createNotification(icon, title, body);
popup.show();
setTimeout(function()
{
popup.cancel();
}, '5000');
popup.onclick = function()
{
abrirVentana('http://localhost:8080/Proyect/faces/Page.xhtml');
};
}
}
var timer = setInterval(function()
{
notification();
}, 10000);
</script>
</h:head>