5568 sujets

Sémantique web et HTML

Bonjour,

J'utlisie wordpress pour afficher des infos sur un écran, j'ai besoin pour cela qu'il se rafraîchisse tout les minutes.

Pour cela j'utilise ce petit javascript pour contrôler que je suis bien connecter au web et faire le refresh.
var timeout = null;
 
setInterval(function () {
    if (navigator.onLine) {
        if (timeout === null) {
            timeout = setInterval(function(){window.location.href = "";},10000);
        }
    } else {
        clearTimeout(timeout);
        timeout = null;
        // ...
   }
}, 250);



Mon problème c'est que j'utilise ce système sur androide avec un browser Baidu Browser qui est vraiment parfait pour un affichage pleine page.
mais il ne tien pas compte de la vérification pour être en ligne et j'ai souvent des page erreur 404 lors de déconnexion.

Y a t-il un moyen pour le rendre plus compatible`

Merci de votre aide.
salut,
ce truc devrait plutôt se faire en AJAX et ne rafraîchir que ce dont tu as besoin.
Si non tu peux toujours vérifier si le navigateur est connecté en JS avec

navigator.onLine

c'est un booléen qui te renvoi donc true/false.
Merci de ton aide, mais c'est ce que je fais
if (navigator.onLine) {
ou j'ai loupé autre chose?

pour l'ajax as-tu un exemple? je ne sais pas trop comment m'y prendre
doublemetre a écrit :
Merci de ton aide, mais c'est ce que je fais
if (navigator.onLine) {
ou j'ai loupé autre chose?

pour l'ajax as-tu un exemple? je ne sais pas trop comment m'y prendre

arfff exact, je n'avais même pas vu ton code. Un exemple AJAX serait assez long, tu devrais plutôt te renseigner sur ça sur Google. Si tu utilises JQuery, ça te simplifiera beaucoup la tâche.
Bonjour, j'ai donc trouvé une solution avec ce script, cependant je rencontre un problème sous Firefox il me bloque mon diaporama, mais rafraîchi bien ma page
Est-ce que quel'un peux me valider ce code?

<script type="text/javascript">

var timeout = null;

setInterval(function () {
      if  ( serverReachable ())  { 
        if (timeout === null) {
            timeout = setInterval(function(){window.location.href = "";},60000);
        }
    } else {
        clearTimeout(timeout);
        timeout = null;
        // ...
   }
}, 250);

function serverReachable() {
  var x = new ( window.ActiveXObject || XMLHttpRequest )( "Microsoft.XMLHTTP" ),
      s;
  x.open(
    "HEAD",
    "//" + window.location.hostname + "/?rand=" + Math.random(),
    false
  );
  try {
    x.send();
    s = x.status;
    return ( s >= 200 && s < 300 || s === 304 );
  } catch (e) {
    return false;
  }
}
</script>