在Javascript中轮询TImers。如何最小化服务器上​​的负载?

时间:2011-06-19 08:08:20

标签: javascript jquery timer jsf-2

我正在编写一个JSF(+ Jquery)网页,我需要运行一些计时器才能轮询信息。

我的问题是,如何最小化服务器上​​的负载? 我目前的解决方案有一些优化:

  1. 仅在当前AJAX选项卡时轮询 活跃。
  2. 仅在轮询时 当前标签/ Windows处于活动状态。
  3. 处理此问题的jQuery代码是:

    var interval_id;
    $(window).focus(function() {
        intervalID = setInterval(updateLastBackupMsg, 2000);
    });
    
    $(window).blur(function() {
        clearInterval(intervalID);
    });
    
    updateLastBackupMsg()
    {
        var isSyncHidden = $('#last_backup_date_msg').is(":visible");
    
        if (!isSyncHidden) {
            $('#sync_tab_contents input:hidden').change();
        }
    }
    

    是否有更多常见的优化提示? 例如,我应该如何处理多个计时器?有一个轮询功能可以处理所有事件是否有益?

    谢谢!

0 个答案:

没有答案