Uutiset:

Ei uusia uutisia.

Main Menu

Ajaxiin päivitys

Aloittaja weatherc, torstai, 22.09.2011, 17:32

« edellinen - seuraava »

0 Jäsenet ja 1 Vieras katselee tätä aihetta.

weatherc

Törmäsin puolisattumalta koodipätkään joka pitää silmällä että onko selaimen ikkuna aktiivinen vai ei. Pienen testin kautta sain sen implentoitua tuohon ajaxiin joka päivittää etusivun mittareita sekä yläbanneria.
Tuloksena että jos siirtyy selaimella toiseen ikkunaan ajax pysähtyy ja kun tulee takaisin se jatkaa taas päivitystä. Myös "max päivitystä"-laskuri pysähtyy joten se 60 päivitystä (eli 6 min yhteen menoon katseltuna) voi riittää aika kauankin ja samalla säästyy kaistaa kun se ei päivity vaikkei kukaan sitä katsele ;)

js-pätkä (jQuery) jota siihen tarvitaan on seuraava,
- update on se funktio jota se kutsuu eli itse ajax:
- iteration on päivityslaskuri
- updates on max päivityksiä
 
  var updates=60;
  var timeout=10;
  var iteration = 0;
  var active = true;
  var aa = 0;

   function showIsActive() {
   $(window).focus(function() { active=true; });
   $(window).blur(function() { active=false; });
   if(active){aa++;}else{aa=0;}
   var x=aa%timeout;
   if(x==1 && iteration < updates){update();}
   window.setTimeout(showIsActive, 1000);
  };
  showIsActive();