0

10秒ごとにこのajaxを呼び出して受信メール数をリロードします。
一度に 5 つ以上のタブでアプリケーションを開くことがあります。
明らかに、各タブはこのajaxを呼び出そうとするため、PCが非常に熱くなります:(

アクティブなタブでのみこの ajax を実行したい。したがって、タブがアクティブでない限り、残りの 4 つのタブは ajax を呼び出すべきではありません。

その条件をこれにどのように実装できますか?

refresh_mail_count.js

jQuery(document).ready(function () {
    refreshMail();
});


function refreshMail() {
  $.ajax({
    url: "/messages/refresh_mail",
    type: "GET",
    dataType: "script",
  });
}

refresh_mail.js.erb

$('#message_count').html("<%= j(render(:partial => 'layouts/message_received_count', :object => @message_count)) %>");
setTimeout(refreshMail,10000);
4

0 に答える 0