Salut à tous,
Voilà je suis en train de développer un site pour un "client" (mes parents en fait
), et ce site utilise de l'AJAX.
L'objectif est en fait de compter le nombre de visiteurs présents sur le site (approximé, bref, ça n'a rien à voir). Le résultat de la requête (php/mysql) est affichée sur ma page 'index.php' via un script javascript (ajax).
La caractéristique asynchrone était en effet intéressante car mon hébergeur a tendance à trainer quelque fois, et je ne voulais pas priver le client de données lors du chargement, juste pour voir combien de personnes étaient connectées...
Donc, j'ai testé mes codes via plusieurs navigateurs (à savoir: Internet Explorer 6, Firefox 2, Opera 9 et Safari 3 (pas encore testé sous IE 7)). Tout fonctionne très bien: les connections mysql via php se font bien (ça n'a rien à voir avec le navigateur mais c'est toujours bon à savoir, je crois...
), la requête ajax affiche ce que je veux, bref, tout va bien.
Sauf 1 brique qui fait s'écrouler tout l'édiffice: Sous Internet Explorer, lors du chargement, une scrollbar qui vient je-ne-sais-d'où se fixe au <div> principale. La taille de ce div n'a pourtant pas été mentionnée dans la feuille de style ! Cela ne se produit pas tout le temps sous IE, mais assez pour que ce soit... vraiment moche (ça ne colle en plus pas au design alors...) voila. Je vai mettre certains des codes en dessous, et si quelqu'un peut m'aider j'en serais ravi.
Structure globale de la page, une fois que tout est chargé
Fonction javascript qui écrit dans la page (JSON, donc pas d'affollement si là comme ça, ça ne veut rien dire)
Réponse du serveur lors de la requête de comptage
Le script php retourne simplement: x visiteur(s)
Voila c'est tout. Tout le site est dispo. à www.just1dks.be/ecole
Merci d'avance
Justin
Modifié par just1dks (04 Apr 2008 - 09:48)
Voilà je suis en train de développer un site pour un "client" (mes parents en fait

L'objectif est en fait de compter le nombre de visiteurs présents sur le site (approximé, bref, ça n'a rien à voir). Le résultat de la requête (php/mysql) est affichée sur ma page 'index.php' via un script javascript (ajax).
La caractéristique asynchrone était en effet intéressante car mon hébergeur a tendance à trainer quelque fois, et je ne voulais pas priver le client de données lors du chargement, juste pour voir combien de personnes étaient connectées...
Donc, j'ai testé mes codes via plusieurs navigateurs (à savoir: Internet Explorer 6, Firefox 2, Opera 9 et Safari 3 (pas encore testé sous IE 7)). Tout fonctionne très bien: les connections mysql via php se font bien (ça n'a rien à voir avec le navigateur mais c'est toujours bon à savoir, je crois...

Sauf 1 brique qui fait s'écrouler tout l'édiffice: Sous Internet Explorer, lors du chargement, une scrollbar qui vient je-ne-sais-d'où se fixe au <div> principale. La taille de ce div n'a pourtant pas été mentionnée dans la feuille de style ! Cela ne se produit pas tout le temps sous IE, mais assez pour que ce soit... vraiment moche (ça ne colle en plus pas au design alors...) voila. Je vai mettre certains des codes en dessous, et si quelqu'un peut m'aider j'en serais ravi.
Structure globale de la page, une fois que tout est chargé
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<meta http-equiv="Content-Language" content="fr" />
<base href="http://www.just1dks.be/ecole/" />
<style type="text/css" media="screen">@import url("./annexes/screenStyle.css");</style>
<!--[if IE]>
<style type="text/css" media="screen">
table#banniere_zone { width: 855px; }
ul#menu_zone { width: 900px; }
div#main { width: 855px; }
</style>
<![endif]-->
<script type="text/javascript" src="./scripts/visitesCount.js"></script>
<title>Cours d'Alembert A.S.B.L.</title>
</head>
<body>
<table summary="banniere" id="banniere_zone">
header
</table>
<div id="altTitle">
<h1>Cours d'Alembert A.S.B.L.</h1>
<hr />
</div>
<ul id="menu_zone">
menu
</ul>
<div id="main">
<div id="image_zone">
<img src="./annexes/bienvenue.png" width="175" height="450" alt="bienvenue" id="image" />
</div>
<div id="texte_zone">
<h3>
CENTRE DE RATTRAPAGE ET DE GUIDANCE SCOLAIRE
</h3>
<span>
Notre mission
</span>
<p>
texte
</p>
<hr />
<div class="small">
5519 visites depuis le 1er janvier 2005
</div>
<div class="small" id="nbVisiteurs"> </div>
</div>
</div>
<div id="footer">
Dernière modification le Mardi 1<sup>er</sup> Avril 2008
<address>Webmaster: Just'1 Dks.</address>
</div>
<script type="text/javascript">
new visitesCount();
</script>
</body>
</html>
Fonction javascript qui écrit dans la page (JSON, donc pas d'affollement si là comme ça, ça ne veut rien dire)
format: function(param) { document.getElementById("nbVisiteurs").innerHTML = "Il y a actuellement " + param + " sur le site"; }
Réponse du serveur lors de la requête de comptage
Le script php retourne simplement: x visiteur(s)
Voila c'est tout. Tout le site est dispo. à www.just1dks.be/ecole
Merci d'avance
Justin
Modifié par just1dks (04 Apr 2008 - 09:48)