Rafraichissement avec ajax

Nouveau WRInaute
Bonjour

je fais appel à votre aide car j'ai un peu de mal pour faire ce que j'aimerais.
J'ai sur mon site une sorte de mini "shootbox" et j'aimerais donc que les messages a l'intérieur s'actualisent toutes les secondes.
Les méthode document.reload et meta refresh rechargent la page, c'est génant visible et c'est pas ce que je veux.
Alors j'aimerais savoir s'il est possible avec ajax de rafraichir une iframe ou bien un div (peu importe, le plus simple) toute les secondes.

je vous remercie d'avance pour votre aide

EDIT: je précise que je doit afficher une page .php
 
Nouveau WRInaute
hm d'accord... Est ce que vous pourriez m'indiquer la marche à suivre si vous la connaissez ? s'il vous plait
 
Nouveau WRInaute
j'ai déjà cherché sur google. je ne comprends pas ajax, et je ne compte pas l'apprendre car je ne m'en servirais pas plus. sur google, on a des exemples pour changer ce qu'il y a écrit dans un div => <?php include() ?> n'affiche rien
ou charger un .txt ou .html dans une iframe, un .php après essai ne s'éxécute pas. voilà donc s'il vous plait j'aurais besoin d'un peu plus que google
 
WRInaute accro
flozza83 a dit:
j'ai déjà cherché sur google. je ne comprends pas ajax, et je ne compte pas l'apprendre car je ne m'en servirais pas plus.
donc la meilleure solution dans ton cas c'est de laisser le meta refresh
 
WRInaute discret
Si tu ne compte rien faire, rien apprendre, ne faire aucun effort et que tu compte sur nous pour te pondre un bout de code tout prêt je pense que tu t'es trompé d'adresse (et de métier si tu compte faire ca en tant que pro).
Ce que tu veux faire n'est absolument pas compliqué pour peu que tu te donne les moyens ...
 
Nouveau WRInaute
en fait, le metarefresh sous chrome et firefox, se voit (le titre se recharge, le curseur affiche l'attente...) et c'est genant. des visiteurs m'ont fait la remarque.donc c'est pas ce que je veux. la fonction document.reload() en javascript affiche les mêmes inconvénients.
 
Nouveau WRInaute
Babylon a dit:
Si tu ne compte rien faire, rien apprendre, ne faire aucun effort et que tu compte sur nous pour te pondre un bout de code tout prêt je pense que tu t'es trompé d'adresse (et de métier si tu compte faire ca en tant que pro).
Ce que tu veux faire n'est absolument pas compliqué pour peut que tu te donne les moyens ...

ne vous sentez pas abusé, je suis pret à y mettre les mains dedans. seulement, j'aimerais un peu plus que "google est ton ami". Et je ne suis pas pro du tout.

je précise d'ailleurs que j'ai essayé un tas de trucs et en vain. comme je vous l'ai dit <?php include() ?> n'affiche rien, et pas moyen d'exécuter un .php à la place des syntaxes de base pour un .txt ou un .html. Je ne suis donc même pas encore arrivé à l'étape d'auto rafraichissement. Avec un bouton je n'arrive pas à charger un php dans un div ou une iframe.
 
WRInaute discret
Ok ... pour faire ce que tu veux tu as besoin d'utiliser de l'ajax donc tu as 2 solutions :
- Tu veux absolument ta shoutbox avec refresh et tu trouve un script tout fait sur GG ou tu lis des tuto sur ajax (comme ici
http://www.snoupix.com/initiation-a-ajax-avec-jquery-partie-1_tutorial_20.html) et tu te fais ton propre bout de code.
- Tu abandonne ton idée de shoutbox

Sur un forum tu trouveras de l'aide si tu as un pbm sur un code déjà avancé, personne ne fera ton script ( sauf si tu le paye bien sur ;-) )
 
Nouveau WRInaute
Je vais faire un tour sur le lien pour voir ça.merci. j'ai déjà essayé de m'appuyer sur des scripts tout faits. seulement ils utilisent beaucoup de fonctions, comme gestion des membres, ban, etc... c'est pas du code pur, alors je ne m'y retrouve pas.
Par contre si vous voulez je peux vous poster ce que j'ai codé . seulement c'est pas une erreur, c'est un manque de connaissance pour la compatibilité ajax/php
 
Nouveau WRInaute
L'iframe:
<iframe id="shootbox" name="shootbox" src="affsh.php" class="chat"></iframe><input type="button" value="Rafraichir" onClick="rechargeFichier" />

Dans script.js:
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
function chargeFichier() {
// Création de l'objet
var XHR = new XHRConnection();
// Zone &agrave; remplir
XHR.setRefreshArea('shootbox');
// Chargement de la page
XHR.sendAndLoad("affsh.php';" />", "GET");
return true;
}

et juste avant <body ..>

<script type="text/javascript" src="script.js"></script>

Ou est ce que ça cloche ?
 
WRInaute discret
Ca va être difficile de t'aider avec juste ça ...
Qu'as tu comme erreur ?
As tu une page ou on peut tester ?

Juste comme ca par contre ta fonction appeler dans le onclick n'a pas le même nom que dans ton fichier
 
Nouveau WRInaute
Je viens d'essayer comme ça, et ça ne m'affiche rien: (j'ai essayé de suivre le lien du tuto que tu m'as conseillé)

Tout est dans shootbox.php

echo '<div style="background-color: whitesmoke;" id="shootbox" name="shootbox" class="chat">';
if (isset($_GET['contenu']) {
echo $_GET['contenu'];
}
else {
include("affsh.php");
}
echo '"</div><input type="button" value="raf" onClick="executer()" />';

Juste avant <body>:
<script type="text/javascript">
function executer(){

//Exécution du script PHP avec Ajax
$.get('affsh.php', {
contenu
}, function(data){}


});

}
}
</script>

Avec le code d'avant, et en corrigeant l'appel de fonction, j'avais pareil, absence d'affichage.
 
Nouveau WRInaute
merci passion pour ton aide. je pense que j'ai loupé un truc, voilà ce que j'ai mis:

<div class="chat" id="shootbox">Calque1</div>
<script type="text/javascript">
// <![CDATA[
function raf()
{
elementHTML = document.getElementById('shootbox');
var url = "affsh.php";
o_options = new Object();
o_options = {method:'get',frequency:1};
var laRequete = new Ajax.PeriodicalUpdater(elementHTML,url,o_options);
}
//]]>
</script>
<input type="button" value="Rafraichir" onClick="javascript:raf()">

dans shoutbox.php

quand je clique sur le bouton rafraichir, rien ne change. Ou est mon erreur ?
 
Nouveau WRInaute
J'ai remarqué qu'il y avait un lien vers prototype.js. j'ai donc copié le code qu'il y avait dans prototype.js et pour le reproduire sur mon site... ça marche à merveille! c'est tellement simple.Tout mes remerciements passion!
 
WRInaute accro
Content d'avoir pu t'aider :)
Effectivement, tu n'as pas besoin de bouton rafraichir car à intervale régulier, la function va mettre à jour ton élément par id
 
Nouveau WRInaute
Bonjour !

Je déterre ce topic, car je viens de me rendre compte que ce script, qui fonctionne sous google chrome et firefox, n'en fait pas de même sur Internet explorer..

Est-ce normal ?
 
Discussions similaires
Haut