每 10 秒,它调用这个 ajax 来重新加载收到的邮件数。
有时,我一次在超过 5 个选项卡上打开我的应用程序。
显然每个选项卡都试图调用这个 ajax,所以我的电脑变得如此热:(
我只想在处于活动状态的选项卡中运行这个 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);