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