Forum-webmaster
Technique - programmation => Javascript / DOM / Ajax => Message commencé par: epice le le 07-04-2010 a 00:14:02

Titre: problème rafraichissement div
Posté par: epice le le 07-04-2010 a 00:14:02

bonsoir ,
j'ai un script de rafraichissement automatique d'une div

jusque là tout fonctionne

çà se complique quand je veux rafraichir 2 div différentes

voici le code :

<script>
var oO =
{
   'tempoXHR': 3000,
   'tempoRefresh': 5000,
   'url': 'http://sevencam.eu/chat/script.php',

   connect: function(oElem, sEvType, fn, bCapture)
   {
      return document.addEventListener ?
         oElem.addEventListener(sEvType, fn, bCapture):
         oElem.attachEvent ?
            oElem.attachEvent('on' + sEvType, fn):
            false;
   },

   aTag: function(oEl, sTag)
   {
      return oEl.getElementsByTagName(sTag);
   },

   bXHRSupport: (typeof XMLHttpRequest != "undefined"),

   bActiveXSupport: (window.ActiveXObject),

   aMSXML: ["Microsoft.XMLHTTP",
      "MSXML2.XMLHTTP", "MSXML2.XMLHTTP.3.0",
      "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.5.0",
      "MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.7.0"],

   createXHR: function()
   {
      if(oO.bXHRSupport)
         return new XMLHttpRequest;
      else if(oO.bActiveXSupport)
      {
         var iI;
         
         iI = oO.aMSXML.length;

         do
         {
            try
            {
               return new ActiveXObject(oO.aMSXML[--iI]);
            }
            catch(oError) { };
         }
         while(iI > 0);
         
         throw new Error("L'objet oXHR n'a pas été créé");
      }
   },

   getXHR: function(oReq)
   {
      var oXHR, oTimer;
      
      oXHR = oO.createXHR();
      oO.oReq = oReq;

      oXHR.open(oO.oReq['method'], oO.oReq['url'], true);

      oTimer = setTimeout(
         function()
         {
            if(oXHR)
               return oXHR.abort();
         },
         oO['tempoXHR']
      );

      oXHR.onreadystatechange = function()
      {
         if(oXHR.readyState === 4)
            if(oXHR.status && /200|304/.test(oXHR.status))
            {
               clearTimeout(oTimer);

            oO.oReq['response'] = oXHR.responseText;

            if(oO.oReq['callback'])
               (oO.oReq['callback'])();
            }
      }

      oXHR.setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");

      if(oO.oReq['method'] === 'post')
         oXHR.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

      return oO.oReq['method'] === 'get' ?
         oXHR.send(null):
         oXHR.send(oO.oReq['param']);
   },

   control: function(oEl)
   {
      return setInterval(
         function()
         {
            return oO.getXHR(
               {
                  'cible': oEl,
                  'url': oO['url'],
                  'method': 'get',
                  'callback': function()
                  {
                     return oO.refresh(oO.oReq['cible'], oO.oReq['response']);
                  }
               }
            );
         },
         oO['tempoRefresh']
      );
   },
   
   refresh: function(oEl, sResponse)
   {
      return oEl.innerHTML = sResponse;
   },
   
   init: function()
   {
      var aDivs, iDiv;
      
      aDivs = oO.aTag(document, 'div');
      iDiv = aDivs.length;
      
      do if(aDivs[--iDiv].className === 'kissss')
         oO.control(aDivs[iDiv]);
      while(iDiv > 0);
      
      return true;
   }
};

oO.connect(window, 'load', oO.init, false);
</script>

kisss est le nom de la div ( div class="kissss" )
normalement le script on peut le mettre dans un fichier script.js dans le même dossier.
je sais pas comment faire pour utiliser le même script pour 2 div différente

je l'ai collé 2 fois dans le head de la page en changeant le :

do if(aDivs[--iDiv].className === 'kissss')

dans chaque script mais çà ne fonctionne pas :une div prend le dessus sur l'autre

auriez vous une solution pour rafraichir deux div ou plus dans une même page

merci

Titre: Re:problème rafraichissement div
Posté par: Ether Création le le 20-05-2010 a 16:47:31

Url de la page ?


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.