IE

Bonjour,
J'aimerais rendre ce code compatible :

<html>
<head>
<script language="JavaScript" type="text/javascript">
function updateShouts(){
// Assuming we have #shoutbox
$('#messchat').load('messchat.php');
}
setInterval( "updateShouts()", 1000 );
</script>
</head>
<body>
<div id="messchat">
</div>
</body>
</html>

Merci

11 réponses

  1. Il vaut mieux passer une référence vers la fonction plutôt qu'une chaîne à évaluer ; de plus, lancer le timer une fois que la page est entièrement chargée est préférable :

    function updateShouts(){ 
        $('#messchat').load('messchat.php'); 
    }
    onload = function(){
        setInterval(updateShouts, 1000 );
    }
    
    1
    1. Ce ne marche toujours pas :/
      0
      1. Ou j'ai bien intégré la librairie, il existe aussi un page "messchat.php".

        Tout fonctionne parfaitement sur Mozilla, mais je ne parle pas de IE... Juste pour infos, Windows a completement abandonné XP, IE9 ne fonctionne que sur Vista et 7 !
        0
        1. C'est assez difficilement croyable. Est-il possible d'avoir un lien vers la page en question ?
          0
          1. http://testfelix.free.fr/Site%20Louis/
            0
            1. Saleté d'IE...
              Apparemment, il garde le contenu de 'messchat.php' en cache.

              On peut bidouiller en remplaçant son URL par :
              'messchat.php?' + (new Date()).getTime()
              dans le code JavaScript (testé de mon côté).

              (new Date()).getTime() permet d'obtenir le timestamp actuel.
              Ainsi, IE verra chaque requête comme étant dirigée vers une nouvelle page.
              0
              1. Pourrais tu me donner le code js complet s'il te plaît. :) J'ai appris un tout petit peu de js mais pas assez, je vois comment ça marche, mais je m'aide des autres languages...

                Merci beaucoup :)

                Félix
                0
                1. function updateShouts(){
                      var url = 'messchat.php' + (new Date()).getTime();
                      $('#messchat').load(url);
                  }
                  onload = function(){
                      setInterval(updateShouts, 1000 );
                  }
                  0
                  1. Ca ne marche pas... Ni avec IE ni avec FF. Je pense que je vais juste faire un rechrgement de la page pour IE...

                    thedragooncreator.free.fr
                    0