IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Actualisation automatique sous IE


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2014
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2014
    Messages : 11
    Points : 8
    Points
    8
    Par défaut Actualisation automatique sous IE
    Salut !

    Je m'adresse à vous experts dans le domaine, j'ai un problème concernant l'actualisation automatique d'une div sous les versions d'Internet Explorer =< 9, en effet j'ai une div qui est censé s'actualiser toutes les 3 secondes comprenant le nombre d'utilisateurs en temps réels d'une application, tout cela se fait à l'aide d'un fichier Json qui récupère les valeurs en temps réels et l'affichage se fait sur un site web (en cours de construction), Sur les principaux navigateurs ( Chrome, Mozilla, IE10 et +...) ça marche très bien mais sur IE =< 9 les valeurs ne sont pas actualiser automatiquement et ça a tendance à garder la valeur initial meme après l'actualisation de la page à la main...

    D'avance merci pour votre aide

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    var counter = 0;
    window.setInterval("refreshDiv()", 6000);
    function refreshDiv(){
      var req = false;
      // For Safari, Firefox, and other non-MS browsers
      if (window.XMLHttpRequest) {
        try {
          req = new XMLHttpRequest();
        } catch (e) {
          req = false;
        }
      } else if (window.ActiveXObject) {
        // For Internet Explorer on Windows
        try {
          req = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
          try {
            req = new ActiveXObject("Microsoft.XMLHTTP");
          } catch (e) {
            req = false;
          }
        }
      }
      req.open('GET', "readcpt.php?id=1", false);
      req.send(null);
      document.getElementById("cpt").innerHTML = req.responseText + " kW";
      var elm = document.getElementById("cpt");
      var newOne = elm.cloneNode(true);
      elm.parentNode.replaceChild(newOne, elm);
      req.open('GET', "readcpt.php?id=3", false);
      req.send(null);
      document.getElementById("cpt3").innerHTML = req.responseText + " kW";
      var elm3 = document.getElementById("cpt3");
      var newOne3 = elm3.cloneNode(true);
      elm3.parentNode.replaceChild(newOne3, elm3);
     req.open('GET', "readcptmax.php?id=4", false);
     req.send(null);
     document.getElementById("cpt2").innerHTML = req.responseText ;
     var elm2 = document.getElementById("cpt2");
     var newOne2 = elm2.cloneNode(true);
     elm2.parentNode.replaceChild(newOne2, elm2);
     req.open('GET', "readcptmax.php?id=6", false);
     req.send(null);
     document.getElementById("cpt4").innerHTML = req.responseText ;
     var elm4 = document.getElementById("cpt4");
     var newOne4 = elm4.cloneNode(true);
     elm4.parentNode.replaceChild(newOne4, elm4);
     req.open('GET', "readcptmax.php?id=1", false);
     req.send(null);
     document.getElementById("cpt5").innerHTML = req.responseText + " kW";
     var elm5 = document.getElementById("cpt5");
     var newOne5 = elm5.cloneNode(true);
     elm5.parentNode.replaceChild(newOne5, elm5);
     req.open('GET', "readcptmax.php?id=3", false);
     req.send(null);
     document.getElementById("cpt6").innerHTML = req.responseText + " kW";
     var elm6 = document.getElementById("cpt6");
     var newOne6 = elm6.cloneNode(true);
     elm6.parentNode.replaceChild(newOne6, elm6);

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Relis la doc sur Ajax et les callback.
    Mets (quasi) tout ce que tu as fai à la poubelle et refais le en suivant les règles.

    On pourrait chercher à retoucher ici ou là ton code mais c'est dans le principe qui est faux.

    Une fois que tu auras un appel ajax correct un simple timer permettra d'actualiser ton contenu automatiquement.

    A+JYT

  3. #3
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    pourquoi ne pas limiter les appels, même URL, et de faire un retour sous forme d'un objet JSON, ensuite pour IE ne serait ce pas un problème de cache ?

    Pourquoi mon xhr ne se met pas à jour (problème de cache) ?

    PS: suit le conseil de sekaijin et factorise .

Discussions similaires

  1. Actualiser automatiquement un graphique sous Word 2007
    Par dvnodens dans le forum VBA Word
    Réponses: 0
    Dernier message: 29/10/2007, 16h03
  2. Réponses: 5
    Dernier message: 03/03/2006, 10h00
  3. Numérotation automatique sous-formalaire
    Par stephane_37 dans le forum Access
    Réponses: 1
    Dernier message: 23/01/2006, 17h05
  4. problème de selection automatique sous access...
    Par Moustique67 dans le forum Access
    Réponses: 4
    Dernier message: 29/11/2005, 00h33
  5. [formulaire] Actualiser un sous-formulaire
    Par grenet dans le forum IHM
    Réponses: 2
    Dernier message: 09/11/2005, 09h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo