begin process at 2012 05 29 01:40:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

Framework

 > 

Ajax

 > 

Aide sur amélioration script


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Aide sur amélioration script

vendredi 19 août 2011 à 10:38:49 | Aide sur amélioration script

pascalv

Bonjour à vous tous,
J'ai récupéré un script Ajax, qui permet d'actualiser une "div" et seulement elle.
Code Javascript :
function timer(div, page){	
comp=(setTimeout("go()",0));
}
 
function getXhr(){
var xhr = null; 			
if(window.XMLHttpRequest) 
xhr = new XMLHttpRequest(); 
else if(window.ActiveXObject){ // Internet Explorer 
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
 }
}
else { // XMLHttpRequest non supporté par le navigateur 
 alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
	xhr = false; 
		} 
     return xhr
	}
 
function go()
{
var xhr = getXhr()
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function()
{
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200)
	{
var html = xhr.responseText;
document.getElementById('DIV_A_ACTUALISER').innerHTML = html;
// DIV_A_ACTUALISER: C'est ici que l'on précise le nom de la div à actualiser 
 }
	}
	xhr.open("GET",'PAGE.PHP',true);
// PAGE.PHP: C'est ici ou l'on précise le nom du fichier.
	xhr.send(null);
	setTimeout('go()',2500000);
}

Il suffit d'appeler la fonction ainsi :

Code Javascript :
javascript:timer();


Ce que je voudrait c'est de pouvoir donner les infos depuis l'appel Javascript pour utiliser ce script pour toutes les DIVs et PAGEs.
Et pas seulement : "DIV_A_ACTUALISER" et "PAGE.PHP"
Mais les préciser dans l'appel Javascript
Code Javascript :
javascript:timer('Div2', 'page2.php');

Merci de votre aide
J'espère avoir été assez clair...



vendredi 19 août 2011 à 13:40:36 | Re : Aide sur amélioration script

Zobibol

Membre Club
Bien le bonjour,

je pense que j'ai saisi, mais je ne garantie rien ;o)

Code HTML :
<html>
	<head>
		<script type="text/javascript">
			// Vraiable de l'interval
			var inter=null;
			// Variable à supprimer, uniquement la pour le débuggage.
			var countForDebug = 0;
			
			/**
			* Déclenche un timer sur la page url et mets à jour la div idComp
			* @param url: url à atteindre.
			* @param idComp : identifiant du composant à mettre à jour.
			*/
			function timer(url, idComp){	
				// Déclenche un interval.
				// dans mon cas j'ai réglé sur 1000 (soit une seconde, 2500000, ça fait beaucoup...... )
				inter = setInterval('navigate("'+url+'", "'+idComp+'")',1000);
			}
			 
			/**
			* Retourne une instance pour les requête ajax.
			*/
			function getXhr(){
				var xhr = null; 			
				if(window.XMLHttpRequest) 
					xhr = new XMLHttpRequest(); 
				else 
					if(window.ActiveXObject){ // Internet Explorer 
					try {
					xhr = new ActiveXObject("Msxml2.XMLHTTP");
					 } catch (e) {
					xhr = new ActiveXObject("Microsoft.XMLHTTP");
					 }
					}
				else { // XMLHttpRequest non supporté par le navigateur 
				 alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); 
					xhr = false; 
				} 
					 return xhr
			}
			
			/**
			* Fonction de navigation ajax.
			* @param url : url à atteindre.
			* @param componentId : identifiant du composant à mettre à jour.
			*/
			function navigate (url, componentId){
				var xhr = getXhr()
				// On défini ce qu'on va faire quand on aura la réponse
				xhr.onreadystatechange = function()
				{
				// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
				if(xhr.readyState == 4 && xhr.status == 200)
					{
					var html = xhr.responseText;
					// Pour mes besoins, j'ai rajouter un compteur afin de m'assurer que la div se rafraîchissait.
					// il faut donc supprimer: + " having count= " +(countForDebug++)
					document.getElementById(componentId).innerHTML = html + " having count= " +(countForDebug++);
					}
				}
				xhr.open("GET",url,true);
				xhr.send(null);
			}
		
			/**
			* Sur le déchargement de la page, il faut tuer le timer.
			*/
			window.onunload=function(){
				clearInterval(inter);	
			}
		</script>
	</head>
	<body>
		<input type="button" onclick="timer('essais.html','test')" />
		<div id="test" style="position:absolute;top:20px; left:250px; width:200px; height;200px;"></div>
	</body>
</html>


ceci ne conviendrait-il pas, l'appel à la méthode timer se fait avec deux paramètres: le premier est l'url à atteindre la seconde est l'identifiant du composent à mettre à jour.
Ensuite pour d'autre besoin (sans timer... par exemple), l'utilisation se fait via la méthode navigate qui accepte les deux même paramètres que la méthode timer.



[o-_-o]


Cette discussion est classée dans : script, code, xhr, div, actualiser


Répondre à ce message

Sujets en rapport avec ce message

utiliser le script d'ajax deux fois dans la meme fonction [ par kelouazzani ] bonsoir je veux exécuté un script d'ajax deux fois dans la même fonction, la deuxième fois c'est avec un paramètre de plus. voila mon code : [code=js JAVASCRIPT/PHP probleme script treeview [ par webmatt ] Bonjour, je travail pour l'instant en local (wamp2) en php avec une base Postgresql et au format PDO. j'ai réalisé un petit script d'un treeview, qui Chargement d'une classe externe [ par DakM ] Bonjour ! Voici mes scripts: D'un côté, déjà présent dans le html .. dans une classe X j'ai [code=js] prepair: function() { js = new Element('scrip Actualiser une div lorsqu'un formulaire en include est posté. [ par monoski ] Bonsoir tout le monde, Je désire actualiser une div contenant une valeur récupérée à partir d'une base de donnée Mysql, dès lors qu'un formulaire con Pobleme jquery sous ie [ par pereweed ] Bonjour a tous, J'ai un problème avec mon script Jquery, mon Js... [code=js] $(document).ready(function() { $('.accordeon').hide(); // on cache tou Retailler div apres chargement image [ par jashugan ] Bonjour, Voilà mon problème, j'ai une lightbox que j'affiche, dans cette lightbox j'ai une image qui se charge. J'ai une fonction javascript qui me Récuperer la taille d'un DIV [ par tious82 ] Bonjour, J'ai une page dans laquelle j'ai un div (jusque là tout va bien), Je remplis ce div a l'aide d'une fonction Ajax ( tout va bien encore! ) L Fonction php couplée à ajax : Ca ne fonctionne pas pourquoi ??? [ par StevenL86 ] Hello, Me revoilà avec mes cas foireux [^^happy8]. Ce coup çi,j'ai écrit un script php que voici :[code=php] $var=$_GET['id']; $val=$var+1; $texte=$_G Fonction php couplée à ajax : Ca ne fonctionne pas pourquoi ??? [ par StevenL86 ] Hello, Me revoilà avec mes cas foireux [^^happy8]. Ce coup çi,j'ai écrit un script php que voici :[code=php] $var=$_GET['id']; $val=$var+1; $texte=$_G el.onclick = function([param]){}; [ par xactise ] Bonjour à tous. je vous expose mon problème. J'intéroge une base de donnée avec ajax, je récupère les donnée souhaité au format JSON, et j'utilise c


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,452 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales