Visibility API - Demo
http://pt.stackoverflow.com/questions/150432/ajax-polling-compartilhado-entre-abas
by brunogc
HTML
<div id="log">
</div>
CSS
p{color:#fff;font-family:arial;padding:3px;background-color:blue}
.true{background-color:green;}
.false{background-color:red;}
JavaScript
var timer = 0;
var period = 5000;
var visible = true;
function onLoad() {
timer = setInterval(checkLog, period);
if(document.addEventListener) document.addEventListener("visibilitychange", visibilityChanged);
}
function visibilityChanged() {
visible = (document.hidden)? false : true;
document.getElementById("log").innerHTML += '<p>Visibilidade mudou: '+document.hidden+'</p>';
}
function checkLog() {
document.getElementById("log").innerHTML += '<p class="'+visible+'">'+new Date()+'</p>';
}
onLoad();
checkLog();