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);